diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 00000000..89a244a1 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,105 @@ +- job: + name: kuryr-libnetwork-fullstack-base + parent: legacy-dsvm-base + vars: + use_python3: 0 + use_src: 0 + run: playbooks/kuryr-libnetwork-fullstack-base/run + post-run: playbooks/kuryr-libnetwork-fullstack-base/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/devstack-plugin-container + - openstack/kuryr + - openstack/kuryr-libnetwork + +- job: + name: kuryr-libnetwork-rally-base + parent: legacy-dsvm-base + run: playbooks/kuryr-libnetwork-rally-base/run + post-run: playbooks/kuryr-libnetwork-rally-base/post + timeout: 7800 + vars: + use_src: 0 + required-projects: + - openstack-infra/devstack-gate + - openstack/devstack-plugin-container + - openstack/kuryr + - openstack/kuryr-libnetwork + - openstack/rally + voting: false + +- job: + name: kuryr-libnetwork-install + parent: legacy-dsvm-base + run: playbooks/kuryr-libnetwork-install/run + post-run: playbooks/kuryr-libnetwork-install/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/devstack-plugin-container + - openstack/kuryr + - openstack/kuryr-libnetwork + voting: false + +- job: + name: kuryr-libnetwork-install-multinode + parent: legacy-dsvm-base-multinode + run: playbooks/kuryr-libnetwork-install-multinode/run + post-run: playbooks/kuryr-libnetwork-install-multinode/post + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/devstack-plugin-container + - openstack/kuryr + - openstack/kuryr-libnetwork + nodeset: legacy-ubuntu-xenial-2-node + +- job: + name: kuryr-libnetwork-fullstack + parent: kuryr-libnetwork-fullstack-base + +- job: + name: kuryr-libnetwork-fullstack-py35 + parent: kuryr-libnetwork-fullstack-base + vars: + use_python3: 1 + +- job: + name: kuryr-libnetwork-kuryr_lib-src-fullstack + parent: kuryr-libnetwork-fullstack-base + vars: + use_src: 1 + branches: master + voting: false + +- job: + name: kuryr-libnetwork-rally + parent: kuryr-libnetwork-rally-base + +- job: + name: kuryr-libnetwork-kuryr_lib-src-rally + parent: kuryr-libnetwork-rally-base + vars: + use_src: 1 + branches: master + voting: false + +- project: + name: openstack/kuryr-libnetwork + check: + jobs: + - kuryr-libnetwork-install + - kuryr-libnetwork-kuryr_lib-src-fullstack + - kuryr-libnetwork-fullstack + - kuryr-libnetwork-kuryr_lib-src-rally + - kuryr-libnetwork-fullstack-py35 + - kuryr-libnetwork-rally + gate: + jobs: + - kuryr-libnetwork-kuryr_lib-src-fullstack + - kuryr-libnetwork-fullstack + - kuryr-libnetwork-fullstack-py35 + experimental: + jobs: + - kuryr-libnetwork-install-multinode diff --git a/playbooks/kuryr-libnetwork-fullstack-base/post.yaml b/playbooks/kuryr-libnetwork-fullstack-base/post.yaml new file mode 100644 index 00000000..dac87534 --- /dev/null +++ b/playbooks/kuryr-libnetwork-fullstack-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/kuryr-libnetwork-fullstack-base/run.yaml b/playbooks/kuryr-libnetwork-fullstack-base/run.yaml new file mode 100644 index 00000000..c8a15d39 --- /dev/null +++ b/playbooks/kuryr-libnetwork-fullstack-base/run.yaml @@ -0,0 +1,83 @@ +- hosts: all + name: Autoconverted job legacy-kuryr-libnetwork-dsvm-fullstack from old job gate-kuryr-libnetwork-dsvm-fullstack-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 kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork + + 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=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/kuryr-libnetwork $PROJECTS" + if [ "{{ use_src }}" -eq 1 ] ; then + export DEVSTACK_PROJECT_FROM_GIT="kuryr" + fi + if [ "{{ use_python3 }}" -eq 1 ]; then + export DEVSTACK_GATE_USE_PYTHON3=True + # swift is not ready for python3 yet + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy" + else + export DEVSTACK_GATE_USE_PYTHON3=False + fi + export PROJECTS="openstack/devstack-plugin-container $PROJECTS" + + function gate_hook { + bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/gate_hook.sh fullstack + } + export -f gate_hook + + function post_test_hook { + bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/post_test_hook.sh fullstack + } + 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/kuryr-libnetwork-install-multinode/post.yaml b/playbooks/kuryr-libnetwork-install-multinode/post.yaml new file mode 100644 index 00000000..e07f5510 --- /dev/null +++ b/playbooks/kuryr-libnetwork-install-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/kuryr-libnetwork-install-multinode/run.yaml b/playbooks/kuryr-libnetwork-install-multinode/run.yaml new file mode 100644 index 00000000..8013a2cd --- /dev/null +++ b/playbooks/kuryr-libnetwork-install-multinode/run.yaml @@ -0,0 +1,73 @@ +- hosts: primary + name: Autoconverted job legacy-install-dsvm-kuryr-libnetwork-multinode from old + job gate-install-dsvm-kuryr-libnetwork-multinode-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 kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork + + 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_NEUTRON=1 + + export DEVSTACK_GATE_TEMPEST=0 + + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + if [ "-multinode" == "-multinode" ]; then + export CAPABILITY_SCOPE="global" + fi + + export PROJECTS="openstack/kuryr-libnetwork $PROJECTS" + export PROJECTS="openstack/devstack-plugin-container $PROJECTS" + + # Keep localrc to be able to set some vars in pre_test_hook + export KEEP_LOCALRC=1 + + function gate_hook { + bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/gate_hook.sh + } + export -f gate_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/kuryr-libnetwork-install/post.yaml b/playbooks/kuryr-libnetwork-install/post.yaml new file mode 100644 index 00000000..e07f5510 --- /dev/null +++ b/playbooks/kuryr-libnetwork-install/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/kuryr-libnetwork-install/run.yaml b/playbooks/kuryr-libnetwork-install/run.yaml new file mode 100644 index 00000000..b1a6ed22 --- /dev/null +++ b/playbooks/kuryr-libnetwork-install/run.yaml @@ -0,0 +1,72 @@ +- hosts: all + name: Autoconverted job legacy-install-dsvm-kuryr-libnetwork from old job gate-install-dsvm-kuryr-libnetwork-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 kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork + + 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_NEUTRON=1 + + export DEVSTACK_GATE_TEMPEST=0 + + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + if [ "" == "-multinode" ]; then + export CAPABILITY_SCOPE="global" + fi + + export PROJECTS="openstack/kuryr-libnetwork $PROJECTS" + export PROJECTS="openstack/devstack-plugin-container $PROJECTS" + + # Keep localrc to be able to set some vars in pre_test_hook + export KEEP_LOCALRC=1 + + function gate_hook { + bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/gate_hook.sh + } + export -f gate_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/kuryr-libnetwork-rally-base/post.yaml b/playbooks/kuryr-libnetwork-rally-base/post.yaml new file mode 100644 index 00000000..46ded306 --- /dev/null +++ b/playbooks/kuryr-libnetwork-rally-base/post.yaml @@ -0,0 +1,106 @@ +- 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 + + - 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/playbooks/kuryr-libnetwork-rally-base/run.yaml b/playbooks/kuryr-libnetwork-rally-base/run.yaml new file mode 100644 index 00000000..75696473 --- /dev/null +++ b/playbooks/kuryr-libnetwork-rally-base/run.yaml @@ -0,0 +1,74 @@ +- hosts: all + name: Autoconverted job legacy-kuryr-libnetwork-dsvm-rally from old job gate-kuryr-libnetwork-dsvm-rally-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 kuryr-libnetwork http://git.openstack.org/openstack/kuryr-libnetwork + enable_plugin rally git://git.openstack.org/openstack/rally + + 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_NEUTRON=1 + export RALLY_SCENARIO=kuryr-libnetwork + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/kuryr-libnetwork $PROJECTS" + export PROJECTS="openstack/rally $PROJECTS" + export PROJECTS="openstack/devstack-plugin-container $PROJECTS" + + if [ "{{ use_src }}" -e 1 ] ; then + export DEVSTACK_PROJECT_FROM_GIT="kuryr" + fi + + + function gate_hook { + bash -xe $BASE/new/kuryr-libnetwork/kuryr_libnetwork/tests/contrib/gate_hook.sh + } + export -f gate_hook + + function post_test_hook { + $BASE/new/rally/tests/ci/rally-gate.sh + } + 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 }}'