Merge "Tempest linuxbridge scenario switch to Zuul v3 template"
diff --git a/.zuul.yaml b/.zuul.yaml
index 1d7e323..32e565c 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -1,4 +1,86 @@
- job:
+ name: neutron-tempest-plugin-scenario
+ parent: devstack-tempest
+ abstract: true
+ description: |
+ Perform setup common to all tempest scenario test jobs.
+ roles:
+ - zuul: openstack-dev/devstack
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/neutron
+ - openstack/neutron-tempest-plugin
+ - openstack/tempest
+ vars:
+ tempest_test_regex: ^neutron_tempest_plugin\.scenario
+ tempest_concurrency: 4
+ tox_envlist: all
+ devstack_localrc:
+ TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
+ PHYSICAL_NETWORK: default
+ DOWNLOAD_DEFAULT_IMAGES: false
+ IMAGE_URLS: "http://cloud-images.ubuntu.com/releases/16.04/release-20170113/ubuntu-16.04-server-cloudimg-amd64-disk1.img,"
+ DEFAULT_INSTANCE_TYPE: ds512M
+ DEFAULT_INSTANCE_USER: ubuntu
+ BUILD_TIMEOUT: 784
+ devstack_plugins:
+ neutron: git://git.openstack.org/openstack/neutron.git
+ neutron-tempest-plugin: git://git.openstack.org/openstack/neutron-tempest-plugin.git
+ devstack_services:
+ cinder: true
+ tempest: true
+ neutron-dns: true
+ neutron-qos: true
+ neutron-segments: true
+ neutron-trunk: 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_drivers: flat,vlan,local,vxlan
+ ml2_type_vlan:
+ network_vlan_ranges: foo:1:10
+ ml2_type_vxlan:
+ vni_ranges: 1:2000
+ $NEUTRON_L3_CONF:
+ agent:
+ availability_zone: nova
+ $NEUTRON_DHCP_CONF:
+ agent:
+ availability_zone: nova
+ "/etc/neutron/api-paste.ini":
+ "composite:neutronapi_v2_0":
+ use: "call:neutron.auth:pipeline_factory"
+ noauth: "cors request_id catch_errors osprofiler extensions neutronapiapp_v2_0"
+ keystone: "cors request_id catch_errors osprofiler authtoken keystonecontext extensions neutronapiapp_v2_0"
+ test-config:
+ $TEMPEST_CONFIG:
+ neutron_plugin_options:
+ provider_vlans: foo,
+ agent_availability_zone: nova
+ image_is_advanced: true
+ available_type_drivers: flat,vlan,local,vxlan
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^releasenotes/.*$
+ - ^doc/.*$
+ - ^setup.cfg$
+ - ^.*\.rst$
+ - ^neutron/locale/.*$
+ - ^neutron/tests/unit/.*$
+ - ^tools/.*$
+ - ^tox.ini$
+
+- job:
name: neutron-tempest-plugin-api
parent: legacy-dsvm-base
run: playbooks/neutron-tempest-plugin-api/run.yaml
@@ -22,25 +104,19 @@
- job:
name: neutron-tempest-plugin-scenario-linuxbridge
- parent: legacy-dsvm-base
- run: playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml
- post-run: playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml
+ parent: neutron-tempest-plugin-scenario
timeout: 10000
- required-projects:
- - openstack-infra/devstack-gate
- - openstack/neutron
- - openstack/neutron-tempest-plugin
- - openstack/tempest
- irrelevant-files:
- - ^(test-|)requirements.txt$
- - ^releasenotes/.*$
- - ^doc/.*$
- - ^setup.cfg$
- - ^.*\.rst$
- - ^neutron/locale/.*$
- - ^neutron/tests/unit/.*$
- - ^tools/.*$
- - ^tox.ini$
+ vars:
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "address-scope,agent,allowed-address-pairs,auto-allocated-topology,availability_zone,binding,default-subnetpools,dhcp_agent_scheduler,dns-integration,ext-gw-mode,external-net,extra_dhcp_opt,extraroute,flavors,ip-substring-filtering,l3-flavors,l3-ha,l3_agent_scheduler,logging,metering,multi-provider,net-mtu,net-mtu-writable,network-ip-availability,network_availability_zone,pagination,port-security,project-id,provider,qos,quotas,quota_details,rbac-policies,router,router_availability_zone,security-group,port-security-groups-filtering,segment,service-type,sorting,standard-attr-description,standard-attr-revisions,standard-attr-timestamp,standard-attr-tag,subnet_allocation,tag,tag-ext,trunk,trunk-details"
+ Q_AGENT: linuxbridge
+ devstack_local_conf:
+ post-config:
+ $NEUTRON_CONF:
+ DEFAULT:
+ enable_dvr: false
+ AGENT:
+ debug_iptables_rules: true
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario
@@ -68,32 +144,24 @@
- job:
name: neutron-tempest-plugin-designate-scenario
- parent: devstack-tempest
+ parent: neutron-tempest-plugin-scenario
description: Neutron designate integration scenario
required-projects:
- openstack/designate
- openstack/designate-dashboard
- openstack/designate-tempest-plugin
- - openstack/neutron
- - openstack/neutron-tempest-plugin
- - openstack/tempest
timeout: 3600
- roles:
- - zuul: openstack-dev/devstack
vars:
devstack_localrc:
+ TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin
+ /opt/stack/neutron-tempest-plugin"'
DESIGNATE_BACKEND_DRIVER: bind9
devstack_plugins:
designate: git://git.openstack.org/openstack/designate.git
- neutron: git://git.openstack.org/openstack/neutron.git
- neutron-tempest-plugin: git://git.openstack.org/openstack/neutron-tempest-plugin.git
devstack_services:
cinder: false
designate: true
- neutron-dns: true
- tempest: true
tempest_test_regex: ^neutron_tempest_plugin\.scenario\.test_dns_integration
- tox_envlist: all-plugin
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
diff --git a/playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml b/playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml
deleted file mode 100644
index dac8753..0000000
--- a/playbooks/neutron-tempest-plugin-scenario-linuxbridge/post.yaml
+++ /dev/null
@@ -1,80 +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=**/*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/neutron-tempest-plugin-scenario-linuxbridge/run.yaml b/playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml
deleted file mode 100644
index 02cdf83..0000000
--- a/playbooks/neutron-tempest-plugin-scenario-linuxbridge/run.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
-- hosts: all
- name: neutron-tempest-plugin-scenario-linuxbridge
- 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]]
- Q_AGENT=linuxbridge
- PHYSICAL_NETWORK=default
-
- 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=1
- export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
- export DEVSTACK_GATE_NEUTRON=1
- export DEVSTACK_GATE_EXERCISES=0
- export DEVSTACK_GATE_TEMPEST_REGEX="(neutron_tempest_plugin.scenario)"
- export DEVSTACK_LOCAL_CONFIG="enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/neutron-tempest-plugin"
- export BRANCH_OVERRIDE=default
- if [ "$BRANCH_OVERRIDE" != "default" ] ; then
- export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
- fi
-
- export PROJECTS="openstack/neutron-tempest-plugin $PROJECTS"
- function gate_hook {
- bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh dsvm-scenario-linuxbridge dvrskip
- }
- export -f gate_hook
-
- function post_test_hook {
- bash -xe $BASE/new/neutron/neutron/tests/contrib/post_test_hook.sh dsvm-scenario-linuxbridge
- }
- 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 }}'