diff --git a/playbooks/zuul/infra-puppet-beaker-rspec/pre.yaml b/playbooks/zuul/infra-puppet-beaker-rspec/pre.yaml new file mode 100644 index 0000000000..3e47b9a706 --- /dev/null +++ b/playbooks/zuul/infra-puppet-beaker-rspec/pre.yaml @@ -0,0 +1,3 @@ +- hosts: all + roles: + - role: ensure-virtualenv diff --git a/playbooks/zuul/infra-puppet-beaker-rspec/run.yaml b/playbooks/zuul/infra-puppet-beaker-rspec/run.yaml index 5d9adb0361..9e75c489ec 100644 --- a/playbooks/zuul/infra-puppet-beaker-rspec/run.yaml +++ b/playbooks/zuul/infra-puppet-beaker-rspec/run.yaml @@ -15,7 +15,13 @@ echo "Match address ::1" | sudo tee -a /etc/ssh/sshd_config echo " PermitRootLogin without-password" | sudo tee -a /etc/ssh/sshd_config mkdir -p ~/.ssh - ssh-keygen -f ~/.ssh/id_rsa -b 2048 -P "" + if [ -f ~/.ssh/id_rsa ] ; then + # A key already exists, we'll use it but ensure it is in pem + # format for ruby's net-ssh + ssh-keygen -p -m PEM -f ~/.ssh/id_rsa -N '' -P '' + else + ssh-keygen -f ~/.ssh/id_rsa -b 2048 -P "" + fi sudo mkdir -p /root/.ssh cat ~/.ssh/id_rsa.pub | sudo tee -a /root/.ssh/authorized_keys if [ -f /usr/bin/yum ]; then diff --git a/zuul.d/puppet.yaml b/zuul.d/puppet.yaml index d2d64a17b2..5f034e4649 100644 --- a/zuul.d/puppet.yaml +++ b/zuul.d/puppet.yaml @@ -86,6 +86,7 @@ description: | Base job for beaker-rspec tests for Infra's puppet modules. nodeset: ubuntu-xenial + pre-run: playbooks/zuul/infra-puppet-beaker-rspec/pre.yaml run: playbooks/zuul/infra-puppet-beaker-rspec/run.yaml vars: nodeset: nodepool-xenial