From: Loic Dachary Date: Mon, 7 Sep 2015 21:32:56 +0000 (+0200) Subject: openstack: add jessie / debian 8 support X-Git-Tag: 1.1.0~825^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F619%2Fhead;p=teuthology.git openstack: add jessie / debian 8 support http://tracker.ceph.com/issues/12988 Fixes: #12988 Signed-off-by: Loic Dachary --- diff --git a/teuthology/openstack/__init__.py b/teuthology/openstack/__init__.py index 71439e357e..6a8ce1c108 100644 --- a/teuthology/openstack/__init__.py +++ b/teuthology/openstack/__init__.py @@ -57,6 +57,7 @@ class OpenStack(object): 'centos-6.5': 'http://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud.qcow2', 'centos-7.0': 'http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-20150628_01.qcow2', 'ubuntu-14.04': 'https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img', + 'debian-8.0': 'http://cdimage.debian.org/cdimage/openstack/current/debian-8.1.0-openstack-amd64.qcow2', } def __init__(self): @@ -191,12 +192,12 @@ class OpenStack(object): log.debug('cloud_init_wait connect socket.error ' + str(e)) continue except Exception as e: - if 'Unknown server' not in str(e): - log.exception('cloud_init_wait ' + name_or_ip) - if 'Unknown server' in str(e): - continue - else: - raise e + transients = ('Incompatible ssh peer', 'Unknown server') + for transient in transients: + if transient in str(e): + continue + log.exception('cloud_init_wait ' + name_or_ip) + raise log.debug('cloud_init_wait ' + all_done) try: stdin, stdout, stderr = client.exec_command(all_done) diff --git a/teuthology/openstack/openstack-debian-8.0-user-data.txt b/teuthology/openstack/openstack-debian-8.0-user-data.txt new file mode 100644 index 0000000000..9328205fad --- /dev/null +++ b/teuthology/openstack/openstack-debian-8.0-user-data.txt @@ -0,0 +1,23 @@ +#cloud-config +bootcmd: + - apt-get remove --purge -y resolvconf || true + - 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 + - ( wget -q -O - http://169.254.169.254/2009-04-04/meta-data/hostname | sed -e 's/[\.-].*//' ; eval printf "%03d%03d.{lab_domain}" $(wget -q -O - http://169.254.169.254/2009-04-04/meta-data/local-ipv4 | sed -e 's/.*\.\(.*\)\.\(.*\)/\1 \2/') ) | tee /etc/hostname + - hostname $(cat /etc/hostname) + - echo "MaxSessions 1000" >> /etc/ssh/sshd_config +preserve_hostname: true +system_info: + default_user: + name: {username} +packages: + - python + - wget + - git + - ntp +runcmd: +# See https://github.com/ceph/ceph-cm-ansible/blob/master/roles/cobbler/templates/snippets/cephlab_user + - ( echo 'Defaults !requiretty' ; echo 'Defaults visiblepw' ) | tee /etc/sudoers.d/cephlab_sudo ; chmod 0440 /etc/sudoers.d/cephlab_sudo + - echo '{username} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers +final_message: "{up}, after $UPTIME seconds"