diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml new file mode 100644 index 0000000..b311502 --- /dev/null +++ b/.zuul.d/jobs.yaml @@ -0,0 +1,28 @@ +- project: + name: openstack-dev/bashate + check: + jobs: + - bashate-devstack: + voting: false + - bashate-python36-fedora-26: + voting: false + +- job: + name: bashate-devstack + parent: legacy-base + run: playbooks/legacy/bashate-devstack/run + timeout: 3600 + required-projects: + - openstack/requirements + - openstack-dev/devstack + - openstack-infra/devstack-gate + +- job: + name: bashate-python36-fedora-26 + parent: legacy-base + run: playbooks/legacy/bashate-python36-fedora-26/run + post-run: playbooks/legacy/bashate-python36-fedora-26/post + timeout: 2400 + nodeset: legacy-fedora-26 + required-projects: + - openstack/requirements diff --git a/playbooks/legacy/bashate-devstack/run.yaml b/playbooks/legacy/bashate-devstack/run.yaml new file mode 100644 index 0000000..12fe10a --- /dev/null +++ b/playbooks/legacy/bashate-devstack/run.yaml @@ -0,0 +1,39 @@ +- hosts: all + name: Autoconverted job legacy-bashate-devstack from old job gate-bashate-devstack + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -u + set -e + set -x + cd $WORKSPACE + + /usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-dev/bashate \ + openstack-dev/devstack \ + openstack-infra/devstack-gate + + export BASHATE_INSTALL_PATH=$WORKSPACE/openstack-dev/bashate + + pushd openstack-dev/devstack + tox -e bashate + popd + + pushd openstack-infra/devstack-gate + tox -e bashate + popd + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/bashate-python36-fedora-26/post.yaml b/playbooks/legacy/bashate-python36-fedora-26/post.yaml new file mode 100644 index 0000000..68fbdf8 --- /dev/null +++ b/playbooks/legacy/bashate-python36-fedora-26/post.yaml @@ -0,0 +1,67 @@ +- 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=**/*nose_results.html + - --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=**/*testr_results.html.gz + - --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=/.testrepository/tmp* + - --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=**/*testrepository.subunit.gz + - --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 }}/tox' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/.tox/*/log/* + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff --git a/playbooks/legacy/bashate-python36-fedora-26/run.yaml b/playbooks/legacy/bashate-python36-fedora-26/run.yaml new file mode 100644 index 0000000..e151823 --- /dev/null +++ b/playbooks/legacy/bashate-python36-fedora-26/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Autoconverted job legacy-bashate-python36-fedora-26 from old job gate-bashate-python36-fedora-26-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + CLONEMAP=`mktemp` + REQS_DIR=`mktemp -d` + function cleanup { + mkdir -p $WORKSPACE + rm -rf $CLONEMAP $REQS_DIR + } + trap cleanup EXIT + cat > $CLONEMAP << EOF + clonemap: + - name: $ZUUL_PROJECT + dest: . + EOF + # zuul cloner works poorly if there are 2 names that are the + # same in here. + if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then + cat >> $CLONEMAP << EOF + - name: openstack/requirements + dest: $REQS_DIR + EOF + fi + /usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \ + git://git.openstack.org $ZUUL_PROJECT openstack/requirements + # REQS_DIR is not set for openstack/requirements and there is also + # no need to copy in this case. + if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then + cp $REQS_DIR/upper-constraints.txt ./ + fi + 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: | + if [ -x tools/test-setup.sh ] ; then + tools/test-setup.sh + fi + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -x + sudo rm -f /etc/sudoers.d/zuul + # Prove that general sudo access is actually revoked + ! sudo -n true + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: /usr/local/jenkins/slave_scripts/run-tox.sh py36 + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + OUT=`git ls-files --other --exclude-standard --directory` + if [ -z "$OUT" ]; then + echo "No extra files created during test." + exit 0 + else + echo "The following un-ignored files were created during the test:" + echo "$OUT" + exit 0 # TODO: change to 1 to fail tests. + fi + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}'