From 6264851b58cdca394fd3a8efd63d465a10296989 Mon Sep 17 00:00:00 2001 From: Nam Nguyen Hoai Date: Fri, 6 Oct 2017 13:41:37 +0700 Subject: [PATCH] Migrate to Zuul v3 Migrate all functional jobs and gate to zuul v3. We will have to migrate all other legacy jobs too later. This patch do step 1 in the docs: Move Legacy Jobs to Projects. Co-Authored-By: Dai Dang Van Change-Id: Ie2f41fd211dad4852fadaa05fdda7536f18b38eb Needed-By: I9fdfe396e6f84b632fae182dade30914865bd3bf Needed-By: I8e093bd3bb880b6b2c11a20e785c5a562f66159c --- .zuul.yaml | 98 +++++++++++++++++++ .../congress-devstack-api-base/post.yaml | 80 +++++++++++++++ .../congress-devstack-api-base/run.yaml | 86 ++++++++++++++++ .../post.yaml | 80 +++++++++++++++ .../congress-devstack-py35-api-mysql/run.yaml | 93 ++++++++++++++++++ .../congress-pe-replicated-base/post.yaml | 80 +++++++++++++++ .../congress-pe-replicated-base/run.yaml | 86 ++++++++++++++++ 7 files changed, 603 insertions(+) create mode 100644 .zuul.yaml create mode 100644 playbooks/legacy/congress-devstack-api-base/post.yaml create mode 100644 playbooks/legacy/congress-devstack-api-base/run.yaml create mode 100644 playbooks/legacy/congress-devstack-py35-api-mysql/post.yaml create mode 100644 playbooks/legacy/congress-devstack-py35-api-mysql/run.yaml create mode 100644 playbooks/legacy/congress-pe-replicated-base/post.yaml create mode 100644 playbooks/legacy/congress-pe-replicated-base/run.yaml diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..b88231224 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,98 @@ +- job: + name: congress-devstack-api-base + parent: legacy-dsvm-base + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/congress + - openstack/congress-dashboard + - openstack/designate + - openstack/designate-tempest-plugin + - openstack/murano + - openstack/murano-dashboard + - openstack/python-aodhclient + - openstack/python-congressclient + - openstack/python-muranoclient + run: playbooks/legacy/congress-devstack-api-base/run.yaml + post-run: playbooks/legacy/congress-devstack-api-base/post.yaml + timeout: 6000 + +- job: + name: congress-pe-replicated-base + parent: legacy-dsvm-base + vars: + database: mysql + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/congress + - openstack/congress-dashboard + - openstack/designate + - openstack/designate-tempest-plugin + - openstack/python-aodhclient + - openstack/python-congressclient + - openstack/murano + - openstack/murano-dashboard + - openstack/python-muranoclient + run: playbooks/legacy/congress-pe-replicated-base/run.yaml + post-run: playbooks/legacy/congress-pe-replicated-base/post.yaml + timeout: 6000 + +- job: + name: congress-devstack-api-mysql + parent: congress-devstack-api-base + vars: + database: mysql + +- job: + name: congress-devstack-api-postgresql + parent: congress-devstack-api-base + voting: false + vars: + database: postgresql + +- job: + name: congress-devstack-py35-api-mysql + parent: legacy-dsvm-base + voting: false + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/congress + - openstack/congress-dashboard + - openstack/designate + - openstack/designate-tempest-plugin + - openstack/murano + - openstack/murano-dashboard + - openstack/python-aodhclient + - openstack/python-congressclient + - openstack/python-muranoclient + run: playbooks/legacy/congress-devstack-py35-api-mysql/run.yaml + post-run: playbooks/legacy/congress-devstack-py35-api-mysql/post.yaml + timeout: 6000 + +- job: + name: congress-pe-replicated-mysql + parent: congress-pe-replicated-base + voting: false + + +- job: + name: congress-pe-replicated-postgresql + parent: congress-pe-replicated-base + voting: false + vars: + database: postgresql + +- project: + name: openstack/congress + check: + jobs: + - congress-devstack-api-mysql + - congress-devstack-py35-api-mysql + - congress-devstack-api-postgresql + - congress-pe-replicated-mysql + - congress-pe-replicated-postgresql + gate: + jobs: + - congress-devstack-api-mysql diff --git a/playbooks/legacy/congress-devstack-api-base/post.yaml b/playbooks/legacy/congress-devstack-api-base/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/congress-devstack-api-base/post.yaml @@ -0,0 +1,80 @@ +- 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 + + - 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/congress-devstack-api-base/run.yaml b/playbooks/legacy/congress-devstack-api-base/run.yaml new file mode 100644 index 000000000..93b88267a --- /dev/null +++ b/playbooks/legacy/congress-devstack-api-base/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Autoconverted job legacy-congress-dsvm-api-mysql from old job gate-congress-dsvm-api-mysql-ubuntu-xenial + 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 ceilometer git://git.openstack.org/openstack/ceilometer + enable_plugin heat git://git.openstack.org/openstack/heat + enable_plugin congress git://git.openstack.org/openstack/congress + enable_plugin murano git://git.openstack.org/openstack/murano + enable_plugin aodh git://git.openstack.org/openstack/aodh + enable_plugin designate git://git.openstack.org/openstack/designate + enable_plugin neutron https://git.openstack.org/openstack/neutron + # To deploy congress as multi-process (api, pe, datasources) + CONGRESS_MULTIPROCESS_DEPLOYMENT=True + CONGRESS_EXPOSE_ENCRYPTION_KEY_FOR_TEST=True + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + ENABLED_SERVICES=s-proxy,s-object,s-container,s-account, + ENABLED_SERVICES+=h-eng,h-api,h-api-cfn,h-api-cw, + ENABLED_SERVICES+=q-qos + + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_TEMPEST_REGEX="congress_tempest_tests" + export DEVSTACK_GATE_NEUTRON=1 + export PROJECTS="openstack/congress $PROJECTS" + export PROJECTS="openstack/congress-dashboard $PROJECTS" + export DEVSTACK_PROJECT_FROM_GIT=python-congressclient + export PROJECTS="openstack/murano $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/murano-dashboard $PROJECTS" + export PROJECTS="openstack/python-muranoclient $PROJECTS" + export PROJECTS="openstack/python-aodhclient $PROJECTS" + export PROJECTS="openstack/designate $PROJECTS" + export PROJECTS="openstack/designate-tempest-plugin $PROJECTS" + + export ENABLED_SERVICES + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + if [ "{{ database }}" == "postgresql" ] ; then + export DEVSTACK_GATE_POSTGRES=1 + fi + + 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/congress-devstack-py35-api-mysql/post.yaml b/playbooks/legacy/congress-devstack-py35-api-mysql/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/congress-devstack-py35-api-mysql/post.yaml @@ -0,0 +1,80 @@ +- 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 + + - 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/congress-devstack-py35-api-mysql/run.yaml b/playbooks/legacy/congress-devstack-py35-api-mysql/run.yaml new file mode 100644 index 000000000..cbdb1bbb6 --- /dev/null +++ b/playbooks/legacy/congress-devstack-py35-api-mysql/run.yaml @@ -0,0 +1,93 @@ +- hosts: all + name: Autoconverted job legacy-congress-dsvm-py35-api-mysql from old job gate-congress-dsvm-py35-api-mysql-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]] + # swift is not ready for python3 yet + disable_service s-account + disable_service s-container + disable_service s-object + disable_service s-proxy + # without Swift, c-bak cannot run (in the Gate at least) + disable_service c-bak + # disable all plug-ins for now except congress + # enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer + # enable_plugin heat git://git.openstack.org/openstack/heat + enable_plugin congress git://git.openstack.org/openstack/congress + # enable_plugin murano git://git.openstack.org/openstack/murano + # enable_plugin aodh git://git.openstack.org/openstack/aodh + # enable_plugin designate git://git.openstack.org/openstack/designate + # To deploy congress as multi-process (api, pe, datasources) + CONGRESS_MULTIPROCESS_DEPLOYMENT=True + CONGRESS_EXPOSE_ENCRYPTION_KEY_FOR_TEST=True + + EOF + 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 + # swift is not ready for python3 yet + # ENABLED_SERVICES=s-proxy,s-object,s-container,s-account, + # ENABLED_SERVICES+=h-eng,h-api,h-api-cfn,h-api-cw + + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_TEMPEST_REGEX="congress_tempest_tests" + export DEVSTACK_GATE_NEUTRON=1 + export PROJECTS="openstack/congress $PROJECTS" + export PROJECTS="openstack/congress-dashboard $PROJECTS" + export PROJECTS="openstack/python-congressclient $PROJECTS" + export PROJECTS="openstack/murano $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/murano-dashboard $PROJECTS" + export PROJECTS="openstack/python-muranoclient $PROJECTS" + export PROJECTS="openstack/python-aodhclient $PROJECTS" + export PROJECTS="openstack/designate $PROJECTS" + export PROJECTS="openstack/designate-tempest-plugin $PROJECTS" + + export ENABLED_SERVICES + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + if [ "mysql" == "postgresql" ] ; then + export DEVSTACK_GATE_POSTGRES=1 + fi + + 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/congress-pe-replicated-base/post.yaml b/playbooks/legacy/congress-pe-replicated-base/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/congress-pe-replicated-base/post.yaml @@ -0,0 +1,80 @@ +- 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 + + - 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/congress-pe-replicated-base/run.yaml b/playbooks/legacy/congress-pe-replicated-base/run.yaml new file mode 100644 index 000000000..863bfb0a3 --- /dev/null +++ b/playbooks/legacy/congress-pe-replicated-base/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Congress pe-replicated base + 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 ceilometer git://git.openstack.org/openstack/ceilometer + enable_plugin heat git://git.openstack.org/openstack/heat + enable_plugin congress git://git.openstack.org/openstack/congress + enable_plugin murano git://git.openstack.org/openstack/murano + enable_plugin aodh git://git.openstack.org/openstack/aodh + enable_plugin designate git://git.openstack.org/openstack/designate + enable_plugin neutron https://git.openstack.org/openstack/neutron + CONGRESS_REPLICATED=True + # To deploy congress as multi-process (api, pe, datasources) + CONGRESS_MULTIPROCESS_DEPLOYMENT=True + CONGRESS_EXPOSE_ENCRYPTION_KEY_FOR_TEST=True + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + ENABLED_SERVICES=s-proxy,s-object,s-container,s-account, + ENABLED_SERVICES+=h-eng,h-api,h-api-cfn,h-api-cw, + ENABLED_SERVICES+=q-qos + + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_TEMPEST_REGEX="congress_tempest_tests" + export DEVSTACK_GATE_NEUTRON=1 + export PROJECTS="openstack/congress $PROJECTS" + export PROJECTS="openstack/congress-dashboard $PROJECTS" + export DEVSTACK_PROJECT_FROM_GIT=python-congressclient + export PROJECTS="openstack/murano $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/murano-dashboard $PROJECTS" + export PROJECTS="openstack/python-muranoclient $PROJECTS" + export PROJECTS="openstack/python-aodhclient $PROJECTS" + export PROJECTS="openstack/designate $PROJECTS" + export PROJECTS="openstack/designate-tempest-plugin $PROJECTS" + + export ENABLED_SERVICES + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + if [ "{{ database }}" == "postgresql" ] ; then + export DEVSTACK_GATE_POSTGRES=1 + fi + + 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 }}'