]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
Support SLE-15
authorNathan Cutler <ncutler@suse.com>
Wed, 10 Jan 2018 13:33:42 +0000 (14:33 +0100)
committerKyr Shatskyy <kyrylo.shatskyy@gmail.com>
Mon, 14 Oct 2019 22:11:40 +0000 (00:11 +0200)
With SLE15 it is no longer possible to SSH in as root. Instead, the OpenStack
SSH public key is injected into /home/sles. Reflect this in the user-data
files.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
teuthology/openstack/openstack-sle-15.0-user-data.txt [new file with mode: 0644]
teuthology/task/buildpackages/sle-15.0-user-data.txt [new file with mode: 0644]

diff --git a/teuthology/openstack/openstack-sle-15.0-user-data.txt b/teuthology/openstack/openstack-sle-15.0-user-data.txt
new file mode 100644 (file)
index 0000000..9a1bed9
--- /dev/null
@@ -0,0 +1,22 @@
+#cloud-config
+bootcmd:
+ - echo nameserver {nameserver} | tee /etc/resolv.conf
+ - echo search {lab_domain} | tee -a /etc/resolv.conf
+ - sed -i -e 's/PEERDNS="yes"/PEERDNS="no"/' /etc/sysconfig/network/ifcfg-eth0
+ - ( 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 ; echo "MaxSessions 1000" ) >> /etc/ssh/sshd_config
+# 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
+preserve_hostname: true
+users:
+  - name: {username}
+    gecos: User
+    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
+    groups: users
+runcmd:
+ - ( MYHOME=/home/{username} ; mkdir $MYHOME/.ssh ; chmod 700 $MYHOME/.ssh ; cp /home/sles/.ssh/authorized_keys $MYHOME/.ssh ; chown -R {username}.users $MYHOME/.ssh )
+ - zypper --non-interactive --no-gpg-checks refresh
+ - zypper --non-interactive install --no-recommends wget rsyslog lsb-release make gcc gcc-c++
+ - sed -i -e "s/^#master:.*$/master:\ $(curl --silent http://169.254.169.254/2009-04-04/meta-data/hostname | sed -e 's/[\.-].*//')$(eval printf "%03d%03d%03d%03d.{lab_domain}" $(echo "{nameserver}" | tr . ' '))/" /etc/salt/minion
+final_message: "{up}, after $UPTIME seconds"
diff --git a/teuthology/task/buildpackages/sle-15.0-user-data.txt b/teuthology/task/buildpackages/sle-15.0-user-data.txt
new file mode 100644 (file)
index 0000000..cdf634e
--- /dev/null
@@ -0,0 +1,14 @@
+#cloud-config
+bootcmd:
+ - echo nameserver 8.8.8.8 | tee -a /etc/resolv.conf # last resort, in case the DHCP server does not provide a resolver
+manage_etc_hosts: true
+preserve_hostname: true
+users:
+  - name: ubuntu
+    gecos: User
+    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
+    groups: users
+runcmd:
+ - ( MYHOME=/home/ubuntu ; mkdir $MYHOME/.ssh ; chmod 700 $MYHOME/.ssh ; cp /home/sles/.ssh/authorized_keys $MYHOME/.ssh ; chown -R ubuntu.users $MYHOME/.ssh )
+ - zypper --non-interactive install --no-recommends python wget git ntp rsyslog lsb-release
+final_message: "READYTORUN"