From: Fatih Degirmenci Date: Thu, 9 Jul 2020 11:03:26 +0000 (+0000) Subject: Create cloud-init script as part of image build X-Git-Url: https://gerrit.nordix.org/gitweb?a=commitdiff_plain;h=e57b3a8c3a82c081badf076b1aaadb93175ad248;p=infra%2Ftools.git Create cloud-init script as part of image build We need the ssh public key for jenkins user placed into /home/jenkins/.ssh/authorized_keys in order for jenkins to be able to connect the slaves provisioned using openstack plugin using jenkins user. This change updates packer file with creation of cloud-init script. Change-Id: I91610c71a6250102e9a11a4140fa784bd9f5ee9d --- diff --git a/infra/jenkins/slave-setup/uds-build-server/install-packages.sh b/infra/jenkins/slave-setup/uds-build-server/configure-image.sh similarity index 82% rename from infra/jenkins/slave-setup/uds-build-server/install-packages.sh rename to infra/jenkins/slave-setup/uds-build-server/configure-image.sh index f890a3b..5ddc68f 100644 --- a/infra/jenkins/slave-setup/uds-build-server/install-packages.sh +++ b/infra/jenkins/slave-setup/uds-build-server/configure-image.sh @@ -41,6 +41,8 @@ sudo apt-get update sudo apt-get install -y docker-ce=5:19.03.12~3-0~ubuntu-bionic docker-ce-cli=5:19.03.12~3-0~ubuntu-bionic containerd.io docker --version +sudo systemctl enable docker +sudo systemctl start docker # CREATE JENKINS USER # Crete homedir, add to sudo group, add entry in /etc/passwd @@ -57,3 +59,14 @@ sudo bash -c "echo PasswordAuthentication no >> /etc/ssh/sshd_config" sudo bash -c "echo PubkeyAuthentication yes >> /etc/ssh/sshd_config" sudo bash -c "echo AllowUsers jenkins >> /etc/ssh/sshd_config" sudo systemctl restart sshd + +# get cloud-init script in place so we can place the keys into ~jenkins/.ssh +sudo bash -c 'cat << EOF > /var/lib/cloud/scripts/per-instance/copykeystojenkins.sh +#!/bin/bash +sudo mkdir -p /home/jenkins/.ssh +sudo cat /home/ubuntu/.ssh/authorized_keys >> /home/jenkins/.ssh/authorized_keys +sudo chown -R jenkins:jenkins /home/jenkins/.ssh +sudo chmod -R go-rwx /home/jenkins/.ssh +sudo userdel -f -r ubuntu +EOF' +sudo chmod +x /var/lib/cloud/scripts/per-instance/copykeystojenkins.sh diff --git a/infra/jenkins/slave-setup/uds-build-server/onap-uds-build-ubuntu1804.json b/infra/jenkins/slave-setup/uds-build-server/onap-uds-build-ubuntu1804.json index 810c9ae..e12f6be 100644 --- a/infra/jenkins/slave-setup/uds-build-server/onap-uds-build-ubuntu1804.json +++ b/infra/jenkins/slave-setup/uds-build-server/onap-uds-build-ubuntu1804.json @@ -15,7 +15,7 @@ ], "provisioners": [ { - "script": "install-packages.sh", + "script": "configure-image.sh", "type": "shell" } ]