
The original job code was doing a "if {node} == ubuntu-xenial". This got expanded out by the autoconversion, but because it uses "==" with "[" and runs under POSIX shell (rather than bash) this just ends up as a syntax error. Since the test is a no-op in most cases, remove it to avoid the error. Also use /bin/bash for the cmd for sanity. This also makes the Xenial tests just use puppet3, which is the puppet included with Xenial. This is becoming an issue because infra is updating to Xenial nodes now, so we are using this against some of our puppet modules, but only targetting puppet3. Change-Id: I2355cf58c899bf5f78173b2ed9da26548a9592d0
130 lines
5.0 KiB
YAML
130 lines
5.0 KiB
YAML
- hosts: all
|
|
name: Autoconverted job legacy-puppet-openstackci-puppet-beaker-rspec-ubuntu-trusty
|
|
from old job gate-puppet-openstackci-puppet-beaker-rspec-ubuntu-trusty
|
|
tasks:
|
|
|
|
- name: Ensure legacy workspace directory
|
|
file:
|
|
path: '{{ ansible_user_dir }}/workspace'
|
|
state: directory
|
|
|
|
- shell:
|
|
cmd: |
|
|
set -e
|
|
set -x
|
|
CLONEMAP=`mktemp`
|
|
function cleanup {
|
|
# In cases where zuul-cloner is aborted during a git
|
|
# clone operation, git will remove the git work tree in
|
|
# its cleanup. The work tree in these jobs is the
|
|
# workspace directory, which means that subsequent
|
|
# jenkins post-build actions can not run because the
|
|
# workspace has been removed.
|
|
# To reduce the likelihood of this having an impact,
|
|
# recreate the workspace directory if needed
|
|
mkdir -p $WORKSPACE
|
|
rm -f $CLONEMAP
|
|
}
|
|
trap cleanup EXIT
|
|
cat > $CLONEMAP << EOF
|
|
clonemap:
|
|
- name: $ZUUL_PROJECT
|
|
dest: .
|
|
EOF
|
|
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \
|
|
git://git.openstack.org $ZUUL_PROJECT
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
set -e
|
|
set -x
|
|
ZUUL_BRANCH_REAL=${ZUUL_BRANCH:-master}
|
|
# Workaround for puppet-ceph, where we need to checkout
|
|
# puppet-openstack-integration from stable/pike when working on
|
|
# stable/jewel.
|
|
# Ceph Jewel works with Newton to Pike
|
|
if [[ "$ZUUL_BRANCH" == "stable/jewel" ]]; then
|
|
ZUUL_BRANCH_REAL='stable/pike'
|
|
fi
|
|
export ZUUL_REF=${ZUUL_REF:-None}
|
|
CLONEMAP=`mktemp`
|
|
function cleanup {
|
|
rm -f $CLONEMAP
|
|
}
|
|
trap cleanup EXIT
|
|
cat > $CLONEMAP << EOF
|
|
clonemap:
|
|
- name: openstack/puppet-openstack-integration
|
|
dest: puppet-openstack-integration
|
|
EOF
|
|
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP \
|
|
--cache-dir /opt/git \
|
|
--zuul-branch $ZUUL_BRANCH_REAL \
|
|
git://git.openstack.org openstack/puppet-openstack-integration
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
set -e
|
|
set -x
|
|
if [ -f /usr/bin/yum ]; then
|
|
sudo yum -y remove rdo-release "centos-release-openstack-*" "centos-release-ceph-*"
|
|
sudo yum -y install libxml2-devel libxslt-devel ruby-devel zlib-devel
|
|
sudo yum -y groupinstall "Development Tools"
|
|
# Uninstall python-requests from pip, since we install it in
|
|
# system-config/install_puppet.sh
|
|
sudo pip uninstall requests -y || true
|
|
elif [ -f /usr/bin/apt-get ]; then
|
|
sudo apt-get update
|
|
sudo apt-get install -y libxml2-dev libxslt-dev ruby-dev zlib1g-dev
|
|
fi
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
echo "" | sudo tee -a /etc/ssh/sshd_config
|
|
echo "Match address 127.0.0.1" | sudo tee -a /etc/ssh/sshd_config
|
|
echo " PermitRootLogin without-password" | sudo tee -a /etc/ssh/sshd_config
|
|
echo "" | sudo tee -a /etc/ssh/sshd_config
|
|
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 ""
|
|
sudo mkdir -p /root/.ssh
|
|
cat ~/.ssh/id_rsa.pub | sudo tee -a /root/.ssh/authorized_keys
|
|
if [ -f /usr/bin/yum ]; then
|
|
sudo systemctl reload sshd
|
|
elif [ -f /usr/bin/apt-get ]; then
|
|
sudo service ssh restart
|
|
fi
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|
|
|
|
- shell:
|
|
cmd: |
|
|
trap "puppet-openstack-integration/copy_logs.sh" EXIT
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
gem install bundler --no-rdoc --no-ri --verbose
|
|
$GEM_HOME/bin/bundle install --retry 3
|
|
export BEAKER_set=nodepool-trusty
|
|
export BEAKER_debug=yes
|
|
export BEAKER_color=no
|
|
$GEM_HOME/bin/bundle exec rspec spec/acceptance
|
|
executable: /bin/bash
|
|
chdir: '{{ ansible_user_dir }}/workspace'
|
|
environment: '{{ zuul | zuul_legacy_vars }}'
|