]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
openstack: add jessie / debian 8 support 619/head
authorLoic Dachary <ldachary@redhat.com>
Mon, 7 Sep 2015 21:32:56 +0000 (23:32 +0200)
committerLoic Dachary <ldachary@redhat.com>
Tue, 8 Sep 2015 19:02:55 +0000 (21:02 +0200)
http://tracker.ceph.com/issues/12988 Fixes: #12988

Signed-off-by: Loic Dachary <loic@dachary.org>
teuthology/openstack/__init__.py
teuthology/openstack/openstack-debian-8.0-user-data.txt [new file with mode: 0644]

index 71439e357e7936116af504bf805556e75d46d080..6a8ce1c10805d53275544a051a8f76bf87b6b1c8 100644 (file)
@@ -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 (file)
index 0000000..9328205
--- /dev/null
@@ -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"