diff --git a/ansible/roles/bifrost/tasks/config.yml b/ansible/roles/bifrost/tasks/config.yml index 11a59a6d3c..dac9d25cbe 100644 --- a/ansible/roles/bifrost/tasks/config.yml +++ b/ansible/roles/bifrost/tasks/config.yml @@ -35,15 +35,16 @@ - { src: "id_rsa.pub", dest: "id_rsa.pub" } - { src: "ssh_config", dest: "ssh_config" } -# NOTE(mgoddard): The following two tasks were lifted from the Bifrost plays. -# Because Bifrost cannot modify /etc/hosts from within the container we must -# do it here. -- name: "RabbitMQ - Testing if hostname is defined in /etc/hosts" - command: grep -i "{{ ansible_hostname }}" /etc/hosts - ignore_errors: yes - register: test_grep_fix_hostname - -- name: "RabbitMQ - Fixing /etc/hosts" - command: sed -i 's/localhost/{{ ansible_hostname }} localhost/' /etc/hosts - when: test_grep_fix_hostname.rc != 0 - become: True +# NOTE(mgoddard): The following task was lifted from a Bifrost play +# (playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml). Because +# Bifrost cannot modify /etc/hosts from within the container we must do it +# here. +- name: "Ensure /etc/hosts has good defaults" + lineinfile: + dest: "/etc/hosts" + regexp: "{{ item.regexp }}.*({{ ansible_hostname }}|localhost).*" + line: "{{ item.contents }}" + with_items: + - { regexp: '^127\.0\.0\.1', contents: '127.0.0.1 {{ ansible_hostname }} {{ ansible_fqdn }} localhost' } + - { regexp: '^::1', contents: '::1 {{ ansible_hostname }} {{ ansible_fqdn }} localhost ipv6-localhost ipv6-loopback' } + become: true