- hosts: all name: Autoconverted job legacy-puppet-beaker-rspec from old job gate-{name}-puppet-beaker-rspec-ubuntu-xenial tasks: - 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 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 environment: '{{ zuul | zuul_legacy_vars }}' - shell: cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh 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 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 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-xenial export BEAKER_debug=yes export BEAKER_color=no # deploy puppet4 on experimental beaker jobs # https://tickets.puppetlabs.com/browse/BKR-821 if [ "ubuntu-xenial" == "ubuntu-xenial" ]; then export PUPPET_INSTALL_TYPE=agent export PUPPET_MAJ_VERSION=4 fi $GEM_HOME/bin/bundle exec rspec spec/acceptance environment: '{{ zuul | zuul_legacy_vars }}'