Convert ssh keys for ruby net-ssh if necessary

In our beaker rspec testing we ssh into localhost pretending it is a
managed VM because that is how all the config management testing tools
want to work... This is has run into problems with new format ssh keys
which zuul provides. If such a key is present we convert it to PEM
othrewise we generate our own.

Also add ensure-virtualenv to the job as we appear to need it to run
these tests properly.

Change-Id: Ibb6080b5a321a6955866ef9b847c4d00da17f427
This commit is contained in:
Clark Boylan 2020-08-19 15:36:17 -07:00
parent 4798390909
commit dff18bac1b
3 changed files with 11 additions and 1 deletions

View File

@ -0,0 +1,3 @@
- hosts: all
roles:
- role: ensure-virtualenv

View File

@ -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

View File

@ -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