diff --git a/tests/ci/playbooks/base/post.yaml b/tests/ci/playbooks/base/post.yaml new file mode 100644 index 0000000000..4c699fc12a --- /dev/null +++ b/tests/ci/playbooks/base/post.yaml @@ -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 diff --git a/tests/ci/playbooks/rally-install/run.yaml b/tests/ci/playbooks/rally-install/run.yaml new file mode 100644 index 0000000000..a1d361b9d5 --- /dev/null +++ b/tests/ci/playbooks/rally-install/run.yaml @@ -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 }}' diff --git a/tests/ci/test_install.sh b/tests/ci/test_install.sh index ea889734ff..b85c2ab6d7 100755 --- a/tests/ci/test_install.sh +++ b/tests/ci/test_install.sh @@ -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 diff --git a/zuul.yaml b/zuul.yaml new file mode 100644 index 0000000000..8e34a4ee62 --- /dev/null +++ b/zuul.yaml @@ -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