diff --git a/playbooks/legacy/octavia-tox-functional-py35/post.yaml b/playbooks/legacy/octavia-tox-functional-py35/post.yaml new file mode 100644 index 0000000000..68fbdf81bf --- /dev/null +++ b/playbooks/legacy/octavia-tox-functional-py35/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/octavia-tox-functional-py35/run.yaml b/playbooks/legacy/octavia-tox-functional-py35/run.yaml new file mode 100644 index 0000000000..5cb32ec8f9 --- /dev/null +++ b/playbooks/legacy/octavia-tox-functional-py35/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Autoconverted job legacy-octavia-tox-functional-py35 from old job gate-octavia-tox-functional-py35-ubuntu-xenial + 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 functional-py35 + 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 }}' diff --git a/playbooks/legacy/octavia-tox-functional/post.yaml b/playbooks/legacy/octavia-tox-functional/post.yaml new file mode 100644 index 0000000000..68fbdf81bf --- /dev/null +++ b/playbooks/legacy/octavia-tox-functional/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/octavia-tox-functional/run.yaml b/playbooks/legacy/octavia-tox-functional/run.yaml new file mode 100644 index 0000000000..39ef3ba43a --- /dev/null +++ b/playbooks/legacy/octavia-tox-functional/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Autoconverted job legacy-octavia-tox-functional from old job gate-octavia-tox-functional-ubuntu-xenial + 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 functional + 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 }}' diff --git a/playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/post.yaml b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/post.yaml @@ -0,0 +1,15 @@ +- 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 diff --git a/playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/run.yaml b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/run.yaml new file mode 100644 index 0000000000..28b9440f62 --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/run.yaml @@ -0,0 +1,69 @@ +- hosts: primary + name: Autoconverted job legacy-octavia-v1-dsvm-py3x-scenario-multinode from old + job gate-octavia-v1-dsvm-py3x-scenario-multinode + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export DEVSTACK_GATE_USE_PYTHON3=True + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export DEVSTACK_GATE_TOPOLOGY="multinode" + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + + if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then + export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient" + export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH + fi + + function gate_hook { + $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario + } + export -f gate_hook + + function post_test_hook { + $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/octavia-v1-dsvm-py3x-scenario/post.yaml b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario/post.yaml @@ -0,0 +1,15 @@ +- 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 diff --git a/playbooks/legacy/octavia-v1-dsvm-py3x-scenario/run.yaml b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario/run.yaml new file mode 100644 index 0000000000..170f3e832f --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-py3x-scenario/run.yaml @@ -0,0 +1,67 @@ +- hosts: all + name: Autoconverted job legacy-octavia-v1-dsvm-py3x-scenario from old job gate-octavia-v1-dsvm-py3x-scenario-ubuntu-xenial-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export DEVSTACK_GATE_USE_PYTHON3=True + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + + if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then + export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient" + export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH + fi + + function gate_hook { + $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario + } + export -f gate_hook + + function post_test_hook { + $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/post.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/post.yaml @@ -0,0 +1,15 @@ +- 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 diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/run.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/run.yaml new file mode 100644 index 0000000000..6a6948ab75 --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/run.yaml @@ -0,0 +1,83 @@ +- hosts: all + name: Autoconverted job legacy-octavia-v1-dsvm-scenario-kvm-centos.7 from old job + gate-octavia-v1-dsvm-scenario-kvm-centos.7-ubuntu-xenial-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + cat << 'EOF' >>"/tmp/dg-local.conf" + [[local|localrc]] + OCTAVIA_HYPERVISOR=kvm + OCTAVIA_AMP_BASE_OS=centos + OCTAVIA_AMP_DISTRIBUTION_RELEASE_ID=7 + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + + if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then + export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient" + export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH + fi + + function gate_hook { + $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario + } + export -f gate_hook + + function post_test_hook { + $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario-lxd/post.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario-lxd/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario-lxd/post.yaml @@ -0,0 +1,15 @@ +- 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 diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario-lxd/run.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario-lxd/run.yaml new file mode 100644 index 0000000000..7c48b0d09d --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario-lxd/run.yaml @@ -0,0 +1,81 @@ +- hosts: all + name: Autoconverted job legacy-octavia-v1-dsvm-scenario-lxd from old job gate-octavia-v1-dsvm-scenario-lxd-ubuntu-xenial-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + cat << 'EOF' >>"/tmp/dg-local.conf" + [[local|localrc]] + enable_plugin nova-lxd https://git.openstack.org/openstack/nova-lxd + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/nova-lxd $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + + if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then + export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient" + export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH + fi + + function gate_hook { + $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario + } + export -f gate_hook + + function post_test_hook { + $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario-multinode/post.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario-multinode/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario-multinode/post.yaml @@ -0,0 +1,15 @@ +- 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 diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario-multinode/run.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario-multinode/run.yaml new file mode 100644 index 0000000000..e6e9a28385 --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario-multinode/run.yaml @@ -0,0 +1,67 @@ +- hosts: primary + name: Autoconverted job legacy-octavia-v1-dsvm-scenario-multinode from old job gate-octavia-v1-dsvm-scenario-multinode + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export DEVSTACK_GATE_TOPOLOGY="multinode" + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + + if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then + export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient" + export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH + fi + + function gate_hook { + $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario + } + export -f gate_hook + + function post_test_hook { + $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario/post.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario/post.yaml new file mode 100644 index 0000000000..e07f5510ae --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario/post.yaml @@ -0,0 +1,15 @@ +- 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 diff --git a/playbooks/legacy/octavia-v1-dsvm-scenario/run.yaml b/playbooks/legacy/octavia-v1-dsvm-scenario/run.yaml new file mode 100644 index 0000000000..9501fd5d0e --- /dev/null +++ b/playbooks/legacy/octavia-v1-dsvm-scenario/run.yaml @@ -0,0 +1,66 @@ +- hosts: all + name: Autoconverted job legacy-octavia-v1-dsvm-scenario from old job gate-octavia-v1-dsvm-scenario-ubuntu-xenial-nv + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/diskimage-builder $PROJECTS" + export PROJECTS="openstack/tripleo-image-elements $PROJECTS" + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export PROJECTS="openstack/octavia $PROJECTS" + + if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then + export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient" + export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH + fi + + function gate_hook { + $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest v1 scenario + } + export -f gate_hook + + function post_test_hook { + $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest v1 scenario + } + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml new file mode 100644 index 0000000000..92fba974b0 --- /dev/null +++ b/zuul.d/jobs.yaml @@ -0,0 +1,118 @@ +- job: + name: octavia-tox-functional + parent: legacy-base + run: playbooks/legacy/octavia-tox-functional/run + post-run: playbooks/legacy/octavia-tox-functional/post + timeout: 2400 + required-projects: + - openstack/requirements + +- job: + name: octavia-tox-functional-py35 + parent: legacy-base + run: playbooks/legacy/octavia-tox-functional-py35/run + post-run: playbooks/legacy/octavia-tox-functional-py35/post + timeout: 2400 + required-projects: + - openstack/requirements + +- job: + name: octavia-v1-dsvm-scenario + parent: legacy-dsvm-base + run: playbooks/legacy/octavia-v1-dsvm-scenario/run + post-run: playbooks/legacy/octavia-v1-dsvm-scenario/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/barbican + - openstack/diskimage-builder + - openstack/neutron-lbaas + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + - openstack/tripleo-image-elements + +- job: + name: octavia-v1-dsvm-py3x-scenario + parent: legacy-dsvm-base + run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario/run + post-run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/barbican + - openstack/diskimage-builder + - openstack/neutron-lbaas + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + - openstack/tripleo-image-elements + +- job: + name: octavia-v1-dsvm-scenario-multinode + parent: legacy-dsvm-base-multinode + run: playbooks/legacy/octavia-v1-dsvm-scenario-multinode/run + post-run: playbooks/legacy/octavia-v1-dsvm-scenario-multinode/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/barbican + - openstack/diskimage-builder + - openstack/neutron-lbaas + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + - openstack/tripleo-image-elements + nodeset: legacy-ubuntu-xenial-2-node + +- job: + name: octavia-v1-dsvm-py3x-scenario-multinode + parent: legacy-dsvm-base-multinode + run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/run + post-run: playbooks/legacy/octavia-v1-dsvm-py3x-scenario-multinode/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/barbican + - openstack/diskimage-builder + - openstack/neutron-lbaas + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + - openstack/tripleo-image-elements + nodeset: legacy-ubuntu-xenial-2-node + +- job: + name: octavia-v1-dsvm-scenario-kvm-centos.7 + parent: legacy-dsvm-base + run: playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/run + post-run: playbooks/legacy/octavia-v1-dsvm-scenario-kvm-centos.7/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/barbican + - openstack/barbican-tempest-plugin + - openstack/diskimage-builder + - openstack/neutron-lbaas + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + - openstack/tripleo-image-elements + +- job: + name: octavia-v1-dsvm-scenario-lxd + parent: legacy-dsvm-base + run: playbooks/legacy/octavia-v1-dsvm-scenario-lxd/run + post-run: playbooks/legacy/octavia-v1-dsvm-scenario-lxd/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/barbican + - openstack/barbican-tempest-plugin + - openstack/diskimage-builder + - openstack/neutron-lbaas + - openstack/nova-lxd + - openstack/octavia + - openstack/python-barbicanclient + - openstack/python-octaviaclient + - openstack/tripleo-image-elements diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml new file mode 100644 index 0000000000..23398e3ef6 --- /dev/null +++ b/zuul.d/projects.yaml @@ -0,0 +1,153 @@ +# Note: Some official OpenStack wide jobs are still defined in the +# project-config repository +- project: + name: openstack/octavia + check: + jobs: + - neutron-lbaasv2-dsvm-minimal: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-loadbalancer: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-listener: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-pool: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-member: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-healthmonitor: + branches: ^stable/newton + - openstack-tox-cover + - neutron-lbaasv2-dsvm-api: + branches: ^(?!stable/newton).*$ + - neutron-lbaasv2-dsvm-py3x-api: + branches: ^(?!stable) + - neutron-lbaasv2-dsvm-scenario: + voting: false + - neutron-lbaasv2-dsvm-py3x-scenario: + branches: ^(?!stable) + voting: false + - octavia-tox-functional: + branches: ^(?!stable/newton).*$ + - octavia-tox-functional-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - octavia-v1-dsvm-scenario: + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-py3x-scenario: + branches: ^(?!stable) + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-scenario-multinode: + branches: ^(?!stable/newton).*$ + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-py3x-scenario-multinode: + branches: ^(?!stable) + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-scenario-kvm-centos.7: + voting: false + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-scenario-lxd: + voting: false + branches: ^(?!stable/(newton|ocata)).*$ + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + gate: + queue: octavia + jobs: + - neutron-lbaasv2-dsvm-loadbalancer: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-listener: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-pool: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-member: + branches: ^stable/newton + - neutron-lbaasv2-dsvm-healthmonitor: + branches: ^stable/newton + - openstack-tox-cover + - octavia-tox-functional: + branches: ^(?!stable/newton).*$ + - octavia-tox-functional-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - octavia-v1-dsvm-scenario: + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-py3x-scenario: + branches: ^(?!stable) + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-scenario-multinode: + branches: ^(?!stable/newton).*$ + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - octavia-v1-dsvm-py3x-scenario-multinode: + branches: ^(?!stable) + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + - ^releasenotes/.*$ + - ^tempest/hacking/.*$ + - ^tempest/tests/.*$ + - neutron-lbaasv2-dsvm-api: + branches: ^(?!stable/newton).*$ + - neutron-lbaasv2-dsvm-py3x-api: + branches: ^(?!stable)