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
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 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
# CREATE JENKINS USER
# Crete homedir, add to sudo group, add entry in /etc/passwd
sudo bash -c "echo PubkeyAuthentication yes >> /etc/ssh/sshd_config"
sudo bash -c "echo AllowUsers jenkins >> /etc/ssh/sshd_config"
sudo systemctl restart sshd
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
- "script": "install-packages.sh",
+ "script": "configure-image.sh",