Workaround for Bifrost being unable to write to /etc/hosts
Bifrost cannot modify /etc/hosts from within a container, so add a
host entry during bootstrap.
This was previously fixed by Ied378b4dd755788e75ad1814cecb5700732ba83e
but the logic in bifrost was changed [1], making it out of sync with
kolla-ansible, and triggering a write to /etc/hosts. This change applies
the new logic in bifrost to kolla-ansible, ensuring that the file will
not need to change in the container.
Longer term we should look at ways to make bifrost less eager to modify
/etc/hosts, accepting any file that will work for RabbitMQ.
[1]
60b9a9917e
Change-Id: I0ee05feae3630435b2ec52cfeddf33647a974ee0
Closes-Bug: #1661009
This commit is contained in:
parent
6b1ef3ffcb
commit
376c607f37
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user