From bcf60969e320e2c1cb52aae7523278745bd298ad Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Tue, 8 Dec 2015 10:52:10 +0100 Subject: [PATCH] openstack: support /etc/network/intefaces injection Not all OpenStack providers have a dhcp server. Some of them (dreamcompute for instance) may inject /etc/network/interfaces with a pre-configured stanza. It is not enough to set the dns server in the dhcp client configuration, it also needs to be set directly in /etc/resolv.conf when that has no effect. http://tracker.ceph.com/issues/14024 Fixes: #14024 Signed-off-by: Loic Dachary --- teuthology/openstack/openstack-debian-8.0-user-data.txt | 1 + teuthology/openstack/openstack-ubuntu-12.04-user-data.txt | 1 + teuthology/openstack/openstack-ubuntu-14.04-user-data.txt | 1 + 3 files changed, 3 insertions(+) diff --git a/teuthology/openstack/openstack-debian-8.0-user-data.txt b/teuthology/openstack/openstack-debian-8.0-user-data.txt index d64abf4fb8..8a361700de 100644 --- a/teuthology/openstack/openstack-debian-8.0-user-data.txt +++ b/teuthology/openstack/openstack-debian-8.0-user-data.txt @@ -4,6 +4,7 @@ bootcmd: - echo 'prepend domain-name-servers {nameserver};' | sudo tee -a /etc/dhcp/dhclient.conf - echo 'supersede domain-name "{lab_domain}";' | sudo tee -a /etc/dhcp/dhclient.conf - ifdown eth0 ; ifup eth0 + - grep --quiet {nameserver} /etc/resolv.conf || ( echo 'nameserver {nameserver}' ; echo 'search {lab_domain}' ) | sudo tee /etc/resolv.conf - ( curl --silent http://169.254.169.254/2009-04-04/meta-data/hostname | sed -e 's/[\.-].*//' ; eval printf "%03d%03d%03d%03d.{lab_domain}" $(curl --silent http://169.254.169.254/2009-04-04/meta-data/local-ipv4 | tr . ' ' ) ) | tee /etc/hostname - hostname $(cat /etc/hostname) - echo "MaxSessions 1000" >> /etc/ssh/sshd_config diff --git a/teuthology/openstack/openstack-ubuntu-12.04-user-data.txt b/teuthology/openstack/openstack-ubuntu-12.04-user-data.txt index b0cf49a012..904c408513 100644 --- a/teuthology/openstack/openstack-ubuntu-12.04-user-data.txt +++ b/teuthology/openstack/openstack-ubuntu-12.04-user-data.txt @@ -4,6 +4,7 @@ bootcmd: - echo 'prepend domain-name-servers {nameserver};' | sudo tee -a /etc/dhcp/dhclient.conf - echo 'supersede domain-name "{lab_domain}";' | sudo tee -a /etc/dhcp/dhclient.conf - ifdown eth0 ; ifup eth0 + - grep --quiet {nameserver} /etc/resolv.conf || ( echo 'nameserver {nameserver}' ; echo 'search {lab_domain}' ) | sudo tee /etc/resolv.conf - ( curl --silent http://169.254.169.254/2009-04-04/meta-data/hostname | sed -e 's/[\.-].*//' ; eval printf "%03d%03d%03d%03d.{lab_domain}" $(curl --silent http://169.254.169.254/2009-04-04/meta-data/local-ipv4 | tr . ' ' ) ) | tee /etc/hostname - hostname $(cat /etc/hostname) - echo "MaxSessions 1000" >> /etc/ssh/sshd_config diff --git a/teuthology/openstack/openstack-ubuntu-14.04-user-data.txt b/teuthology/openstack/openstack-ubuntu-14.04-user-data.txt index 5163840d9d..4b0ce88574 100644 --- a/teuthology/openstack/openstack-ubuntu-14.04-user-data.txt +++ b/teuthology/openstack/openstack-ubuntu-14.04-user-data.txt @@ -4,6 +4,7 @@ bootcmd: - echo 'prepend domain-name-servers {nameserver};' | sudo tee -a /etc/dhcp/dhclient.conf - echo 'supersede domain-name "{lab_domain}";' | sudo tee -a /etc/dhcp/dhclient.conf - ifdown eth0 ; ifup eth0 + - grep --quiet {nameserver} /etc/resolv.conf || ( echo 'nameserver {nameserver}' ; echo 'search {lab_domain}' ) | sudo tee /etc/resolv.conf - ( curl --silent http://169.254.169.254/2009-04-04/meta-data/hostname | sed -e 's/[\.-].*//' ; eval printf "%03d%03d%03d%03d.{lab_domain}" $(curl --silent http://169.254.169.254/2009-04-04/meta-data/local-ipv4 | tr . ' ' ) ) | tee /etc/hostname - hostname $(cat /etc/hostname) - echo "MaxSessions 1000" >> /etc/ssh/sshd_config -- 2.39.5