summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2018-07-31 16:14:25 -0400
committerTim Rozet <trozet@redhat.com>2018-07-31 16:14:25 -0400
commitfb2878c414eeb144de72e8204d0988236a684122 (patch)
treeb0433a7335a49322ce321acf383b7bebd414e7b0
parent03d3f7b385c809bc4c7e69619dbdc0e7ed830bd6 (diff)
Use metadata IP instead of FQDN
There is an issue with loss of external network connectivity that prevents cloud init to instances working. This becomes a big problem with snapshots where there is no external network connectivity. Cloud init fails because each request takes over 30 seconds to get a response. This is because in the background neutron metadata agent is proxying the request to nova metadata agent with an HTTP GET using the FQDN. For whatever reason, a DNS lookup happens even though the entry exists for the FQDN in /etc/hosts and waits 30 seconds until timing out. After this timeout, a 200 OK is sent and metadata works. This patch modifies the config file for metadata to use nova metadata server's internal IP rather than FQDN as there is no option in OOO to use IPs instead of FQDN. Change-Id: I6960181a227d0002c99aeae5112f59807dc41d7a Signed-off-by: Tim Rozet <trozet@redhat.com>
-rw-r--r--lib/ansible/playbooks/post_deploy_overcloud.yml11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/ansible/playbooks/post_deploy_overcloud.yml b/lib/ansible/playbooks/post_deploy_overcloud.yml
index 372aea49..08460a06 100644
--- a/lib/ansible/playbooks/post_deploy_overcloud.yml
+++ b/lib/ansible/playbooks/post_deploy_overcloud.yml
@@ -90,3 +90,14 @@
- name: save iptables
command: service iptables save
become: yes
+ - name: Modify nova metadata host to be IP
+ shell: >
+ crudini --set /var/lib/config-data/puppet-generated/neutron/etc/neutron/metadata_agent.ini
+ DEFAULT nova_metadata_host $(hiera -c /etc/puppet/hiera.yaml nova_metadata_vip)
+ become: yes
+ when: "'controller' in ansible_hostname"
+ - name: Restart metadata service
+ shell: "docker restart neutron_metadata_agent"
+ become: yes
+ when:
+ - "'controller' in ansible_hostname"