From 49c0d0548a4dbe618e04d02682da495d82a191f9 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Wed, 27 Nov 2019 12:16:12 +0100 Subject: [PATCH] Move zuul jobs definitions to zuul.d directory We already have many different jobs defined for Zuul in Neutron repo. Up to now all those jobs were in .zuul.yaml file but this file growth really big and it was hard to read and navigate in it. So this patch proposes to move jobs definitions to zuul.d directory to separate yaml files per "job types". So there will be now separate files with definitions for: * grenade jobs, * base jobs like functional and fullstack, * rally jobs, * tempest multi node jobs, * tempest single node jobs, * tripleo jobs. And maybe others in the future. Change-Id: Ia77f59fded0e6e0ae328d866a7486af02b50c2d7 --- .zuul.yaml | 838 --------------------------------- zuul.d/base.yaml | 59 +++ zuul.d/grenade.yaml | 63 +++ zuul.d/project.yaml | 105 +++++ zuul.d/rally.yaml | 84 ++++ zuul.d/tempest-multinode.yaml | 235 +++++++++ zuul.d/tempest-singlenode.yaml | 276 +++++++++++ zuul.d/tripleo.yaml | 32 ++ 8 files changed, 854 insertions(+), 838 deletions(-) delete mode 100644 .zuul.yaml create mode 100644 zuul.d/base.yaml create mode 100644 zuul.d/grenade.yaml create mode 100644 zuul.d/project.yaml create mode 100644 zuul.d/rally.yaml create mode 100644 zuul.d/tempest-multinode.yaml create mode 100644 zuul.d/tempest-singlenode.yaml create mode 100644 zuul.d/tripleo.yaml diff --git a/.zuul.yaml b/.zuul.yaml deleted file mode 100644 index d09dc4705be..00000000000 --- a/.zuul.yaml +++ /dev/null @@ -1,838 +0,0 @@ -# NOTE: In doc/source/contributor/testing/ci_scenario_jobs.rst file there is -# document with summary of all tempest, neutron-tempest-plugin and grenade jobs -# summary. -# Please update this document always when any changes to jobs are made. -- project: - templates: - - neutron-tempest-plugin-jobs - - openstack-cover-jobs - - openstack-lower-constraints-jobs - - openstack-python3-ussuri-jobs - - publish-openstack-docs-pti - - periodic-stable-jobs - - check-requirements - - release-notes-jobs-python3 - check: - jobs: - - neutron-functional - - neutron-fullstack - - neutron-rally-task - - neutron-tempest-dvr - - neutron-tempest-linuxbridge - - neutron-grenade-multinode - - neutron-grenade-dvr-multinode - - tempest-integrated-networking: - # We don't run the job on things like neutron docs-only changes - irrelevant-files: &tempest-irrelevant-files - - ^(test-|)requirements.txt$ - - ^.*\.rst$ - - ^doc/.*$ - - ^neutron/locale/.*$ - - ^neutron/tests/unit/.*$ - - ^releasenotes/.*$ - - ^setup.cfg$ - - ^tools/.*$ - - ^tox.ini$ - - ^vagrant/.*$ - - ^migration/.*$ - - tempest-multinode-full-py3: - voting: false - irrelevant-files: *tempest-irrelevant-files - - neutron-tempest-dvr-ha-multinode-full - - neutron-tempest-iptables_hybrid - - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa: - voting: false - irrelevant-files: *tempest-irrelevant-files - - tempest-slow-py3: - irrelevant-files: *tempest-irrelevant-files - #- neutron-ovn-tempest-ovs-release - - networking-midonet-tempest-aio-ml2-centos-7: - voting: false - irrelevant-files: *tempest-irrelevant-files - - tempest-ipv6-only: - irrelevant-files: *tempest-irrelevant-files - - openstacksdk-functional-devstack-networking: - voting: false - - neutron-functional-with-uwsgi: - voting: false - - neutron-fullstack-with-uwsgi: - voting: false - - neutron-tempest-with-uwsgi: - voting: false - - neutron-centos-7-tripleo-standalone - #- neutron-ovn-rally-task - # TripleO jobs that deploy OVN. - # Note we don't use a project-template here, so it's easier - # to disable voting on one specific job if things go wrong. - # In Stein and beyond, fs010 will run using - # networking-ovn-tripleo-ci-centos-7-containers-multinode. - # If you need any support to debug these jobs in case of - # failures, please reach us on #tripleo IRC channel. - #- neutron-ovn-tripleo-ci-centos-7-containers-multinode - - neutron-ovn-tempest-slow: - voting: false - - neutron-ovn-tempest-full-multinode-ovs-master: - voting: false - gate: - jobs: - - neutron-functional - - neutron-fullstack - - tempest-integrated-networking - - neutron-tempest-dvr - - neutron-tempest-linuxbridge - - neutron-tempest-iptables_hybrid - - neutron-grenade-multinode - - neutron-grenade-dvr-multinode - - tempest-slow-py3: - irrelevant-files: *tempest-irrelevant-files - - tempest-ipv6-only: - irrelevant-files: *tempest-irrelevant-files - #- neutron-ovn-tempest-ovs-release - #- neutron-ovn-rally-task - #- neutron-ovn-tripleo-ci-centos-7-containers-multinode - - experimental: - jobs: - - neutron-ovn-tempest-ovs-master - - neutron-ovn-grenade - - periodic: - jobs: - - neutron-functional - - neutron-tempest-postgres-full - - neutron-tempest-mariadb-full - - neutron-tempest-with-os-ken-master - - neutron-ovn-tempest-ovs-master-fedora - -- job: - name: neutron-functional - parent: devstack-minimal - description: Run neutron functional tests - timeout: 7800 - required-projects: - - opendev.org/openstack/devstack - - openstack/neutron - - openstack/requirements - roles: - - zuul: openstack/devstack - pre-run: playbooks/configure_functional_job.yaml - run: playbooks/run_functional_job.yaml - post-run: playbooks/post_functional_job.yaml - irrelevant-files: - - ^.*\.rst$ - - ^doc/.*$ - - ^neutron/locale/.*$ - - ^releasenotes/.*$ - vars: - devstack_services: - # Ignore any default set by devstack. Emit a "disable_all_services". - base: false - devstack_localrc: - USE_PYTHON3: true - INSTALL_TESTONLY_PACKAGES: true - DATABASE_PASSWORD: stackdb - tox_envlist: dsvm-functional - tox_install_siblings: false - tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt' - zuul_copy_output: - # We need to copy directory with logs to have it in job artifacts also, - # /opt/stack/logs is default logs directory defined in neutron's - # tox.ini file - '{{ devstack_base_dir }}/logs/dsvm-functional-logs': logs - -- job: - name: neutron-fullstack - parent: neutron-functional - vars: - tox_envlist: dsvm-fullstack - zuul_copy_output: - # We need to copy directory with logs to have it in job artifacts also, - # /opt/stack/logs is default logs directory defined in neutron's - # tox.ini file - '{{ devstack_base_dir }}/logs/dsvm-fullstack-logs': logs - -- job: - name: neutron-rally-task - parent: rally-task-neutron - timeout: 10800 - vars: - devstack_localrc: - USE_PYTHON3: true - OSPROFILER_COLLECTOR: redis - OSPROFILER_HMAC_KEYS: "neutron-hmac-key-used-in-zuul-ci" - rally_task: rally-jobs/task-neutron.yaml - devstack_plugins: - osprofiler: https://opendev.org/openstack/osprofiler - rally-openstack: https://opendev.org/openstack/rally-openstack - neutron: https://opendev.org/openstack/neutron - devstack_services: - neutron-trunk: true - devstack_local_conf: - post-config: - $NEUTRON_CONF: - DEFAULT: - enable_code_profiling: True - required-projects: - - openstack/rally - - openstack/rally-openstack - - openstack/osprofiler - irrelevant-files: - - ^.*\.rst$ - - ^doc/.*$ - - ^neutron/locale/.*$ - - ^neutron/tests/unit/.*$ - - ^releasenotes/.*$ - - ^tools/.*$ - - ^tox.ini$ - -- job: - name: neutron-ovn-rally-task - parent: rally-task-at-devstack - required-projects: - - name: openstack/devstack - - name: openstack/devstack-gate - - name: openstack/rally - - name: openstack/rally-openstack - - name: openstack/networking-ovn - irrelevant-files: *tempest-irrelevant-files - vars: - devstack_plugins: - rally-openstack: https://opendev.org/openstack/rally-openstack - networking-ovn: https://opendev.org/openstack/networking-ovn - zuul_copy_output: - '{{ devstack_base_dir }}/data/ovs': 'logs' - extensions_to_txt: - db: true - devstack_services: - ovn-northd: true - ovn-controller: true - ovs-vswitchd: true - ovsdb-server: true - networking-ovn-metadata-agent: true - br-ex-tcpdump: true - br-int-flows: true - q-dhcp: false - q-l3: false - q-agt: false - q-meta: false - q-metering: false - devstack_localrc: - USE_PYTHON3: true - PHYSICAL_NETWORK: public - Q_USE_PROVIDERNET_FOR_PUBLIC: true - ENABLE_CHASSIS_AS_GW: true - OVN_L3_CREATE_PUBLIC_NETWORK: true - OVN_BRANCH: master - devstack_local_conf: - post-config: - "${RALLY_CONF_DIR}/${RALLY_CONF_FILE}": - openstack: - neutron_bind_l2_agent_types: "OVN Controller Gateway agent" - rally_task: rally-jobs/task-neutron.yaml - timeout: 7800 - -- job: - name: neutron-tempest-dvr - parent: tempest-integrated-networking - timeout: 10800 - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - vars: - tempest_concurrency: 4 - devstack_localrc: - Q_DVR_MODE: dvr_snat - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-tempest-linuxbridge - parent: tempest-integrated-networking - timeout: 10800 - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - vars: - tempest_concurrency: 4 - devstack_localrc: - Q_AGENT: linuxbridge - irrelevant-files: - - ^(test-|)requirements.txt$ - - ^.*\.rst$ - - ^doc/.*$ - - ^neutron/locale/.*$ - - ^neutron/tests/.*$ - - ^neutron/tests/unit/.*$ - - ^releasenotes/.*$ - - ^setup.cfg$ - - ^tools/.*$ - - ^tox.ini$ - -- job: - name: neutron-grenade-multinode - parent: legacy-dsvm-base-multinode - run: playbooks/legacy/neutron-grenade-multinode/run.yaml - post-run: playbooks/legacy/neutron-grenade-multinode/post.yaml - timeout: 10800 - required-projects: - - openstack/grenade - - openstack/devstack-gate - - openstack/neutron - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-grenade-dvr-multinode - parent: legacy-dsvm-base-multinode - run: playbooks/legacy/neutron-grenade-dvr-multinode/run.yaml - post-run: playbooks/legacy/neutron-grenade-dvr-multinode/post.yaml - timeout: 7500 - required-projects: - - openstack/grenade - - openstack/devstack-gate - - openstack/neutron - irrelevant-files: *tempest-irrelevant-files - -- 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 - timeout: 9000 - irrelevant-files: *tempest-irrelevant-files - required-projects: - - openstack/grenade - - openstack/devstack-gate - - openstack/neutron-tempest-plugin - - openstack/tempest - - openstack/networking-ovn - -- job: - name: neutron-tempest-dvr-ha-multinode-full - parent: tempest-multinode-full-py3 - nodeset: openstack-three-node-bionic - timeout: 10800 - roles: - - zuul: openstack/neutron-tempest-plugin - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml - irrelevant-files: *tempest-irrelevant-files - voting: false - vars: - devstack_local_conf: - post-config: - $NEUTRON_CONF: - DEFAULT: - router_distributed: True - l3_ha: True - # NOTE(slaweq): We can get rid of this hardcoded absolute path when - # devstack-tempest job will be switched to use lib/neutron instead of - # lib/neutron-legacy - "/$NEUTRON_CORE_PLUGIN_CONF": - ml2: - mechanism_drivers: openvswitch,l2population - agent: - enable_distributed_routing: True - l2_population: True - tunnel_types: vxlan - arp_responder: True - ovs: - tunnel_bridge: br-tun - bridge_mappings: public:br-ex - $NEUTRON_L3_CONF: - DEFAULT: - agent_mode: dvr - agent: - availability_zone: nova - $NEUTRON_DHCP_CONF: - agent: - availability_zone: nova - group-vars: - subnode: - devstack_services: - q-agt: true - q-l3: true - q-meta: true - devstack_localrc: - USE_PYTHON3: true - devstack_local_conf: - post-config: - $NEUTRON_CONF: - DEFAULT: - router_distributed: True - # NOTE(slaweq): We can get rid of this hardcoded absolute path when - # devstack-tempest job will be switched to use lib/neutron instead of - # lib/neutron-legacy - "/$NEUTRON_CORE_PLUGIN_CONF": - agent: - enable_distributed_routing: True - l2_population: True - tunnel_types: vxlan - arp_responder: True - ovs: - tunnel_bridge: br-tun - bridge_mappings: public:br-ex - $NEUTRON_L3_CONF: - DEFAULT: - agent_mode: dvr_snat - agent: - availability_zone: nova - -- job: - name: neutron-tempest-iptables_hybrid - parent: tempest-integrated-networking - timeout: 10800 - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - vars: - tempest_concurrency: 4 - devstack_plugins: - neutron: https://opendev.org/openstack/neutron.git - devstack_services: - tls-proxy: false - tempest: true - neutron-dns: true - neutron-qos: true - neutron-segments: true - neutron-trunk: true - neutron-uplink-status-propagation: true - devstack_local_conf: - post-config: - $NEUTRON_CONF: - QUOTAS: - quota_router: 100 - quota_floatingip: 500 - quota_security_group: 100 - quota_security_group_rule: 1000 - # NOTE(slaweq): We can get rid of this hardcoded absolute path when - # devstack-tempest job will be switched to use lib/neutron instead of - # lib/neutron-legacy - "/$NEUTRON_CORE_PLUGIN_CONF": - ml2_type_vlan: - network_vlan_ranges: foo:1:10 - agent: - enable_distributed_routing: True - l2_population: True - tunnel_types: vxlan,gre - arp_responder: True - securitygroup: - firewall_driver: iptables_hybrid - $NEUTRON_L3_CONF: - agent: - availability_zone: nova - $NEUTRON_DHCP_CONF: - agent: - availability_zone: nova - test-config: - $TEMPEST_CONFIG: - neutron_plugin_options: - provider_vlans: foo, - agent_availability_zone: nova - image_is_advanced: true - available_type_drivers: flat,geneve,vlan,gre,local,vxlan - irrelevant-files: *tempest-irrelevant-files - -- job: - # TODO(slaweq): remove this job definition when all other projects will use - # grenade-py3 instead - name: neutron-grenade - parent: legacy-dsvm-base - run: playbooks/legacy/neutron-grenade/run.yaml - post-run: playbooks/legacy/neutron-grenade/post.yaml - timeout: 10800 - required-projects: - - openstack/grenade - - openstack/devstack-gate - - openstack/neutron - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-tempest-postgres-full - parent: tempest-integrated-networking - timeout: 7800 - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - vars: - devstack_services: - postgresql: true - mysql: false - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-tempest-mariadb-full - parent: tempest-integrated-networking - timeout: 7800 - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - vars: - devstack_localrc: - MYSQL_SERVICE_NAME: mariadb - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-tempest-with-os-ken-master - parent: tempest-integrated-networking - timeout: 7800 - required-projects: - - openstack/devstack-gate - - openstack/neutron - - openstack/tempest - - openstack/os-ken - -- job: - name: neutron-fullstack-with-uwsgi - parent: neutron-fullstack - vars: - devstack_localrc: - NEUTRON_DEPLOY_MOD_WSGI: true - -- job: - name: neutron-functional-with-uwsgi - parent: neutron-functional - vars: - devstack_localrc: - NEUTRON_DEPLOY_MOD_WSGI: true - -- job: - name: neutron-tempest-with-uwsgi - parent: tempest-integrated-networking - description: Run neutron Tempest tests with uwsgi - timeout: 8400 - vars: - devstack_localrc: - NEUTRON_DEPLOY_MOD_WSGI: true - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-centos-7-tripleo-standalone - parent: tripleo-ci-base-standalone - nodeset: single-centos-7-node - voting: false - vars: - featureset: '052' - featureset_override: - standalone_environment_files: - - 'environments/services/neutron-ovs.yaml' - tempest_test_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-ovn-tripleo-ci-centos-7-containers-multinode - parent: tripleo-ci-base-multinode - vars: - nodes: 1ctlr - featureset: '010' - irrelevant-files: *tempest-irrelevant-files - -- job: - name: neutron-ovn-grenade - parent: legacy-dsvm-base - run: playbooks/legacy/grenade-dsvm-networking-ovn/run.yaml - post-run: playbooks/legacy/grenade-dsvm-networking-ovn/post.yaml - timeout: 9000 - irrelevant-files: *tempest-irrelevant-files - required-projects: - - openstack/grenade - - openstack/devstack-gate - - openstack/neutron-tempest-plugin - - openstack/tempest - - openstack/networking-ovn - -- job: - name: neutron-ovn-base - description: Base job for devstack/tempest to test Neutron with ovn driver. - # TODO(slaweq): consider changing parent to be tempest-integrated-networking - # job instead of devstack-tempest - parent: devstack-tempest - timeout: 10800 - required-projects: - - openstack/devstack-gate - - openstack/networking-ovn - - openstack/neutron - - openstack/neutron-tempest-plugin - - openstack/octavia - - openstack/tempest - irrelevant-files: *tempest-irrelevant-files - vars: - tox_envlist: all-plugin - tempest_test_regex: "^(?!.*\ - (?:.*\\[.*slow.*\\])|\ - (?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|\ - (?:tempest.api.network.test_load_balancer.*)|\ - (?:tempest.scenario.test_load_balancer.*)|\ - (?:tempest.api.network.admin.test_load_balancer.*)|\ - (?:tempest.api.network.admin.test_lbaas.*)|\ - (?:tempest.api.network.test_fwaas_extensions.*)|\ - (?:tempest.api.network.test_metering_extensions.*)|\ - (?:tempest.thirdparty.boto.test_s3.*)|\ - (?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\ - (?:tempest.api.identity*)|\ - (?:tempest.api.image*)|\ - (?:tempest.api.volume*)|\ - (?:tempest.api.compute.images*)|\ - (?:tempest.api.compute.keypairs*)|\ - (?:tempest.api.compute.certificates*)|\ - (?:tempest.api.compute.flavors*)|\ - (?:tempest.api.compute.test_quotas*)|\ - (?:tempest.api.compute.test_versions*)|\ - (?:tempest.api.compute.volumes*)|\ - (?:tempest.api.compute.admin.test_flavor*)|\ - (?:tempest.api.compute.admin.test_volume*)|\ - (?:tempest.api.compute.admin.test_hypervisor*)|\ - (?:tempest.api.compute.admin.test_aggregate*)|\ - (?:tempest.api.compute.admin.test_quota*)|\ - (?:tempest.scenario.test_volume*))\ - ((^neutron_tempest_plugin.api)|\ - (^neutron_tempest_plugin.scenario)|\ - (tempest.(api|scenario|thirdparty))).*$" - tempest_concurrency: 2 - devstack_localrc: - 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 - USE_PYTHON3: True - DOWNLOAD_DEFAULT_IMAGES: false - IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img" - DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk - DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img - ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1 - ADVANCED_INSTANCE_TYPE: ds512M - ADVANCED_INSTANCE_USER: ubuntu - BUILD_TIMEOUT: 784 - devstack_plugins: - networking-ovn: https://opendev.org/openstack/networking-ovn - neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin - octavia: https://opendev.org/openstack/octavia - zuul_copy_output: - '{{ devstack_base_dir }}/data/ovs': 'logs' - extensions_to_txt: - db: true - devstack_services: - br-ex-tcpdump: true - br-int-flows: true - c-api: true - c-sch: true - c-vol: true - dstat: true - g-api: true - g-reg: true - keystone: true - n-api-meta: true - n-api: true - n-cauth: true - n-cond-cell1: true - n-cpu: true - n-novnc-cell1: true - n-sch: true - n-super-cond: true - networking-ovn-metadata-agent: true - o-api: true - o-hk: true - ovn-controller: true - ovn-northd: true - ovn-octavia: true - ovs-vswitchd: true - ovsdb-server: true - placement-api: true - q-svc: true - q-dns: true - c-bak: false - etcd: false - peakmem_tracker: false - q-agt: false - q-dhcp: false - q-l3: false - q-meta: false - q-metering: false - s-account: false - s-container-sync: false - s-container: false - s-object: false - s-proxy: false - -- job: - name: neutron-ovn-tempest-ovs-master - description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch - parent: neutron-ovn-base - vars: - devstack_localrc: - OVN_BRANCH: master - -- job: - name: neutron-ovn-tempest-ovs-release - description: Job testing for devstack/tempest testing Neutron with ovn driver and latest released OVN branch - parent: neutron-ovn-base - vars: - devstack_localrc: - OVN_BRANCH: branch-2.12 - -- job: - name: neutron-ovn-tempest-ovs-master-fedora - description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch and Fedora - parent: neutron-ovn-tempest-ovs-master - nodeset: devstack-single-node-fedora-latest - -- job: - name: neutron-ovn-multinode-base - description: Base multinode job for devstack/tempest to test Neutron with ovn driver. - abstract: true - parent: tempest-multinode-full-py3 - timeout: 10800 - required-projects: - - openstack/devstack-gate - - openstack/networking-ovn - - openstack/neutron - - openstack/neutron-tempest-plugin - - openstack/octavia - - openstack/tempest - irrelevant-files: *tempest-irrelevant-files - roles: - - zuul: zuul/zuul-jobs - - zuul: openstack/neutron-tempest-plugin - pre-run: playbooks/multinode-setup.yaml - vars: - devstack_localrc: - 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 - DOWNLOAD_DEFAULT_IMAGES: false - IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img" - DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk - DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img - ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1 - ADVANCED_INSTANCE_TYPE: ds512M - ADVANCED_INSTANCE_USER: ubuntu - BUILD_TIMEOUT: 784 - devstack_plugins: - networking-ovn: https://opendev.org/openstack/networking-ovn - neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin - octavia: https://opendev.org/openstack/octavia - zuul_copy_output: - '{{ devstack_base_dir }}/data/ovs': 'logs' - extensions_to_txt: - db: true - devstack_services: - c-bak: false - etcd: false - br-ex-tcpdump: true - br-int-flows: true - networking-ovn-metadata-agent: true - o-api: true - o-hk: true - ovn-controller: true - ovn-northd: true - ovn-octavia: 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 - # When running python3 Swift should be disabled for now - s-account: false - s-container: false - s-object: false - s-proxy: false - group-vars: - subnode: - devstack_services: - ovn-controller: true - ovn-northd: false - ovn-octavia: 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 - networking-ovn-metadata-agent: true - devstack_localrc: - Q_USE_PROVIDERNET_FOR_PUBLIC: true - PHYSICAL_NETWORK: public - ENABLE_CHASSIS_AS_GW: false - OVN_DBS_LOG_LEVEL: dbg - USE_PYTHON3: True - - -- job: - name: neutron-ovn-tempest-slow - parent: neutron-ovn-multinode-base - vars: - tox_envlist: slow-serial - tempest_test_regex: "" - # TODO(slaweq): remove test_port_security_macspoofing_port test from - # blacklist when bug https://bugs.launchpad.net/tempest/+bug/1728886 - # will be fixed - tempest_black_regex: "(?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)" - -- job: - # TODO(slaweq): propose job with ovs-release and move -master one to - # experimental queue - name: neutron-ovn-tempest-full-multinode-ovs-master - parent: neutron-ovn-multinode-base - vars: - tox_envlist: all-plugin - tempest_test_regex: "^(?!.*\ - (?:.*\\[.*slow.*\\])|\ - (?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|\ - (?:tempest.api.network.test_load_balancer.*)|\ - (?:tempest.scenario.test_load_balancer.*)|\ - (?:tempest.api.network.admin.test_load_balancer.*)|\ - (?:tempest.api.network.admin.test_lbaas.*)|\ - (?:tempest.api.network.test_fwaas_extensions.*)|\ - (?:tempest.api.network.test_metering_extensions.*)|\ - (?:tempest.thirdparty.boto.test_s3.*)|\ - (?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\ - (?:tempest.api.identity*)|\ - (?:tempest.api.image*)|\ - (?:tempest.api.volume*)|\ - (?:tempest.api.compute.images*)|\ - (?:tempest.api.compute.keypairs*)|\ - (?:tempest.api.compute.certificates*)|\ - (?:tempest.api.compute.flavors*)|\ - (?:tempest.api.compute.test_quotas*)|\ - (?:tempest.api.compute.test_versions*)|\ - (?:tempest.api.compute.volumes*)|\ - (?:tempest.api.compute.admin.test_flavor*)|\ - (?:tempest.api.compute.admin.test_volume*)|\ - (?:tempest.api.compute.admin.test_hypervisor*)|\ - (?:tempest.api.compute.admin.test_aggregate*)|\ - (?:tempest.api.compute.admin.test_quota*)|\ - (?:tempest.scenario.test_volume*))\ - ((^neutron_tempest_plugin.api)|\ - (^neutron_tempest_plugin.scenario)|\ - (tempest.(api|scenario|thirdparty))).*$" - # TODO(slaweq): live_migration related test from the blacklist when bug - # https://bugzilla.redhat.com/show_bug.cgi?id=1716335 will be fixed - tempest_black_regex: "\ - (^tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test)|\ - (^tempest.api.compute.admin.test_live_migration.LiveMigrationTest)" - devstack_localrc: - OVN_BRANCH: master - group-vars: - subnode: - devstack_localrc: - OVN_BRANCH: master diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml new file mode 100644 index 00000000000..8f50de90ded --- /dev/null +++ b/zuul.d/base.yaml @@ -0,0 +1,59 @@ +- job: + name: neutron-functional + parent: devstack-minimal + description: Run neutron functional tests + timeout: 7800 + required-projects: + - opendev.org/openstack/devstack + - openstack/neutron + - openstack/requirements + roles: + - zuul: openstack/devstack + pre-run: playbooks/configure_functional_job.yaml + run: playbooks/run_functional_job.yaml + post-run: playbooks/post_functional_job.yaml + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^releasenotes/.*$ + vars: + devstack_services: + # Ignore any default set by devstack. Emit a "disable_all_services". + base: false + devstack_localrc: + INSTALL_TESTONLY_PACKAGES: true + DATABASE_PASSWORD: stackdb + tox_envlist: dsvm-functional + tox_install_siblings: false + tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt' + zuul_copy_output: + # We need to copy directory with logs to have it in job artifacts also, + # /opt/stack/logs is default logs directory defined in neutron's + # tox.ini file + '{{ devstack_base_dir }}/logs/dsvm-functional-logs': logs + +- job: + name: neutron-fullstack + parent: neutron-functional + vars: + tox_envlist: dsvm-fullstack + zuul_copy_output: + # We need to copy directory with logs to have it in job artifacts also, + # /opt/stack/logs is default logs directory defined in neutron's + # tox.ini file + '{{ devstack_base_dir }}/logs/dsvm-fullstack-logs': logs + +- job: + name: neutron-fullstack-with-uwsgi + parent: neutron-fullstack + vars: + devstack_localrc: + NEUTRON_DEPLOY_MOD_WSGI: true + +- job: + name: neutron-functional-with-uwsgi + parent: neutron-functional + vars: + devstack_localrc: + NEUTRON_DEPLOY_MOD_WSGI: true diff --git a/zuul.d/grenade.yaml b/zuul.d/grenade.yaml new file mode 100644 index 00000000000..cf3b0530f75 --- /dev/null +++ b/zuul.d/grenade.yaml @@ -0,0 +1,63 @@ +- job: + name: neutron-grenade-multinode + parent: legacy-dsvm-base-multinode + run: playbooks/legacy/neutron-grenade-multinode/run.yaml + post-run: playbooks/legacy/neutron-grenade-multinode/post.yaml + timeout: 10800 + required-projects: + - openstack/grenade + - openstack/devstack-gate + - openstack/neutron + irrelevant-files: &irrelevant-files + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^neutron/tests/unit/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + - ^vagrant/.*$ + - ^migration/.*$ + +- job: + name: neutron-grenade-dvr-multinode + parent: legacy-dsvm-base-multinode + run: playbooks/legacy/neutron-grenade-dvr-multinode/run.yaml + post-run: playbooks/legacy/neutron-grenade-dvr-multinode/post.yaml + timeout: 7500 + required-projects: + - openstack/grenade + - openstack/devstack-gate + - openstack/neutron + irrelevant-files: *irrelevant-files + +- job: + # TODO(slaweq): remove this job definition when all other projects will use + # grenade-py3 instead + name: neutron-grenade + parent: legacy-dsvm-base + run: playbooks/legacy/neutron-grenade/run.yaml + post-run: playbooks/legacy/neutron-grenade/post.yaml + timeout: 10800 + required-projects: + - openstack/grenade + - openstack/devstack-gate + - openstack/neutron + irrelevant-files: *irrelevant-files + +- 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 + timeout: 9000 + irrelevant-files: *irrelevant-files + required-projects: + - openstack/grenade + - openstack/devstack-gate + - openstack/neutron-tempest-plugin + - openstack/tempest + - openstack/networking-ovn + diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 00000000000..1e6400eb4d7 --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,105 @@ +# NOTE: In doc/source/contributor/testing/ci_scenario_jobs.rst file there is +# document with summary of all tempest, neutron-tempest-plugin and grenade jobs +# summary. +# Please update this document always when any changes to jobs are made. +- project: + templates: + - neutron-tempest-plugin-jobs + - openstack-cover-jobs + - openstack-lower-constraints-jobs + - openstack-python3-ussuri-jobs + - publish-openstack-docs-pti + - periodic-stable-jobs + - check-requirements + - release-notes-jobs-python3 + check: + jobs: + - neutron-functional + - neutron-fullstack + - neutron-rally-task + - neutron-tempest-dvr + - neutron-tempest-linuxbridge + - neutron-grenade-multinode + - neutron-grenade-dvr-multinode + - tempest-integrated-networking: + # We don't run the job on things like neutron docs-only changes + irrelevant-files: &irrelevant-files + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^neutron/tests/unit/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + - ^vagrant/.*$ + - ^migration/.*$ + - tempest-multinode-full-py3: + voting: false + irrelevant-files: *irrelevant-files + - neutron-tempest-dvr-ha-multinode-full + - neutron-tempest-iptables_hybrid + - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa: + voting: false + irrelevant-files: *irrelevant-files + - tempest-slow-py3: + irrelevant-files: *irrelevant-files + #- neutron-ovn-tempest-ovs-release + - networking-midonet-tempest-aio-ml2-centos-7: + voting: false + irrelevant-files: *irrelevant-files + - tempest-ipv6-only: + irrelevant-files: *irrelevant-files + - openstacksdk-functional-devstack-networking: + voting: false + - neutron-functional-with-uwsgi: + voting: false + - neutron-fullstack-with-uwsgi: + voting: false + - neutron-tempest-with-uwsgi: + voting: false + - neutron-centos-7-tripleo-standalone + #- neutron-ovn-rally-task + # TripleO jobs that deploy OVN. + # Note we don't use a project-template here, so it's easier + # to disable voting on one specific job if things go wrong. + # In Stein and beyond, fs010 will run using + # networking-ovn-tripleo-ci-centos-7-containers-multinode. + # If you need any support to debug these jobs in case of + # failures, please reach us on #tripleo IRC channel. + #- neutron-ovn-tripleo-ci-centos-7-containers-multinode + - neutron-ovn-tempest-slow: + voting: false + - neutron-ovn-tempest-full-multinode-ovs-master: + voting: false + gate: + jobs: + - neutron-functional + - neutron-fullstack + - tempest-integrated-networking + - neutron-tempest-dvr + - neutron-tempest-linuxbridge + - neutron-tempest-iptables_hybrid + - neutron-grenade-multinode + - neutron-grenade-dvr-multinode + - tempest-slow-py3: + irrelevant-files: *irrelevant-files + - tempest-ipv6-only: + irrelevant-files: *irrelevant-files + #- neutron-ovn-tempest-ovs-release + #- neutron-ovn-rally-task + #- neutron-ovn-tripleo-ci-centos-7-containers-multinode + + experimental: + jobs: + - neutron-ovn-tempest-ovs-master + - neutron-ovn-grenade + + periodic: + jobs: + - neutron-functional + - neutron-tempest-postgres-full + - neutron-tempest-mariadb-full + - neutron-tempest-with-os-ken-master + - neutron-ovn-tempest-ovs-master-fedora diff --git a/zuul.d/rally.yaml b/zuul.d/rally.yaml new file mode 100644 index 00000000000..5fa0e642aaa --- /dev/null +++ b/zuul.d/rally.yaml @@ -0,0 +1,84 @@ +- job: + name: neutron-rally-task + parent: rally-task-neutron + timeout: 10800 + vars: + devstack_localrc: + USE_PYTHON3: true + OSPROFILER_COLLECTOR: redis + OSPROFILER_HMAC_KEYS: "neutron-hmac-key-used-in-zuul-ci" + rally_task: rally-jobs/task-neutron.yaml + devstack_plugins: + osprofiler: https://opendev.org/openstack/osprofiler + rally-openstack: https://opendev.org/openstack/rally-openstack + neutron: https://opendev.org/openstack/neutron + devstack_services: + neutron-trunk: true + devstack_local_conf: + post-config: + $NEUTRON_CONF: + DEFAULT: + enable_code_profiling: True + required-projects: + - openstack/rally + - openstack/rally-openstack + - openstack/osprofiler + irrelevant-files: &irrelevant-files + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^neutron/tests/unit/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + - ^vagrant/.*$ + - ^migration/.*$ + +- job: + name: neutron-ovn-rally-task + parent: rally-task-at-devstack + required-projects: + - name: openstack/devstack + - name: openstack/devstack-gate + - name: openstack/rally + - name: openstack/rally-openstack + - name: openstack/networking-ovn + irrelevant-files: *irrelevant-files + vars: + devstack_plugins: + rally-openstack: https://opendev.org/openstack/rally-openstack + networking-ovn: https://opendev.org/openstack/networking-ovn + zuul_copy_output: + '{{ devstack_base_dir }}/data/ovs': 'logs' + extensions_to_txt: + db: true + devstack_services: + ovn-northd: true + ovn-controller: true + ovs-vswitchd: true + ovsdb-server: true + networking-ovn-metadata-agent: true + br-ex-tcpdump: true + br-int-flows: true + q-dhcp: false + q-l3: false + q-agt: false + q-meta: false + q-metering: false + devstack_localrc: + USE_PYTHON3: true + PHYSICAL_NETWORK: public + Q_USE_PROVIDERNET_FOR_PUBLIC: true + ENABLE_CHASSIS_AS_GW: true + OVN_L3_CREATE_PUBLIC_NETWORK: true + OVN_BRANCH: master + devstack_local_conf: + post-config: + "${RALLY_CONF_DIR}/${RALLY_CONF_FILE}": + openstack: + neutron_bind_l2_agent_types: "OVN Controller Gateway agent" + rally_task: rally-jobs/task-neutron.yaml + timeout: 7800 + diff --git a/zuul.d/tempest-multinode.yaml b/zuul.d/tempest-multinode.yaml new file mode 100644 index 00000000000..10adea4cbc5 --- /dev/null +++ b/zuul.d/tempest-multinode.yaml @@ -0,0 +1,235 @@ +- job: + name: neutron-tempest-dvr-ha-multinode-full + parent: tempest-multinode-full-py3 + nodeset: openstack-three-node-bionic + timeout: 10800 + roles: + - zuul: openstack/neutron-tempest-plugin + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml + irrelevant-files: &irrelevant-files + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^neutron/tests/unit/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + - ^vagrant/.*$ + - ^migration/.*$ + voting: false + vars: + devstack_local_conf: + post-config: + $NEUTRON_CONF: + DEFAULT: + router_distributed: True + l3_ha: True + # NOTE(slaweq): We can get rid of this hardcoded absolute path when + # devstack-tempest job will be switched to use lib/neutron instead of + # lib/neutron-legacy + "/$NEUTRON_CORE_PLUGIN_CONF": + ml2: + mechanism_drivers: openvswitch,l2population + agent: + enable_distributed_routing: True + l2_population: True + tunnel_types: vxlan + arp_responder: True + ovs: + tunnel_bridge: br-tun + bridge_mappings: public:br-ex + $NEUTRON_L3_CONF: + DEFAULT: + agent_mode: dvr + agent: + availability_zone: nova + $NEUTRON_DHCP_CONF: + agent: + availability_zone: nova + group-vars: + subnode: + devstack_services: + q-agt: true + q-l3: true + q-meta: true + devstack_local_conf: + post-config: + $NEUTRON_CONF: + DEFAULT: + router_distributed: True + # NOTE(slaweq): We can get rid of this hardcoded absolute path when + # devstack-tempest job will be switched to use lib/neutron instead of + # lib/neutron-legacy + "/$NEUTRON_CORE_PLUGIN_CONF": + agent: + enable_distributed_routing: True + l2_population: True + tunnel_types: vxlan + arp_responder: True + ovs: + tunnel_bridge: br-tun + bridge_mappings: public:br-ex + $NEUTRON_L3_CONF: + DEFAULT: + agent_mode: dvr_snat + agent: + availability_zone: nova + +- job: + name: neutron-ovn-multinode-base + description: Base multinode job for devstack/tempest to test Neutron with ovn driver. + abstract: true + parent: tempest-multinode-full-py3 + timeout: 10800 + required-projects: + - openstack/devstack-gate + - openstack/networking-ovn + - openstack/neutron + - openstack/neutron-tempest-plugin + - openstack/octavia + - openstack/tempest + irrelevant-files: *irrelevant-files + roles: + - zuul: zuul/zuul-jobs + - zuul: openstack/neutron-tempest-plugin + pre-run: playbooks/multinode-setup.yaml + vars: + devstack_localrc: + 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 + DOWNLOAD_DEFAULT_IMAGES: false + IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img" + DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk + DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img + ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1 + ADVANCED_INSTANCE_TYPE: ds512M + ADVANCED_INSTANCE_USER: ubuntu + BUILD_TIMEOUT: 784 + devstack_plugins: + networking-ovn: https://opendev.org/openstack/networking-ovn + neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin + octavia: https://opendev.org/openstack/octavia + zuul_copy_output: + '{{ devstack_base_dir }}/data/ovs': 'logs' + extensions_to_txt: + db: true + devstack_services: + c-bak: false + etcd: false + br-ex-tcpdump: true + br-int-flows: true + networking-ovn-metadata-agent: true + o-api: true + o-hk: true + ovn-controller: true + ovn-northd: true + ovn-octavia: 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 + # When running python3 Swift should be disabled for now + s-account: false + s-container: false + s-object: false + s-proxy: false + group-vars: + subnode: + devstack_services: + ovn-controller: true + ovn-northd: false + ovn-octavia: 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 + networking-ovn-metadata-agent: true + devstack_localrc: + Q_USE_PROVIDERNET_FOR_PUBLIC: true + PHYSICAL_NETWORK: public + ENABLE_CHASSIS_AS_GW: false + OVN_DBS_LOG_LEVEL: dbg + USE_PYTHON3: True + + +- job: + name: neutron-ovn-tempest-slow + parent: neutron-ovn-multinode-base + vars: + tox_envlist: slow-serial + tempest_test_regex: "" + # TODO(slaweq): remove test_port_security_macspoofing_port test from + # blacklist when bug https://bugs.launchpad.net/tempest/+bug/1728886 + # will be fixed + tempest_black_regex: "(?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)" + +- job: + # TODO(slaweq): propose job with ovs-release and move -master one to + # experimental queue + name: neutron-ovn-tempest-full-multinode-ovs-master + parent: neutron-ovn-multinode-base + vars: + tox_envlist: all-plugin + tempest_test_regex: "^(?!.*\ + (?:.*\\[.*slow.*\\])|\ + (?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|\ + (?:tempest.api.network.test_load_balancer.*)|\ + (?:tempest.scenario.test_load_balancer.*)|\ + (?:tempest.api.network.admin.test_load_balancer.*)|\ + (?:tempest.api.network.admin.test_lbaas.*)|\ + (?:tempest.api.network.test_fwaas_extensions.*)|\ + (?:tempest.api.network.test_metering_extensions.*)|\ + (?:tempest.thirdparty.boto.test_s3.*)|\ + (?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\ + (?:tempest.api.identity*)|\ + (?:tempest.api.image*)|\ + (?:tempest.api.volume*)|\ + (?:tempest.api.compute.images*)|\ + (?:tempest.api.compute.keypairs*)|\ + (?:tempest.api.compute.certificates*)|\ + (?:tempest.api.compute.flavors*)|\ + (?:tempest.api.compute.test_quotas*)|\ + (?:tempest.api.compute.test_versions*)|\ + (?:tempest.api.compute.volumes*)|\ + (?:tempest.api.compute.admin.test_flavor*)|\ + (?:tempest.api.compute.admin.test_volume*)|\ + (?:tempest.api.compute.admin.test_hypervisor*)|\ + (?:tempest.api.compute.admin.test_aggregate*)|\ + (?:tempest.api.compute.admin.test_quota*)|\ + (?:tempest.scenario.test_volume*))\ + ((^neutron_tempest_plugin.api)|\ + (^neutron_tempest_plugin.scenario)|\ + (tempest.(api|scenario|thirdparty))).*$" + # TODO(slaweq): live_migration related test from the blacklist when bug + # https://bugzilla.redhat.com/show_bug.cgi?id=1716335 will be fixed + tempest_black_regex: "\ + (^tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test)|\ + (^tempest.api.compute.admin.test_live_migration.LiveMigrationTest)" + devstack_localrc: + OVN_BRANCH: master + group-vars: + subnode: + devstack_localrc: + OVN_BRANCH: master diff --git a/zuul.d/tempest-singlenode.yaml b/zuul.d/tempest-singlenode.yaml new file mode 100644 index 00000000000..8710e9de5cd --- /dev/null +++ b/zuul.d/tempest-singlenode.yaml @@ -0,0 +1,276 @@ +- job: + name: neutron-tempest-dvr + parent: tempest-integrated-networking + timeout: 10800 + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + vars: + tempest_concurrency: 4 + devstack_localrc: + Q_DVR_MODE: dvr_snat + irrelevant-files: &irrelevant-files + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^neutron/tests/unit/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + - ^vagrant/.*$ + - ^migration/.*$ +- job: + name: neutron-tempest-linuxbridge + parent: tempest-integrated-networking + timeout: 10800 + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + vars: + tempest_concurrency: 4 + devstack_localrc: + Q_AGENT: linuxbridge + irrelevant-files: *irrelevant-files + +- job: + name: neutron-tempest-iptables_hybrid + parent: tempest-integrated-networking + timeout: 10800 + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + vars: + tempest_concurrency: 4 + devstack_plugins: + neutron: https://opendev.org/openstack/neutron.git + devstack_services: + tls-proxy: false + tempest: true + neutron-dns: true + neutron-qos: true + neutron-segments: true + neutron-trunk: true + neutron-uplink-status-propagation: true + devstack_local_conf: + post-config: + $NEUTRON_CONF: + QUOTAS: + quota_router: 100 + quota_floatingip: 500 + quota_security_group: 100 + quota_security_group_rule: 1000 + # NOTE(slaweq): We can get rid of this hardcoded absolute path when + # devstack-tempest job will be switched to use lib/neutron instead of + # lib/neutron-legacy + "/$NEUTRON_CORE_PLUGIN_CONF": + ml2_type_vlan: + network_vlan_ranges: foo:1:10 + agent: + enable_distributed_routing: True + l2_population: True + tunnel_types: vxlan,gre + arp_responder: True + securitygroup: + firewall_driver: iptables_hybrid + $NEUTRON_L3_CONF: + agent: + availability_zone: nova + $NEUTRON_DHCP_CONF: + agent: + availability_zone: nova + test-config: + $TEMPEST_CONFIG: + neutron_plugin_options: + provider_vlans: foo, + agent_availability_zone: nova + image_is_advanced: true + available_type_drivers: flat,geneve,vlan,gre,local,vxlan + irrelevant-files: *irrelevant-files + +- job: + name: neutron-tempest-postgres-full + parent: tempest-integrated-networking + timeout: 7800 + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + vars: + devstack_services: + postgresql: true + mysql: false + irrelevant-files: *irrelevant-files + +- job: + name: neutron-tempest-mariadb-full + parent: tempest-integrated-networking + timeout: 7800 + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + vars: + devstack_localrc: + MYSQL_SERVICE_NAME: mariadb + irrelevant-files: *irrelevant-files + +- job: + name: neutron-tempest-with-os-ken-master + parent: tempest-integrated-networking + timeout: 7800 + required-projects: + - openstack/devstack-gate + - openstack/neutron + - openstack/tempest + - openstack/os-ken + +- job: + name: neutron-tempest-with-uwsgi + parent: tempest-integrated-networking + description: Run neutron Tempest tests with uwsgi + timeout: 8400 + vars: + devstack_localrc: + NEUTRON_DEPLOY_MOD_WSGI: true + irrelevant-files: *irrelevant-files + +- job: + name: neutron-ovn-base + description: Base job for devstack/tempest to test Neutron with ovn driver. + # TODO(slaweq): consider changing parent to be tempest-integrated-networking + # job instead of devstack-tempest + parent: devstack-tempest + timeout: 10800 + required-projects: + - openstack/devstack-gate + - openstack/networking-ovn + - openstack/neutron + - openstack/neutron-tempest-plugin + - openstack/octavia + - openstack/tempest + irrelevant-files: *irrelevant-files + vars: + tox_envlist: all-plugin + tempest_test_regex: "^(?!.*\ + (?:.*\\[.*slow.*\\])|\ + (?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|\ + (?:tempest.api.network.test_load_balancer.*)|\ + (?:tempest.scenario.test_load_balancer.*)|\ + (?:tempest.api.network.admin.test_load_balancer.*)|\ + (?:tempest.api.network.admin.test_lbaas.*)|\ + (?:tempest.api.network.test_fwaas_extensions.*)|\ + (?:tempest.api.network.test_metering_extensions.*)|\ + (?:tempest.thirdparty.boto.test_s3.*)|\ + (?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|\ + (?:tempest.api.identity*)|\ + (?:tempest.api.image*)|\ + (?:tempest.api.volume*)|\ + (?:tempest.api.compute.images*)|\ + (?:tempest.api.compute.keypairs*)|\ + (?:tempest.api.compute.certificates*)|\ + (?:tempest.api.compute.flavors*)|\ + (?:tempest.api.compute.test_quotas*)|\ + (?:tempest.api.compute.test_versions*)|\ + (?:tempest.api.compute.volumes*)|\ + (?:tempest.api.compute.admin.test_flavor*)|\ + (?:tempest.api.compute.admin.test_volume*)|\ + (?:tempest.api.compute.admin.test_hypervisor*)|\ + (?:tempest.api.compute.admin.test_aggregate*)|\ + (?:tempest.api.compute.admin.test_quota*)|\ + (?:tempest.scenario.test_volume*))\ + ((^neutron_tempest_plugin.api)|\ + (^neutron_tempest_plugin.scenario)|\ + (tempest.(api|scenario|thirdparty))).*$" + tempest_concurrency: 2 + devstack_localrc: + 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 + USE_PYTHON3: True + DOWNLOAD_DEFAULT_IMAGES: false + IMAGE_URLS: "http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img,https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img" + DEFAULT_IMAGE_NAME: cirros-0.4.0-x86_64-disk + DEFAULT_IMAGE_FILE_NAME: cirros-0.4.0-x86_64-disk.img + ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1 + ADVANCED_INSTANCE_TYPE: ds512M + ADVANCED_INSTANCE_USER: ubuntu + BUILD_TIMEOUT: 784 + devstack_plugins: + networking-ovn: https://opendev.org/openstack/networking-ovn + neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin + octavia: https://opendev.org/openstack/octavia + zuul_copy_output: + '{{ devstack_base_dir }}/data/ovs': 'logs' + extensions_to_txt: + db: true + devstack_services: + br-ex-tcpdump: true + br-int-flows: true + c-api: true + c-sch: true + c-vol: true + dstat: true + g-api: true + g-reg: true + keystone: true + n-api-meta: true + n-api: true + n-cauth: true + n-cond-cell1: true + n-cpu: true + n-novnc-cell1: true + n-sch: true + n-super-cond: true + networking-ovn-metadata-agent: true + o-api: true + o-hk: true + ovn-controller: true + ovn-northd: true + ovn-octavia: true + ovs-vswitchd: true + ovsdb-server: true + placement-api: true + q-svc: true + q-dns: true + c-bak: false + etcd: false + peakmem_tracker: false + q-agt: false + q-dhcp: false + q-l3: false + q-meta: false + q-metering: false + s-account: false + s-container-sync: false + s-container: false + s-object: false + s-proxy: false + +- job: + name: neutron-ovn-tempest-ovs-master + description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch + parent: neutron-ovn-base + vars: + devstack_localrc: + OVN_BRANCH: master + +- job: + name: neutron-ovn-tempest-ovs-release + description: Job testing for devstack/tempest testing Neutron with ovn driver and latest released OVN branch + parent: neutron-ovn-base + vars: + devstack_localrc: + OVN_BRANCH: branch-2.12 + +- job: + name: neutron-ovn-tempest-ovs-master-fedora + description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch and Fedora + parent: neutron-ovn-tempest-ovs-master + nodeset: devstack-single-node-fedora-latest diff --git a/zuul.d/tripleo.yaml b/zuul.d/tripleo.yaml new file mode 100644 index 00000000000..d44836bc446 --- /dev/null +++ b/zuul.d/tripleo.yaml @@ -0,0 +1,32 @@ +- job: + name: neutron-centos-7-tripleo-standalone + parent: tripleo-ci-base-standalone + nodeset: single-centos-7-node + voting: false + vars: + featureset: '052' + featureset_override: + standalone_environment_files: + - 'environments/services/neutron-ovs.yaml' + tempest_test_whitelist: + - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' + irrelevant-files: &irrelevant-files + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^neutron/locale/.*$ + - ^neutron/tests/unit/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tools/.*$ + - ^tox.ini$ + - ^vagrant/.*$ + - ^migration/.*$ + +- job: + name: neutron-ovn-tripleo-ci-centos-7-containers-multinode + parent: tripleo-ci-base-multinode + vars: + nodes: 1ctlr + featureset: '010' + irrelevant-files: *irrelevant-files