From 3503022ce7bf422ee1c6cc71e0a5ab580c8166e5 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Wed, 20 May 2020 15:05:28 +0200 Subject: [PATCH] Convert neutron-grenade-ovn job to be zuulv3 This patch converts neutron-grenade-ovn job to be Zuulv3 native and adds it as non-voting job to the check queue. Depends-On: https://review.opendev.org/752412 Change-Id: Ie27f7c9313ff4b18eba739e40fdb136036652313 --- .../contributor/testing/ci_scenario_jobs.rst | 3 + .../legacy/neutron-ovn-grenade/post.yaml | 15 --- playbooks/legacy/neutron-ovn-grenade/run.yaml | 84 ------------- zuul.d/grenade.yaml | 118 ++++++++++++++++-- zuul.d/project.yaml | 3 +- 5 files changed, 115 insertions(+), 108 deletions(-) delete mode 100644 playbooks/legacy/neutron-ovn-grenade/post.yaml delete mode 100644 playbooks/legacy/neutron-ovn-grenade/run.yaml diff --git a/doc/source/contributor/testing/ci_scenario_jobs.rst b/doc/source/contributor/testing/ci_scenario_jobs.rst index 43272192823..287211df1a5 100644 --- a/doc/source/contributor/testing/ci_scenario_jobs.rst +++ b/doc/source/contributor/testing/ci_scenario_jobs.rst @@ -112,6 +112,9 @@ Below is summary of those jobs. | neutron-grenade-dvr-multinode | 3.6 | 2 | openvswitch | openvswitch | dvr | False | False | True | Yes | | | | | | | dvr_snat | | | | | +--------------------------------+---------+-------+-------------+-------------+----------+-------+--------+------------+-------------+ + | neutron-grenade-ovn | 3.6 | 2 | OVN | --- | --- | --- | --- | False | no | + | (non-voting) | | | | | | | | | | + +--------------------------------+---------+-------+-------------+-------------+----------+-------+--------+------------+-------------+ Columns description diff --git a/playbooks/legacy/neutron-ovn-grenade/post.yaml b/playbooks/legacy/neutron-ovn-grenade/post.yaml deleted file mode 100644 index e07f5510ae7..00000000000 --- a/playbooks/legacy/neutron-ovn-grenade/post.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- 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/neutron-ovn-grenade/run.yaml b/playbooks/legacy/neutron-ovn-grenade/run.yaml deleted file mode 100644 index 8d6bd294956..00000000000 --- a/playbooks/legacy/neutron-ovn-grenade/run.yaml +++ /dev/null @@ -1,84 +0,0 @@ -- hosts: all - name: Autoconverted job legacy-grenade-dsvm-networking-ovn from old job gate-grenade-dsvm-networking-ovn-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/devstack-gate - dest: devstack-gate - EOF - /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ - https://opendev.org \ - openstack/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 neutron-tempest-plugin https://opendev.org/openstack/neutron-tempest-plugin - - EOF - executable: /bin/bash - chdir: '{{ ansible_user_dir }}/workspace' - environment: '{{ zuul | zuul_legacy_vars }}' - - - shell: - cmd: | - set -e - set -x - export PYTHONUNBUFFERED=true - # Because we are testing a non standard project, add - # our project repository. This makes zuul do the right - # reference magic for testing changes. - export PROJECTS="openstack/networking-ovn openstack/neutron-tempest-plugin openstack/grenade $PROJECTS" - - # TODO(slaweq): this should be probably moved to the grenade repo or - # to the neutron devstack plugin - export GRENADE_PLUGINRC="enable_grenade_plugin networking-ovn https://opendev.org/openstack/networking-ovn" - export DEVSTACK_GATE_GRENADE=pullup - - export DEVSTACK_GATE_NEUTRON=1 - export DEVSTACK_GATE_TEMPEST=1 - export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 - - export BRANCH_OVERRIDE=default - if [ "$BRANCH_OVERRIDE" != "default" ] ; then - export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE - fi - # Keep localrc to be able to set some vars in pre_test_hook - export KEEP_LOCALRC=1 - - function pre_test_hook { - if [ -f $BASE/new/networking-ovn/devstack/pre_test_hook.sh ] ; then - . $BASE/new/networking-ovn/devstack/pre_test_hook.sh - fi - } - export -f pre_test_hook - - function post_test_hook { - if [ -f $BASE/new/networking-ovn/devstack/post_test_hook.sh ] ; then - . $BASE/new/networking-ovn/devstack/post_test_hook.sh - fi - } - export -f post_test_hook - - export DEVSTACK_GATE_SETTINGS=/opt/stack/new/networking-ovn/devstack/devstackgaterc - 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/grenade.yaml b/zuul.d/grenade.yaml index b10ede93061..8e8540b6eb7 100644 --- a/zuul.d/grenade.yaml +++ b/zuul.d/grenade.yaml @@ -106,16 +106,118 @@ availability_zone: nova - job: - name: neutron-ovn-grenade - parent: legacy-dsvm-base - run: playbooks/legacy/neutron-ovn-grenade/run.yaml - post-run: playbooks/legacy/neutron-ovn-grenade/post.yaml + name: neutron-grenade-ovn + parent: grenade-multinode timeout: 9000 irrelevant-files: *irrelevant-files + roles: + - zuul: openstack/neutron-tempest-plugin required-projects: - openstack/grenade - - openstack/devstack-gate + - openstack/neutron - openstack/neutron-tempest-plugin - - openstack/tempest - - openstack/networking-ovn - + pre-run: playbooks/multinode-setup.yaml + vars: + devstack_local_conf: + test-config: + $TEMPEST_CONFIG: + neutron_plugin_options: + is_igmp_snooping_enabled: True + grenade_devstack_localrc: + old: + Q_BUILD_OVS_FROM_GIT: true + # TODO(jlibosva): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created + OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5 + # TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel + # will be released in Ubuntu Bionic. + # More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html + OVN_BUILD_MODULES: true + OVN_BRANCH: v20.06.1 + new: + Q_BUILD_OVS_FROM_GIT: false + OVN_BUILD_MODULES: false + shared: + Q_AGENT: ovn + Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger + Q_ML2_TENANT_NETWORK_TYPE: geneve + Q_USE_PROVIDERNET_FOR_PUBLIC: true + PHYSICAL_NETWORK: public + ENABLE_CHASSIS_AS_GW: true + OVN_L3_CREATE_PUBLIC_NETWORK: true + OVN_DBS_LOG_LEVEL: dbg + OVN_IGMP_SNOOPING_ENABLE: True + devstack_plugins: + neutron: https://opendev.org/openstack/neutron + neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin + zuul_copy_output: + '{{ devstack_base_dir }}/data/ovs': 'logs' + '{{ devstack_base_dir }}/data/ovn': 'logs' + extensions_to_txt: + db: true + devstack_services: + c-bak: false + etcd: false + br-ex-tcpdump: true + br-int-flows: true + q-ovn-metadata-agent: true + ovn-controller: true + ovn-northd: true + ovs-vswitchd: true + ovsdb-server: true + placement-api: true + peakmem_tracker: false + q-svc: true + q-agt: false + q-dhcp: false + q-l3: false + q-meta: false + q-metering: false + q-dns: true + # When running python3 Swift should be disabled for now + s-account: false + s-container: false + s-object: false + s-proxy: false + tls-proxy: false + q-qos: true + group-vars: + subnode: + devstack_services: + br-ex-tcpdump: true + br-int-flows: true + ovn-controller: true + ovn-northd: false + ovs-vswitchd: true + ovsdb-server: true + # NOTE(slaweq): it's just to check if this will force devstack to + # configure neutron and ML2 plugin on subnodes + q-fake: true + q-svc: false + q-agt: false + q-dhcp: false + q-l3: false + q-meta: false + q-metering: false + q-ovn-metadata-agent: true + tls-proxy: false + grenade_devstack_localrc: + old: + Q_BUILD_OVS_FROM_GIT: true + # TODO(jlibosva): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created + OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5 + # TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel + # will be released in Ubuntu Bionic. + # More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html + OVN_BUILD_MODULES: true + OVN_BRANCH: v20.06.1 + new: + Q_BUILD_OVS_FROM_GIT: false + OVN_BUILD_MODULES: false + shared: + Q_AGENT: ovn + Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger + Q_ML2_TENANT_NETWORK_TYPE: geneve + Q_USE_PROVIDERNET_FOR_PUBLIC: true + PHYSICAL_NETWORK: public + ENABLE_CHASSIS_AS_GW: false + OVN_DBS_LOG_LEVEL: dbg diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index dd314bf7d70..08ee64e2dc2 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -19,6 +19,8 @@ - neutron-rally-task - neutron-grenade-multinode - neutron-grenade-dvr-multinode + - neutron-grenade-ovn: + voting: false - neutron-tempest-linuxbridge - neutron-tempest-with-uwsgi - neutron-tempest-multinode-full-py3 @@ -106,7 +108,6 @@ experimental: jobs: - neutron-ovn-tempest-ovs-master - - neutron-ovn-grenade periodic: jobs: