[ci] Start migrating to zuul v3

This patch migrates 2 jobs install-ubuntu and install-centos. Both these
jobs have an equal playbook, so they are merged now and only job
definitions set the proper node type.

Also, the post playbook for most of rally jobs are added. It is generic
and can remove a bunch of code duplication.

Change-Id: Ifb7c11539fc505a85c6aa7f7e367b4f60d5797dd
This commit is contained in:
Andrey Kurilin 2017-11-08 14:52:55 +02:00
parent 6706f6560d
commit 3609a91d20
4 changed files with 137 additions and 2 deletions

View File

@ -0,0 +1,41 @@
- 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
- 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=/rally-plot/**
- --include=*/
- --exclude=*
- --prune-empty-dirs
- 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=/rally-plot/extra/index.html
- --include=*/
- --exclude=*
- --prune-empty-dirs

View File

@ -0,0 +1,74 @@
- hosts: all
name: a run script for rally-install-ubuntu-xenial and rally-install-centos-7 jobs
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: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
sudo yum remove -y python-crypto || true
# NOTE(pabelanger): We run apt-get update to ensure we dont have a stale
# package cache in the gate.
sudo apt-get update || true
sudo ./install_rally.sh --system --yes
rally deployment list
[ -d /etc/bash_completion.d ] && cat /etc/bash_completion.d/rally.bash_completion || true
sudo ./install_rally.sh --system --yes
rally deployment list
sudo ./install_rally.sh --yes -d /tmp/rallytest_root/
/tmp/rallytest_root/bin/rally deployment list
cat /tmp/rallytest_root/etc/bash_completion.d/rally.bash_completion
sudo rm -fr ~/.rally
./install_rally.sh --yes -d /tmp/rallytest_user
/tmp/rallytest_user/bin/rally deployment list
./install_rally.sh --overwrite --dbtype sqlite
executable: /bin/sh
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'

View File

@ -15,8 +15,6 @@
# License for the specific language governing permissions and limitations
# under the License.
env
sudo yum remove -y python-crypto || true
# NOTE(pabelanger): We run apt-get update to ensure we don't have a stale

22
zuul.yaml Normal file
View File

@ -0,0 +1,22 @@
- job:
name: rally-install-ubuntu-xenial
parent: base-integration-ubuntu-xenial
run: tests/ci/playbooks/rally-install/run
timeout: 1800
- job:
name: rally-install-centos-7
parent: base-integration-centos-7
run: tests/ci/playbooks/rally-install/run
timeout: 1800
- project:
name: openstack/rally
check:
jobs:
- rally-install-ubuntu-xenial
- rally-install-centos-7
gate:
jobs:
- rally-install-ubuntu-xenial
- rally-install-centos-7