diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..cc8633f63 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,72 @@ +- project: + name: openstack/vitrage + check: + jobs: + - vitrage-dsvm-api-py27 + - vitrage-dsvm-datasources-py27 + - vitrage-dsvm-api-py35: + voting: false + branches: ^(?!stable/(newton|ocata|pike)).*$ + - vitrage-dsvm-datasources-py35: + voting: false + branches: ^(?!stable/(newton|ocata|pike)).*$ + gate: + jobs: + - vitrage-dsvm-api-py27 + - vitrage-dsvm-datasources-py27 + +- job: + name: vitrage-dsvm-api-py27 + parent: legacy-dsvm-base + run: playbooks/legacy/vitrage-dsvm-api-py27/run + post-run: playbooks/legacy/vitrage-dsvm-api-py27/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/mistral + - openstack/python-vitrageclient + - openstack/vitrage + - openstack/vitrage-dashboard + +- job: + name: vitrage-dsvm-api-py35 + parent: legacy-dsvm-base + run: playbooks/legacy/vitrage-dsvm-api-py35/run + post-run: playbooks/legacy/vitrage-dsvm-api-py35/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/mistral + - openstack/python-vitrageclient + - openstack/vitrage + - openstack/vitrage-dashboard + +- job: + name: vitrage-dsvm-datasources-py27 + parent: legacy-dsvm-base + run: playbooks/legacy/vitrage-dsvm-datasources-py27/run + post-run: playbooks/legacy/vitrage-dsvm-datasources-py27/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/mistral + - openstack/python-vitrageclient + - openstack/vitrage + - openstack/vitrage-dashboard + +- job: + name: vitrage-dsvm-datasources-py35 + parent: legacy-dsvm-base + run: playbooks/legacy/vitrage-dsvm-datasources-py35/run + post-run: playbooks/legacy/vitrage-dsvm-datasources-py35/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/mistral + - openstack/python-vitrageclient + - openstack/vitrage + - openstack/vitrage-dashboard diff --git a/playbooks/legacy/vitrage-dsvm-api-py27/post.yaml b/playbooks/legacy/vitrage-dsvm-api-py27/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-api-py27/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/vitrage-dsvm-api-py27/run.yaml b/playbooks/legacy/vitrage-dsvm-api-py27/run.yaml new file mode 100644 index 000000000..245cd291f --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-api-py27/run.yaml @@ -0,0 +1,82 @@ +- hosts: all + name: Autoconverted job legacy-vitrage-dsvm-api-py27 from old job gate-vitrage-dsvm-api-py27-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 vitrage git://git.openstack.org/openstack/vitrage + + # swift is not ready for python3 yet + disable_service s-account + disable_service s-container + disable_service s-object + disable_service s-proxy + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export PROJECTS="openstack/python-vitrageclient $PROJECTS" + export PROJECTS="openstack/vitrage $PROJECTS" + export PROJECTS="openstack/vitrage-dashboard $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/mistral $PROJECTS" + export ENABLED_SERVICES=tempest + + if [ "py27" == "py35" ] ; then + export DEVSTACK_GATE_USE_PYTHON3=True + else + export DEVSTACK_GATE_USE_PYTHON3=False + fi + + function pre_test_hook { + source $BASE/new/vitrage/devstack/pre_test_hook.sh + } + export -f pre_test_hook + + function gate_hook { + source $BASE/new/vitrage/devstack/gate_hook.sh + } + export -f gate_hook + + function post_test_hook { + source $BASE/new/vitrage/devstack/post_test_hook.sh 'api' + } + 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/vitrage-dsvm-api-py35/post.yaml b/playbooks/legacy/vitrage-dsvm-api-py35/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-api-py35/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/vitrage-dsvm-api-py35/run.yaml b/playbooks/legacy/vitrage-dsvm-api-py35/run.yaml new file mode 100644 index 000000000..e370b8e1c --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-api-py35/run.yaml @@ -0,0 +1,82 @@ +- hosts: all + name: Autoconverted job legacy-vitrage-dsvm-api-py35 from old job gate-vitrage-dsvm-api-py35-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 vitrage git://git.openstack.org/openstack/vitrage + + # swift is not ready for python3 yet + disable_service s-account + disable_service s-container + disable_service s-object + disable_service s-proxy + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export PROJECTS="openstack/python-vitrageclient $PROJECTS" + export PROJECTS="openstack/vitrage $PROJECTS" + export PROJECTS="openstack/vitrage-dashboard $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/mistral $PROJECTS" + export ENABLED_SERVICES=tempest + + if [ "py35" == "py35" ] ; then + export DEVSTACK_GATE_USE_PYTHON3=True + else + export DEVSTACK_GATE_USE_PYTHON3=False + fi + + function pre_test_hook { + source $BASE/new/vitrage/devstack/pre_test_hook.sh + } + export -f pre_test_hook + + function gate_hook { + source $BASE/new/vitrage/devstack/gate_hook.sh + } + export -f gate_hook + + function post_test_hook { + source $BASE/new/vitrage/devstack/post_test_hook.sh 'api' + } + 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/vitrage-dsvm-datasources-py27/post.yaml b/playbooks/legacy/vitrage-dsvm-datasources-py27/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-datasources-py27/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/vitrage-dsvm-datasources-py27/run.yaml b/playbooks/legacy/vitrage-dsvm-datasources-py27/run.yaml new file mode 100644 index 000000000..925f40f29 --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-datasources-py27/run.yaml @@ -0,0 +1,82 @@ +- hosts: all + name: Autoconverted job legacy-vitrage-dsvm-datasources-py27 from old job gate-vitrage-dsvm-datasources-py27-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 vitrage git://git.openstack.org/openstack/vitrage + + # swift is not ready for python3 yet + disable_service s-account + disable_service s-container + disable_service s-object + disable_service s-proxy + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export PROJECTS="openstack/python-vitrageclient $PROJECTS" + export PROJECTS="openstack/vitrage $PROJECTS" + export PROJECTS="openstack/vitrage-dashboard $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/mistral $PROJECTS" + export ENABLED_SERVICES=tempest + + if [ "py27" == "py35" ] ; then + export DEVSTACK_GATE_USE_PYTHON3=True + else + export DEVSTACK_GATE_USE_PYTHON3=False + fi + + function pre_test_hook { + source $BASE/new/vitrage/devstack/pre_test_hook.sh + } + export -f pre_test_hook + + function gate_hook { + source $BASE/new/vitrage/devstack/gate_hook.sh + } + export -f gate_hook + + function post_test_hook { + source $BASE/new/vitrage/devstack/post_test_hook.sh 'datasources' + } + 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/vitrage-dsvm-datasources-py35/post.yaml b/playbooks/legacy/vitrage-dsvm-datasources-py35/post.yaml new file mode 100644 index 000000000..dac875340 --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-datasources-py35/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/vitrage-dsvm-datasources-py35/run.yaml b/playbooks/legacy/vitrage-dsvm-datasources-py35/run.yaml new file mode 100644 index 000000000..c625abc3c --- /dev/null +++ b/playbooks/legacy/vitrage-dsvm-datasources-py35/run.yaml @@ -0,0 +1,82 @@ +- hosts: all + name: Autoconverted job legacy-vitrage-dsvm-datasources-py35 from old job gate-vitrage-dsvm-datasources-py35-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 vitrage git://git.openstack.org/openstack/vitrage + + # swift is not ready for python3 yet + disable_service s-account + disable_service s-container + disable_service s-object + disable_service s-proxy + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export PROJECTS="openstack/python-vitrageclient $PROJECTS" + export PROJECTS="openstack/vitrage $PROJECTS" + export PROJECTS="openstack/vitrage-dashboard $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/mistral $PROJECTS" + export ENABLED_SERVICES=tempest + + if [ "py35" == "py35" ] ; then + export DEVSTACK_GATE_USE_PYTHON3=True + else + export DEVSTACK_GATE_USE_PYTHON3=False + fi + + function pre_test_hook { + source $BASE/new/vitrage/devstack/pre_test_hook.sh + } + export -f pre_test_hook + + function gate_hook { + source $BASE/new/vitrage/devstack/gate_hook.sh + } + export -f gate_hook + + function post_test_hook { + source $BASE/new/vitrage/devstack/post_test_hook.sh 'datasources' + } + 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 }}'