Convert infra's beaker jobs for zuulv3

This patch moves the legacy beaker jobs that were being used for Infra's
puppet modules out of the legecy definitions and into the regular list.

Historically, the test scripts were shared between the Infra and Puppet
OpenStack teams, but the Puppet OpenStack team has already moved their
jobs in-repo so we can remove tasks specific to their setup.

We need to leave some jobs and playbooks in place that are still being
used by the puppet-midonet project which belongs to neither team.

Change-Id: Iefea6ee173cff2bf050d99d96ae2e1d1a51b7f49
This commit is contained in:
Colleen Murphy 2018-06-02 15:11:09 +02:00 committed by Colleen Murphy
parent 40a4b0c0a0
commit d2dc5dd207
7 changed files with 183 additions and 255 deletions

View File

@ -0,0 +1,53 @@
- hosts: all
name: Beaker-rspec functional testing for Infra puppet modules
roles:
- bindep
tasks:
- name: Set up SSH for beaker
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
- name: Create local gems directory
file:
state: directory
path: '{{ ansible_user_dir }}/.bundled_gems'
- name: Install ruby dependencies
become: yes
shell:
cmd: |
if [ -f /usr/bin/yum ]; then
yum install ruby-devel gcc-c++ -y
elif [ -f /usr/bin/apt-get ]; then
apt-get install ruby-dev -y
fi
- name: Execute acceptance tests
shell:
cmd: |
gem install bundler --no-rdoc --no-ri --verbose
$GEM_HOME/bin/bundle install --retry 3
export BEAKER_set={{ nodeset }}
export BEAKER_debug=yes
export BEAKER_color=no
$GEM_HOME/bin/bundle exec rspec spec/acceptance
chdir: "{{ zuul.project.src_dir }}"
environment:
'GEM_HOME': "{{ ansible_user_dir }}/.bundled_gems"

View File

@ -1,15 +0,0 @@
- hosts: primary
tasks:
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
synchronize:
src: '{{ ansible_user_dir }}/workspace/'
dest: '{{ zuul.executor.log_root }}'
mode: pull
copy_links: true
verify_host: true
rsync_opts:
- --include=/logs/**
- --include=*/
- --exclude=*
- --prune-empty-dirs

View File

@ -1,126 +0,0 @@
- hosts: all
name: Autoconverted job legacy-puppet-beaker-rspec from old job gate-{name}-puppet-beaker-rspec-ubuntu-xenial
roles:
- bindep
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: |
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-xenial
export BEAKER_debug=yes
export BEAKER_color=no
$GEM_HOME/bin/bundle exec rspec spec/acceptance
chdir: '{{ ansible_user_dir }}/workspace'
executable: /bin/bash
environment: '{{ zuul | zuul_legacy_vars }}'

View File

@ -1233,6 +1233,109 @@
vars:
puppet_version: 4
- job:
name: puppet-beaker-rspec-infra
description: |
Base job for beaker-rspec tests for Infra's puppet modules
nodeset: devstack-single-node
run: playbooks/infra-puppet-beaker-rspec/run.yaml
vars:
nodeset: nodepool-xenial
timeout: 3600
irrelevant-files:
- ^.*\.md$
- ^.*\.rst$
- ^doc/.*$
- ^etc/.*$
- ^metadata.json$
- ^releasenotes/.*$
- ^test-requirements.txt$
required-projects:
- openstack-infra/project-config
- openstack-infra/system-config
- openstack-infra/puppet-openstack_infra_spec_helper
- openstack-infra/puppet-bugdaystats
- openstack-infra/puppet-mysql_backup
- openstack-infra/puppet-openstackci
- openstack-infra/puppet-zuul
- openstack-infra/puppet-mqtt_statsd
- openstack-infra/puppet-meetbot
- openstack-infra/puppet-hound
- openstack-infra/puppet-pip
- openstack-infra/puppet-os_client_config
- openstack-infra/puppet-openstackid
- openstack-infra/puppet-bandersnatch
- openstack-infra/puppet-project_config
- openstack-infra/puppet-grafyaml
- openstack-infra/puppet-refstack
- openstack-infra/puppet-github
- openstack-infra/puppet-ethercalc
- openstack-infra/puppet-unattended_upgrades
- openstack-infra/puppet-openafs
- openstack-infra/puppet-httpd
- openstack-infra/puppet-drupal
- openstack-infra/puppet-subunit2sql
- openstack-infra/puppet-reviewday
- openstack-infra/puppet-kibana
- openstack-infra/puppet-redis
- openstack-infra/puppet-phabricator
- openstack-infra/puppet-ssl_cert_check
- openstack-infra/puppet-lpmqtt
- openstack-infra/puppet-germqtt
- openstack-infra/puppet-cgit
- openstack-infra/puppet-packagekit
- openstack-infra/puppet-haveged
- openstack-infra/puppet-graphite
- openstack-infra/puppet-diskimage_builder
- openstack-infra/puppet-sudoers
- openstack-infra/puppet-stackalytics
- openstack-infra/puppet-zanata
- openstack-infra/puppet-logstash
- openstack-infra/puppet-gerritbot
- openstack-infra/puppet-asterisk
- openstack-infra/puppet-statusbot
- openstack-infra/puppet-gerrit
- openstack-infra/puppet-mediawiki
- openstack-infra/puppet-mailman
- openstack-infra/puppet-exim
- openstack-infra/puppet-tmpreaper
- openstack-infra/puppet-elastic_recheck
- openstack-infra/puppet-ulimit
- openstack-infra/puppet-planet
- openstack-infra/puppet-nodepool
- openstack-infra/puppet-logrotate
- openstack-infra/puppet-infracloud
- openstack-infra/puppet-elasticsearch
- openstack-infra/puppet-unbound
- openstack-infra/puppet-storyboard
- openstack-infra/puppet-openstack_health
- openstack-infra/puppet-kerberos
- openstack-infra/puppet-odsreg
- openstack-infra/puppet-askbot
- openstack-infra/puppet-log_processor
- openstack-infra/puppet-simpleproxy
- openstack-infra/puppet-iptables
- openstack-infra/puppet-lodgeit
- openstack-infra/puppet-etherpad_lite
- openstack-infra/puppet-mosquitto
- openstack-infra/puppet-bup
- openstack-infra/puppet-pgsql_backup
- openstack-infra/puppet-ansible
- openstack-infra/puppet-ssh
- openstack-infra/puppet-snmpd
- openstack-infra/puppet-user
- openstack-infra/puppet-jeepyb
- openstack-infra/puppet-accessbot
- openstack-infra/puppet-ptgbot
- openstack-infra/puppet-jenkins
- job:
name: puppet-beaker-rspec-centos-7-infra
parent: puppet-beaker-rspec-infra
nodeset: centos-7
vars:
nodeset: nodepool-centos7
- job:
name: ansible-role-functional-base
abstract: true

View File

@ -1036,3 +1036,28 @@
jobs:
- golang-fmt
- golang-unit
- project-template:
name: puppet-beaker-jobs-xenial-infra
check:
jobs:
- puppet-beaker-rspec-infra
gate:
jobs:
- puppet-beaker-rspec-infra
- project-template:
name: puppet-beaker-jobs-xenial-infra-nv
check:
jobs:
- puppet-beaker-rspec-infra:
voting: false
- project-template:
name: puppet-beaker-jobs-centos-7-infra
check:
jobs:
- puppet-beaker-rspec-centos-7-infra
gate:
jobs:
- puppet-beaker-rspec-centos-7-infra

View File

@ -1576,87 +1576,6 @@
- ^releasenotes/.*$
- ^test-requirements.txt$
- job:
name: legacy-puppet-beaker-rspec-infra
parent: legacy-puppet-beaker-rspec
required-projects:
- openstack-infra/project-config
- openstack-infra/system-config
- openstack-infra/puppet-bugdaystats
- openstack-infra/puppet-mysql_backup
- openstack-infra/puppet-openstackci
- openstack-infra/puppet-zuul
- openstack-infra/puppet-mqtt_statsd
- openstack-infra/puppet-meetbot
- openstack-infra/puppet-hound
- openstack-infra/puppet-pip
- openstack-infra/puppet-os_client_config
- openstack-infra/puppet-openstackid
- openstack-infra/puppet-bandersnatch
- openstack-infra/puppet-project_config
- openstack-infra/puppet-grafyaml
- openstack-infra/puppet-refstack
- openstack-infra/puppet-github
- openstack-infra/puppet-ethercalc
- openstack-infra/puppet-unattended_upgrades
- openstack-infra/puppet-openafs
- openstack-infra/puppet-httpd
- openstack-infra/puppet-drupal
- openstack-infra/puppet-subunit2sql
- openstack-infra/puppet-reviewday
- openstack-infra/puppet-kibana
- openstack-infra/puppet-redis
- openstack-infra/puppet-phabricator
- openstack-infra/puppet-ssl_cert_check
- openstack-infra/puppet-lpmqtt
- openstack-infra/puppet-germqtt
- openstack-infra/puppet-cgit
- openstack-infra/puppet-packagekit
- openstack-infra/puppet-haveged
- openstack-infra/puppet-graphite
- openstack-infra/puppet-diskimage_builder
- openstack-infra/puppet-sudoers
- openstack-infra/puppet-stackalytics
- openstack-infra/puppet-zanata
- openstack-infra/puppet-logstash
- openstack-infra/puppet-gerritbot
- openstack-infra/puppet-asterisk
- openstack-infra/puppet-statusbot
- openstack-infra/puppet-gerrit
- openstack-infra/puppet-mediawiki
- openstack-infra/puppet-mailman
- openstack-infra/puppet-exim
- openstack-infra/puppet-tmpreaper
- openstack-infra/puppet-elastic_recheck
- openstack-infra/puppet-ulimit
- openstack-infra/puppet-planet
- openstack-infra/puppet-nodepool
- openstack-infra/puppet-logrotate
- openstack-infra/puppet-infracloud
- openstack-infra/puppet-elasticsearch
- openstack-infra/puppet-unbound
- openstack-infra/puppet-storyboard
- openstack-infra/puppet-openstack_health
- openstack-infra/puppet-kerberos
- openstack-infra/puppet-odsreg
- openstack-infra/puppet-askbot
- openstack-infra/puppet-log_processor
- openstack-infra/puppet-simpleproxy
- openstack-infra/puppet-iptables
- openstack-infra/puppet-lodgeit
- openstack-infra/puppet-etherpad_lite
- openstack-infra/puppet-mosquitto
- openstack-infra/puppet-bup
- openstack-infra/puppet-pgsql_backup
- openstack-infra/puppet-ansible
- openstack-infra/puppet-ssh
- openstack-infra/puppet-snmpd
- openstack-infra/puppet-user
- openstack-infra/puppet-jeepyb
- openstack-infra/puppet-accessbot
- openstack-infra/puppet-ptgbot
- openstack-infra/puppet-jenkins
- job:
name: legacy-puppet-beaker-rspec-centos-7
parent: legacy-puppet-openstack-integration
@ -1675,13 +1594,6 @@
- ^releasenotes/.*$
- ^test-requirements.txt$
- job:
name: legacy-puppet-beaker-rspec-centos-7-infra
parent: legacy-puppet-beaker-rspec-infra
run: playbooks/legacy/puppet-beaker-rspec-centos-7/run.yaml
post-run: playbooks/legacy/puppet-beaker-rspec-centos-7/post.yaml
nodeset: legacy-centos-7
- job:
name: legacy-puppet-httpd-forge-upload
parent: legacy-base

View File

@ -117,7 +117,8 @@
jobs:
- legacy-tempest-dsvm-neutron-src-plugin
- project-template:
- project-template: # Used by puppet-midonet
name: puppet-beaker-jobs
check:
jobs:
@ -126,31 +127,6 @@
jobs:
- legacy-puppet-beaker-rspec-centos-7
- project-template:
name: puppet-beaker-jobs-xenial-infra
check:
jobs:
- legacy-puppet-beaker-rspec-infra
gate:
jobs:
- legacy-puppet-beaker-rspec-infra
- project-template:
name: puppet-beaker-jobs-xenial-infra-nv
check:
jobs:
- legacy-puppet-beaker-rspec-infra:
voting: false
- project-template:
name: puppet-beaker-jobs-centos-7-infra
check:
jobs:
- legacy-puppet-beaker-rspec-centos-7-infra
gate:
jobs:
- legacy-puppet-beaker-rspec-centos-7-infra
- project-template:
name: puppet-module-unit-jobs
check: