[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:
parent
6706f6560d
commit
3609a91d20
41
tests/ci/playbooks/base/post.yaml
Normal file
41
tests/ci/playbooks/base/post.yaml
Normal 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
|
74
tests/ci/playbooks/rally-install/run.yaml
Normal file
74
tests/ci/playbooks/rally-install/run.yaml
Normal 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 }}'
|
@ -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
22
zuul.yaml
Normal 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
|
Loading…
Reference in New Issue
Block a user