summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/compliance/debug.yml19
-rw-r--r--etc/compliance/healthcheck.yml17
-rw-r--r--etc/compliance/onap.heat.2019.04.yaml17
-rw-r--r--etc/compliance/onap.tosca.2019.04.yaml17
-rw-r--r--etc/compliance/ovp.2019.12.yaml49
-rw-r--r--etc/compliance/proposed_tests.yml29
-rw-r--r--etc/conf/__init__.py0
-rw-r--r--etc/conf/bottlenecks_config.yml62
-rw-r--r--etc/conf/cmd_config.yml95
-rw-r--r--etc/conf/dovetail_config.yml42
-rw-r--r--etc/conf/functest-k8s_config.yml46
-rw-r--r--etc/conf/functest_config.yml65
-rw-r--r--etc/conf/onap-vtp_config.yml39
-rw-r--r--etc/conf/onap-vvp_config.yml32
-rw-r--r--etc/conf/yardstick_config.yml64
-rw-r--r--etc/patches/functest/disable-api-validation/0001-Allow-additional-properties-in-API-responses.patch1962
-rwxr-xr-xetc/patches/functest/disable-api-validation/apply.sh21
-rw-r--r--etc/testcase/bottlenecks.stress.ping.yml29
-rw-r--r--etc/testcase/functest.healthcheck.connection_check.yml26
-rw-r--r--etc/testcase/functest.k8s.conformance.yml26
-rw-r--r--etc/testcase/functest.k8s.smoke.yml26
-rw-r--r--etc/testcase/functest.rally.authenticate.yml40
-rw-r--r--etc/testcase/functest.rally.cinder.yml58
-rw-r--r--etc/testcase/functest.rally.glance.yml42
-rw-r--r--etc/testcase/functest.rally.gnocchi.yml50
-rw-r--r--etc/testcase/functest.rally.heat.yml47
-rw-r--r--etc/testcase/functest.rally.keystone.yml45
-rw-r--r--etc/testcase/functest.rally.neutron.yml54
-rw-r--r--etc/testcase/functest.rally.nova.yml61
-rw-r--r--etc/testcase/functest.rally.quotas.yml38
-rw-r--r--etc/testcase/functest.security.patrole.yml156
-rw-r--r--etc/testcase/functest.security.patrole_vxlan_dependent.yml35
-rw-r--r--etc/testcase/functest.tempest.bgpvpn.yml52
-rw-r--r--etc/testcase/functest.tempest.compute.yml45
-rw-r--r--etc/testcase/functest.tempest.identity_v3.yml44
-rw-r--r--etc/testcase/functest.tempest.image.yml35
-rw-r--r--etc/testcase/functest.tempest.ipv6_api.yml54
-rw-r--r--etc/testcase/functest.tempest.ipv6_scenario.yml41
-rw-r--r--etc/testcase/functest.tempest.multi_node_scheduling.yml39
-rw-r--r--etc/testcase/functest.tempest.network_api.yml47
-rw-r--r--etc/testcase/functest.tempest.network_scenario.yml38
-rw-r--r--etc/testcase/functest.tempest.network_security.yml39
-rw-r--r--etc/testcase/functest.tempest.networking_sfc.yml31
-rw-r--r--etc/testcase/functest.tempest.neutron_tempest_plugin_api.yml600
-rw-r--r--etc/testcase/functest.tempest.osinterop.yml253
-rw-r--r--etc/testcase/functest.tempest.trunk-ports.yml70
-rw-r--r--etc/testcase/functest.tempest.vm_lifecycle.yml45
-rw-r--r--etc/testcase/functest.tempest.volume.yml35
-rw-r--r--etc/testcase/functest.vnf.vepc.yml28
-rw-r--r--etc/testcase/functest.vnf.vims.yml28
-rw-r--r--etc/testcase/functest.vping.ssh.yml26
-rw-r--r--etc/testcase/functest.vping.userdata.yml26
-rw-r--r--etc/testcase/onap-vtp.validate.csar.yml26
-rw-r--r--etc/testcase/onap-vvp.validate.heat.yml28
-rw-r--r--etc/testcase/yardstick.ha.cinder_api.yml29
-rw-r--r--etc/testcase/yardstick.ha.controller_restart.yml27
-rw-r--r--etc/testcase/yardstick.ha.cpu_load.yml32
-rw-r--r--etc/testcase/yardstick.ha.database.yml29
-rw-r--r--etc/testcase/yardstick.ha.disk_load.yml31
-rw-r--r--etc/testcase/yardstick.ha.glance_api.yml29
-rw-r--r--etc/testcase/yardstick.ha.haproxy.yml32
-rw-r--r--etc/testcase/yardstick.ha.keystone.yml29
-rw-r--r--etc/testcase/yardstick.ha.neutron_l3_agent.yml43
-rw-r--r--etc/testcase/yardstick.ha.neutron_server.yml29
-rw-r--r--etc/testcase/yardstick.ha.nova_api.yml29
-rw-r--r--etc/testcase/yardstick.ha.rabbitmq.yml27
-rw-r--r--etc/userconfig/ansible.cfg11
-rw-r--r--etc/userconfig/env_config.sh.onap.sample22
-rw-r--r--etc/userconfig/env_config.sh.sample41
-rw-r--r--etc/userconfig/hosts.yaml.sample16
-rw-r--r--etc/userconfig/patrole_blacklist.yaml37
-rw-r--r--etc/userconfig/pod.yaml.sample76
-rw-r--r--etc/userconfig/rally_authenticate_testcases.yaml31
-rw-r--r--etc/userconfig/rally_cinder_testcases.yaml31
-rw-r--r--etc/userconfig/rally_glance_testcases.yaml31
-rw-r--r--etc/userconfig/rally_gnocchi_testcases.yaml31
-rw-r--r--etc/userconfig/rally_heat_testcases.yaml31
-rw-r--r--etc/userconfig/rally_keystone_testcases.yaml31
-rw-r--r--etc/userconfig/rally_neutron_testcases.yaml31
-rw-r--r--etc/userconfig/rally_nova_testcases.yaml31
-rw-r--r--etc/userconfig/rally_quotas_testcases.yaml31
-rw-r--r--etc/userconfig/tempest_conf.yaml.sample25
-rw-r--r--etc/userconfig/tempest_custom_testcases.yaml34
-rw-r--r--etc/userconfig/testcases.yaml35
-rw-r--r--etc/userconfig/trunk_port_blacklist.yaml28
-rw-r--r--etc/userconfig/vnf_testcases.yaml39
86 files changed, 5948 insertions, 0 deletions
diff --git a/etc/compliance/debug.yml b/etc/compliance/debug.yml
new file mode 100644
index 00000000..b15c3cec
--- /dev/null
+++ b/etc/compliance/debug.yml
@@ -0,0 +1,19 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+# only used for dovetail tool development and the integration testing
+# of new test cases. New test case candidates for the next release,
+# which need to be evaluated in the OPNFV CI, should be added to the
+# proposed_tests test suite.
+debug:
+ name: debug
+ testcases_list:
+ optional:
+ - functest.vping.userdata
diff --git a/etc/compliance/healthcheck.yml b/etc/compliance/healthcheck.yml
new file mode 100644
index 00000000..ad461cad
--- /dev/null
+++ b/etc/compliance/healthcheck.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+# Pre-flight check before running more complex tests
+# Will be used for running on CI
+healthcheck:
+ name: healthcheck
+ testcases_list:
+ optional:
+ - functest.healthcheck.connection_check
diff --git a/etc/compliance/onap.heat.2019.04.yaml b/etc/compliance/onap.heat.2019.04.yaml
new file mode 100644
index 00000000..1777bda2
--- /dev/null
+++ b/etc/compliance/onap.heat.2019.04.yaml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+onap.heat.2019.04:
+ name: onap.heat.2019.04
+ version: '2019.04'
+ vnf_type: heat
+ testcases_list:
+ mandatory:
+ - onap-vvp.validate.heat
diff --git a/etc/compliance/onap.tosca.2019.04.yaml b/etc/compliance/onap.tosca.2019.04.yaml
new file mode 100644
index 00000000..15072010
--- /dev/null
+++ b/etc/compliance/onap.tosca.2019.04.yaml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+onap.tosca.2019.04:
+ name: onap.tosca.2019.04
+ version: '2019.04'
+ vnf_type: tosca
+ testcases_list:
+ mandatory:
+ - onap-vtp.validate.csar
diff --git a/etc/compliance/ovp.2019.12.yaml b/etc/compliance/ovp.2019.12.yaml
new file mode 100644
index 00000000..a1f7a50b
--- /dev/null
+++ b/etc/compliance/ovp.2019.12.yaml
@@ -0,0 +1,49 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+ovp.2019.12:
+ name: ovp.2019.12
+ version: '2019.12'
+ testcases_list:
+ mandatory:
+ - functest.vping.userdata
+ - functest.vping.ssh
+ - functest.tempest.osinterop
+ - functest.tempest.compute
+ - functest.tempest.identity_v3
+ - functest.tempest.image
+ - functest.tempest.network_api
+ - functest.tempest.volume
+ - functest.tempest.neutron_trunk_ports
+ - functest.tempest.ipv6_api
+ - functest.security.patrole
+ - yardstick.ha.nova_api
+ - yardstick.ha.neutron_server
+ - yardstick.ha.keystone
+ - yardstick.ha.glance_api
+ - yardstick.ha.cinder_api
+ - yardstick.ha.cpu_load
+ - yardstick.ha.disk_load
+ - yardstick.ha.haproxy
+ - yardstick.ha.rabbitmq
+ - yardstick.ha.database
+ - bottlenecks.stress.ping
+ optional:
+ - functest.tempest.ipv6_scenario
+ - functest.tempest.multi_node_scheduling
+ - functest.tempest.network_security
+ - functest.tempest.vm_lifecycle
+ - functest.tempest.network_scenario
+ - functest.tempest.bgpvpn
+ - functest.security.patrole_vxlan_dependent
+ - yardstick.ha.neutron_l3_agent
+ - yardstick.ha.controller_restart
+ - functest.vnf.vims
+ - functest.vnf.vepc
diff --git a/etc/compliance/proposed_tests.yml b/etc/compliance/proposed_tests.yml
new file mode 100644
index 00000000..17eadff8
--- /dev/null
+++ b/etc/compliance/proposed_tests.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+proposed_tests:
+ # proposed new test cases for next release
+ name: proposed_tests
+ testcases_list:
+ mandatory:
+ optional:
+ - functest.k8s.conformance
+ - functest.k8s.smoke
+ - functest.rally.authenticate
+ - functest.rally.cinder
+ - functest.rally.glance
+ - functest.rally.gnocchi
+ - functest.rally.heat
+ - functest.rally.keystone
+ - functest.rally.neutron
+ - functest.rally.nova
+ - functest.rally.quotas
+ - functest.tempest.neutron_tempest_plugin_api
+ - functest.tempest.networking_sfc
diff --git a/etc/conf/__init__.py b/etc/conf/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/etc/conf/__init__.py
diff --git a/etc/conf/bottlenecks_config.yml b/etc/conf/bottlenecks_config.yml
new file mode 100644
index 00000000..c23ad9cc
--- /dev/null
+++ b/etc/conf/bottlenecks_config.yml
@@ -0,0 +1,62 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+
+{% set validate_testcase = validate_testcase or '' %}
+{% set testcase = testcase or '' %}
+{% set deploy_scenario = deploy_scenario or 'unknown' %}
+{% set dovetail_home = dovetail_home or '' %}
+{% set debug = debug or 'false' %}
+{% set build_tag = build_tag or '' %}
+{% set cacert_volume = '' %}
+{% if cacert %}
+ {% set cacert_volume = 'source=' + cacert + ',target=' + cacert %}
+{% endif %}
+{% set openrc_file = '/tmp/admin_rc.sh' %}
+{% set result_dir = '/home/opnfv/bottlenecks/results' %}
+{% set images_dir = '/home/opnfv/images' %}
+{% set config_dir = '/home/opnfv/userconfig' %}
+{% set image_file = '/tmp/yardstick.img' %}
+
+bottlenecks:
+ image_name: opnfv/bottlenecks
+ docker_tag: 8.0.1-latest
+ opts:
+ detach: true
+ stdin_open: true
+ privileged: true
+ shell: '/bin/bash'
+ envs:
+ - 'DEPLOY_SCENARIO={{deploy_scenario}}'
+ - 'Yardstick_TAG=opnfv-8.0.0'
+ - 'OUTPUT_FILE={{testcase}}.out'
+ - 'CI_DEBUG={{debug}}'
+ - 'BUILD_TAG={{build_tag}}-{{testcase}}'
+ volumes:
+ - '{{dovetail_home}}/results/bottlenecks:/tmp'
+ - '{{dovetail_home}}/images:{{images_dir}}'
+ - '{{dovetail_home}}/results:{{result_dir}}'
+ mounts:
+ - 'source=/var/run/docker.sock,target=/var/run/docker.sock'
+ - 'source={{dovetail_home}}/pre_config/env_config.sh,target={{openrc_file}}'
+ - {{cacert_volume}}
+ pre_condition:
+ - 'cp {{images_dir}}/ubuntu-16.04-server-cloudimg-amd64-disk1.img {{image_file}}'
+ cmds:
+ - 'python /home/opnfv/bottlenecks/testsuites/run_testsuite.py testcase {{validate_testcase}} False'
+ post_condition:
+ - 'mkdir -p {{result_dir}}'
+ - 'cp /tmp/bottlenecks.log {{result_dir}}'
+ - 'cp /tmp/bottlenecks.stress.ping.out {{result_dir}}'
+ - 'rm {{image_file}}'
+ openrc: {{openrc_file}}
+ extra_container:
+ - 'Bottlenecks-Yardstick'
+ - 'Bottlenecks-ELK'
diff --git a/etc/conf/cmd_config.yml b/etc/conf/cmd_config.yml
new file mode 100644
index 00000000..63c87343
--- /dev/null
+++ b/etc/conf/cmd_config.yml
@@ -0,0 +1,95 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+cli:
+ arguments:
+ config:
+ # This is a simple example of arguments.
+ # Dovetail has no need of this kind of parameters currently.
+ # The arguments must be given orderly at the run-time.
+ #
+ # docker_tag:
+ # flags: 'docker_tag'
+ # path:
+ # - 'functest/docker_tag'
+ # - 'yardstick/docker_tag'
+ control:
+
+ options:
+ config:
+ control:
+ testsuite:
+ flags:
+ - '--testsuite'
+ default: 'ovp.2019.12'
+ help: 'compliance testsuite.'
+ testarea:
+ flags:
+ - '--testarea'
+ multiple: 'True'
+ help: 'Compliance testarea within testsuite. Specify option multiple times to include multiple test areas.'
+ testcase:
+ flags:
+ - '--testcase'
+ multiple: 'True'
+ help: 'Compliance testcase. Specify option multiple times to include multiple test cases.'
+ debug:
+ flags:
+ - '--debug'
+ - '-d'
+ is_flag: 'True'
+ help: 'Flag for showing debug log on screen.'
+ stop:
+ flags:
+ - '--stop'
+ - '-s'
+ is_flag: 'True'
+ help: 'Flag for stopping on test case failure.'
+ report:
+ flags:
+ - '--report'
+ - '-r'
+ is_flag: 'True'
+ help: 'Create a tarball file to upload to OVP web portal'
+ offline:
+ flags:
+ - '--offline'
+ is_flag: 'True'
+ help: 'run in offline method, which means not to update the docker upstream images, functest, yardstick, etc.'
+ noapivalidation:
+ flags:
+ - '--no-api-validation'
+ is_flag: 'True'
+ help: 'disable strict API response validation'
+ noclean:
+ flags:
+ - '--no-clean'
+ - '-n'
+ is_flag: 'True'
+ help: 'Keep all Containers created for debuging.'
+ deployscenario:
+ flags:
+ - '--deploy-scenario'
+ help: 'Specify the DEPLOY_SCENARIO which will be used as input by each testcase respectively'
+ mandatory:
+ flags:
+ - '--mandatory'
+ is_flag: 'True'
+ help: 'Run all mandatory test cases.'
+ optional:
+ flags:
+ - '--optional'
+ is_flag: 'True'
+ help: 'Run all optional test cases.'
+ opnfvci:
+ flags:
+ - '--opnfv-ci'
+ is_flag: 'True'
+ help: 'Only enabled when running with OPNFV CI jobs and pushing results to TestAPI DB'
diff --git a/etc/conf/dovetail_config.yml b/etc/conf/dovetail_config.yml
new file mode 100644
index 00000000..10b81fbb
--- /dev/null
+++ b/etc/conf/dovetail_config.yml
@@ -0,0 +1,42 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+version: '2019.12'
+cli_file_name: 'cmd_config.yml'
+result_file: 'results.json'
+
+# OPENSTACK Credential file
+env_file: 'env_config.sh'
+
+# POD info file
+pod_file: 'pod.yaml'
+
+# JUMPSERVER private key used in pod_file to login hosts
+# If use password to login hosts, there's no need to provide the private key
+pri_key: 'id_rsa'
+
+# testsuite supported, should adjust accordingly
+testsuite_supported:
+ - proposed_tests
+ - debug
+ - healthcheck
+ - ovp.2019.12
+ - onap.tosca.2019.04
+ - onap.heat.2019.04
+
+# used for testcase cmd template in jinja2 format
+# we have two variables available now
+# parameter path, use this path to walk through python object and get value
+# and the python object is "testcase" object by hard-coded
+parameters:
+ - name: testcase
+ path: '("name",)'
+ - name: validate_testcase
+ path: '("validate", "testcase")'
diff --git a/etc/conf/functest-k8s_config.yml b/etc/conf/functest-k8s_config.yml
new file mode 100644
index 00000000..a01f5715
--- /dev/null
+++ b/etc/conf/functest-k8s_config.yml
@@ -0,0 +1,46 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+
+{% set validate_testcase = validate_testcase or '' %}
+{% set testcase = testcase or '' %}
+{% set dovetail_home = dovetail_home or '' %}
+{% set debug = debug or 'false' %}
+{% set build_tag = build_tag or '' %}
+{% set openrc_file = '/home/opnfv/functest/conf/env_file' %}
+{% set kube_file = '/root/.kube/config' %}
+{% set result_dir = '/home/opnfv/functest/results' %}
+
+functest-k8s:
+ image_name: opnfv/functest-kubernetes-healthcheck
+ docker_tag: hunter
+ opts:
+ detach: true
+ stdin_open: true
+ shell: '/bin/bash'
+ envs:
+ - 'INSTALLER_TYPE=unknown'
+ - 'DEPLOY_SCENARIO=k8-deploy'
+ - 'NODE_NAME=unknown'
+ - 'TEST_DB_URL=file:///home/opnfv/functest/results/functest_results.txt'
+ - 'CI_DEBUG={{debug}}'
+ - 'BUILD_TAG={{build_tag}}-{{testcase}}'
+ volumes:
+ - '{{dovetail_home}}/results/:{{result_dir}}'
+ mounts:
+ - 'source={{dovetail_home}}/pre_config/k8.creds,target={{openrc_file}}'
+ - 'source={{dovetail_home}}/pre_config/admin.conf,target={{kube_file}}'
+ pre_condition:
+ - 'echo test for precondition in functest'
+ cmds:
+ - 'run_tests -t {{validate_testcase}} -r'
+ post_condition:
+ - 'echo test for postcondition in functest'
+ openrc: {{openrc_file}}
diff --git a/etc/conf/functest_config.yml b/etc/conf/functest_config.yml
new file mode 100644
index 00000000..91fd68e2
--- /dev/null
+++ b/etc/conf/functest_config.yml
@@ -0,0 +1,65 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+
+{% set validate_testcase = validate_testcase or '' %}
+{% set testcase = testcase or '' %}
+{% set deploy_scenario = deploy_scenario or 'unknown' %}
+{% set os_insecure = os_insecure or 'False' %}
+{% set os_verify = '' %}
+{% if os_insecure == 'True' %}
+ {% set os_verify = 'OS_VERIFY=' %}
+{% endif %}
+{% set dovetail_home = dovetail_home or '' %}
+{% set debug = debug or 'false' %}
+{% set build_tag = build_tag or '' %}
+{% set cacert_volume = '' %}
+{% if cacert %}
+ {% set cacert_volume = 'source=' + cacert + ',target=' + cacert %}
+{% endif %}
+{% set openrc_file = '/home/opnfv/functest/conf/env_file' %}
+{% set result_dir = '/home/opnfv/functest/results' %}
+{% set userconfig_dir = '/home/opnfv/userconfig' %}
+{% set patches_dir = '/home/opnfv/patches' %}
+{% set images_dir = '/home/opnfv/functest/images' %}
+
+functest:
+ image_name: opnfv/functest-smoke
+ docker_tag: hunter
+ opts:
+ detach: true
+ stdin_open: true
+ privileged: true
+ shell: '/bin/bash'
+ envs:
+ - {{os_verify}}
+ - 'INSTALLER_TYPE=unknown'
+ - 'DEPLOY_SCENARIO={{deploy_scenario}}'
+ - 'NODE_NAME=unknown'
+ - 'TEST_DB_URL=file://{{result_dir}}/functest_results.txt'
+ - 'CI_DEBUG={{debug}}'
+ - 'BUILD_TAG={{build_tag}}-{{testcase}}'
+ volumes:
+ - '{{dovetail_home}}/userconfig:{{userconfig_dir}}'
+ - '{{dovetail_home}}/patches:{{patches_dir}}'
+ - '{{dovetail_home}}/results:{{result_dir}}'
+ - '{{dovetail_home}}/images:{{images_dir}}'
+ mounts:
+ - 'source={{dovetail_home}}/pre_config/env_config.sh,target={{openrc_file}}'
+ - 'source={{dovetail_home}}/pre_config,target=/home/opnfv/pre_config'
+ - {{cacert_volume}}
+ patches_dir: {{patches_dir}}
+ pre_condition:
+ - 'echo test for precondition in functest'
+ cmds:
+ - 'run_tests -t {{validate_testcase}} -r'
+ post_condition:
+ - 'echo test for postcondition in functest'
+ openrc: {{openrc_file}}
diff --git a/etc/conf/onap-vtp_config.yml b/etc/conf/onap-vtp_config.yml
new file mode 100644
index 00000000..2cfc96fc
--- /dev/null
+++ b/etc/conf/onap-vtp_config.yml
@@ -0,0 +1,39 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+
+{% set validate_testcase = validate_testcase or '' %}
+{% set testcase = testcase or '' %}
+{% set build_tag = build_tag or '' %}
+{% set csar_file = csar_file or '' %}
+{% set host_url = host_url or '' %}
+{% set result_dir = '/tmp/onap' %}
+
+onap-vtp:
+ image_name: nexus3.onap.org:10001/onap/cli
+ docker_tag: 2.0.5
+ opts:
+ detach: true
+ tty: true
+ shell: '/bin/bash'
+ envs:
+ - 'OPEN_CLI_MODE=daemon'
+ - 'BUILD_TAG={{build_tag}}-{{testcase}}'
+ - 'OPEN_CLI_PRODUCT_IN_USE=onap-vtp'
+ volumes:
+ - '{{dovetail_home}}/pre_config/{{csar_file}}:/{{csar_file}}'
+ - '{{dovetail_home}}/results:{{result_dir}}'
+ pre_condition:
+ - 'echo this is pre_condition'
+ cmds:
+ - "oclip vnftest-run --name {{validate_testcase}} --param csar=/{{csar_file}}
+ --host-url {{host_url}} --format json > {{result_dir}}/{{testcase}}.out"
+ post_condition:
+ - 'echo this is post_condition'
diff --git a/etc/conf/onap-vvp_config.yml b/etc/conf/onap-vvp_config.yml
new file mode 100644
index 00000000..ee09b711
--- /dev/null
+++ b/etc/conf/onap-vvp_config.yml
@@ -0,0 +1,32 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+
+{% set build_tag = build_tag or '' %}
+{% set heat_templates_archive = heat_templates_archive or '' %}
+{% set result_dir = '/vvp/reports' %}
+
+onap-vvp:
+ image_name: nexus3.onap.org:10001/onap/vvp/validation-scripts
+ docker_tag: latest
+ opts:
+ detach: true
+ tty: true
+ entrypoint: ''
+ shell: '/bin/ash'
+ volumes:
+ - '{{dovetail_home}}/pre_config/{{heat_templates_archive}}.zip:/tmp/{{heat_templates_archive}}.zip'
+ - '{{dovetail_home}}/results:{{result_dir}}'
+ pre_condition:
+ - 'unzip -o -d /vvp/{{heat_templates_archive}} /tmp/{{heat_templates_archive}}.zip'
+ cmds:
+ - 'pytest tests --template-directory=/vvp/{{heat_templates_archive}} --output-directory={{result_dir}} --report-format=json --continue-on-failure'
+ post_condition:
+ - 'echo this is post_condition'
diff --git a/etc/conf/yardstick_config.yml b/etc/conf/yardstick_config.yml
new file mode 100644
index 00000000..3c4273f8
--- /dev/null
+++ b/etc/conf/yardstick_config.yml
@@ -0,0 +1,64 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+
+{% set attack_host = attack_host or '' %}
+{% set attack_process = attack_process or '' %}
+{% set validate_testcase = validate_testcase or '' %}
+{% set testcase = testcase or '' %}
+{% set os_insecure = os_insecure or 'False' %}
+{% set os_verify = '' %}
+{% if os_insecure == 'True' %}
+ {% set os_verify = 'OS_VERIFY=' %}
+{% endif %}
+{% set dovetail_home = dovetail_home or '' %}
+{% set debug = debug or 'false' %}
+{% set build_tag = build_tag or '' %}
+{% set cacert_volume = '' %}
+{% if cacert %}
+ {% set cacert_volume = 'source=' + cacert + ',target=' + cacert %}
+{% endif %}
+{% set openrc_file = '/etc/yardstick/openstack.creds' %}
+{% set pod_file = '/etc/yardstick/pod.yaml' %}
+{% set result_dir = '/tmp/yardstick' %}
+
+yardstick:
+ image_name: opnfv/yardstick
+ docker_tag: opnfv-8.0.0
+ opts:
+ detach: true
+ stdin_open: true
+ privileged: true
+ shell: '/bin/bash'
+ envs:
+ - {{os_verify}}
+ - 'YARDSTICK_BRANCH=fraser'
+ - 'CI_DEBUG={{debug}}'
+ - 'BUILD_TAG={{build_tag}}-{{testcase}}"'
+ volumes:
+ - '{{dovetail_home}}/images:/home/opnfv/images'
+ - '{{dovetail_home}}/results:{{result_dir}}'
+ mounts:
+ - 'source={{dovetail_home}}/pre_config,target={{dovetail_home}}/pre_config'
+ - 'source={{dovetail_home}}/pre_config/env_config.sh,target={{openrc_file}}'
+ - 'source={{dovetail_home}}/pre_config/pod.yaml,target={{pod_file}}'
+ - {{cacert_volume}}
+ pre_condition:
+ - 'echo this is pre_condition'
+ cmds:
+ - "cd /home/opnfv/repos/yardstick && source {{openrc_file}} &&
+ yardstick task start tests/opnfv/test_cases/{{validate_testcase}}.yaml
+ --output-file {{result_dir}}/{{testcase}}.out
+ --task-args '{'file': '{{pod_file}}',
+ 'attack_host': {{attack_host}},
+ 'attack_process': {{attack_process}}}'"
+ post_condition:
+ - 'echo this is post_condition'
+ openrc: {{openrc_file}}
diff --git a/etc/patches/functest/disable-api-validation/0001-Allow-additional-properties-in-API-responses.patch b/etc/patches/functest/disable-api-validation/0001-Allow-additional-properties-in-API-responses.patch
new file mode 100644
index 00000000..51136813
--- /dev/null
+++ b/etc/patches/functest/disable-api-validation/0001-Allow-additional-properties-in-API-responses.patch
@@ -0,0 +1,1962 @@
+From 56c7c31129ca7942e7d658b249e32a4b05a08c94 Mon Sep 17 00:00:00 2001
+From: Dovetail <ovp-support@lfnetworking.org>
+Date: Fri, 8 Nov 2019 07:56:32 +0000
+Subject: [PATCH] Allow additional properties in API responses
+
+Signed-off-by: Dovetail <ovp-support@lfnetworking.org>
+---
+ .../response/compute/v2_1/agents.py | 10 ++--
+ .../response/compute/v2_1/aggregates.py | 8 +--
+ .../compute/v2_1/availability_zone.py | 8 +--
+ .../response/compute/v2_1/baremetal_nodes.py | 6 +-
+ .../response/compute/v2_1/certificates.py | 4 +-
+ .../response/compute/v2_1/extensions.py | 4 +-
+ .../response/compute/v2_1/fixed_ips.py | 4 +-
+ .../response/compute/v2_1/flavors.py | 10 ++--
+ .../response/compute/v2_1/flavors_access.py | 4 +-
+ .../compute/v2_1/flavors_extra_specs.py | 2 +-
+ .../response/compute/v2_1/floating_ips.py | 20 +++----
+ .../api_schema/response/compute/v2_1/hosts.py | 14 ++---
+ .../response/compute/v2_1/hypervisors.py | 22 +++----
+ .../response/compute/v2_1/images.py | 16 ++---
+ .../compute/v2_1/instance_usage_audit_logs.py | 8 +--
+ .../response/compute/v2_1/interfaces.py | 8 +--
+ .../response/compute/v2_1/keypairs.py | 14 ++---
+ .../response/compute/v2_1/limits.py | 10 ++--
+ .../response/compute/v2_1/migrations.py | 4 +-
+ .../response/compute/v2_1/parameter_types.py | 4 +-
+ .../response/compute/v2_1/quotas.py | 4 +-
+ .../v2_1/security_group_default_rule.py | 8 +--
+ .../response/compute/v2_1/security_groups.py | 16 ++---
+ .../response/compute/v2_1/server_groups.py | 6 +-
+ .../response/compute/v2_1/servers.py | 60 +++++++++----------
+ .../response/compute/v2_1/services.py | 12 ++--
+ .../response/compute/v2_1/snapshots.py | 6 +-
+ .../response/compute/v2_1/tenant_networks.py | 6 +-
+ .../response/compute/v2_1/versions.py | 10 ++--
+ .../response/compute/v2_1/volumes.py | 12 ++--
+ .../response/compute/v2_11/services.py | 4 +-
+ .../response/compute/v2_16/servers.py | 14 ++---
+ .../response/compute/v2_23/migrations.py | 4 +-
+ .../response/compute/v2_26/servers.py | 2 +-
+ .../response/compute/v2_3/servers.py | 14 ++---
+ .../response/compute/v2_45/images.py | 2 +-
+ .../response/compute/v2_47/servers.py | 2 +-
+ .../response/compute/v2_48/servers.py | 10 ++--
+ .../response/compute/v2_53/services.py | 4 +-
+ .../response/compute/v2_55/flavors.py | 10 ++--
+ .../response/compute/v2_6/servers.py | 4 +-
+ .../response/compute/v2_61/flavors.py | 6 +-
+ tempest/lib/api_schema/response/volume/qos.py | 16 ++---
+ 43 files changed, 206 insertions(+), 206 deletions(-)
+
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/agents.py b/tempest/lib/api_schema/response/compute/v2_1/agents.py
+index 6f712b41e..09feb73df 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/agents.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/agents.py
+@@ -23,7 +23,7 @@ common_agent_info = {
+ 'url': {'type': 'string', 'format': 'uri'},
+ 'md5hash': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['agent_id', 'hypervisor', 'os', 'architecture',
+ 'version', 'url', 'md5hash']
+ }
+@@ -38,7 +38,7 @@ list_agents = {
+ 'items': common_agent_info
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['agents']
+ }
+ }
+@@ -50,7 +50,7 @@ create_agent = {
+ 'properties': {
+ 'agent': common_agent_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['agent']
+ }
+ }
+@@ -68,11 +68,11 @@ update_agent = {
+ 'url': {'type': 'string', 'format': 'uri'},
+ 'md5hash': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['agent_id', 'version', 'url', 'md5hash']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['agent']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/aggregates.py b/tempest/lib/api_schema/response/compute/v2_1/aggregates.py
+index 3289a34a7..021959b10 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/aggregates.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/aggregates.py
+@@ -28,7 +28,7 @@ aggregate_for_create = {
+ 'name': {'type': 'string'},
+ 'updated_at': parameter_types.date_time_or_null
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['availability_zone', 'created_at', 'deleted',
+ 'deleted_at', 'id', 'name', 'updated_at'],
+ }
+@@ -50,7 +50,7 @@ list_aggregates = {
+ 'items': common_aggregate_info
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['aggregates'],
+ }
+ }
+@@ -62,7 +62,7 @@ get_aggregate = {
+ 'properties': {
+ 'aggregate': common_aggregate_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['aggregate'],
+ }
+ }
+@@ -84,7 +84,7 @@ create_aggregate = {
+ 'properties': {
+ 'aggregate': aggregate_for_create
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['aggregate'],
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/availability_zone.py b/tempest/lib/api_schema/response/compute/v2_1/availability_zone.py
+index 0dc28c378..ded47d7c0 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/availability_zone.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/availability_zone.py
+@@ -33,19 +33,19 @@ base = {
+ 'properties': {
+ 'available': {'type': 'boolean'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['available']
+ },
+ # NOTE: Here is the difference between detail and
+ # non-detail.
+ 'hosts': {'type': 'null'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['zoneName', 'zoneState', 'hosts']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['availabilityZoneInfo']
+ }
+ }
+@@ -65,7 +65,7 @@ detail = {
+ 'active': {'type': 'boolean'},
+ 'updated_at': parameter_types.date_time_or_null
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['available', 'active', 'updated_at']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/baremetal_nodes.py b/tempest/lib/api_schema/response/compute/v2_1/baremetal_nodes.py
+index d1ee87728..8ab17d3fb 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/baremetal_nodes.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/baremetal_nodes.py
+@@ -25,7 +25,7 @@ node = {
+ 'memory_mb': {'type': ['integer', 'string']},
+ 'disk_gb': {'type': ['integer', 'string']},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'interfaces', 'host', 'task_state', 'cpus', 'memory_mb',
+ 'disk_gb']
+ }
+@@ -40,7 +40,7 @@ list_baremetal_nodes = {
+ 'items': node
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['nodes']
+ }
+ }
+@@ -52,7 +52,7 @@ baremetal_node = {
+ 'properties': {
+ 'node': node
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['node']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/certificates.py b/tempest/lib/api_schema/response/compute/v2_1/certificates.py
+index 4e7cbe4d2..99f795a3b 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/certificates.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/certificates.py
+@@ -25,11 +25,11 @@ _common_schema = {
+ 'data': {'type': 'string'},
+ 'private_key': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['data', 'private_key']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['certificate']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/extensions.py b/tempest/lib/api_schema/response/compute/v2_1/extensions.py
+index b5962d752..833bc9df0 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/extensions.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/extensions.py
+@@ -34,13 +34,13 @@ list_extensions = {
+ 'alias': {'type': 'string'},
+ 'description': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['updated', 'name', 'links', 'namespace',
+ 'alias', 'description']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['extensions']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/fixed_ips.py b/tempest/lib/api_schema/response/compute/v2_1/fixed_ips.py
+index a653213f0..b53565aab 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/fixed_ips.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/fixed_ips.py
+@@ -27,11 +27,11 @@ get_fixed_ip = {
+ 'host': {'type': 'string'},
+ 'hostname': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['address', 'cidr', 'host', 'hostname']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['fixed_ip']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/flavors.py b/tempest/lib/api_schema/response/compute/v2_1/flavors.py
+index bd5e3d636..27948a784 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/flavors.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/flavors.py
+@@ -28,13 +28,13 @@ list_flavors = {
+ 'links': parameter_types.links,
+ 'id': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['name', 'links', 'id']
+ }
+ },
+ 'flavors_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): flavors_links attribute is not necessary
+ # to be present always So it is not 'required'.
+ 'required': ['flavors']
+@@ -58,7 +58,7 @@ common_flavor_info = {
+ 'rxtx_factor': {'type': 'number'},
+ 'OS-FLV-EXT-DATA:ephemeral': {'type': 'integer'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # 'OS-FLV-DISABLED', 'os-flavor-access', 'rxtx_factor' and
+ # 'OS-FLV-EXT-DATA' are API extensions, so they are not 'required'.
+ 'required': ['name', 'links', 'ram', 'vcpus', 'swap', 'disk', 'id']
+@@ -77,7 +77,7 @@ list_flavors_details = {
+ # to be present always so it is not 'required'.
+ 'flavors_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavors']
+ }
+ }
+@@ -89,7 +89,7 @@ create_update_get_flavor_details = {
+ 'properties': {
+ 'flavor': common_flavor_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavor']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/flavors_access.py b/tempest/lib/api_schema/response/compute/v2_1/flavors_access.py
+index a4d6af0d7..958ed02b5 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/flavors_access.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/flavors_access.py
+@@ -25,12 +25,12 @@ add_remove_list_flavor_access = {
+ 'flavor_id': {'type': 'string'},
+ 'tenant_id': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavor_id', 'tenant_id'],
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavor_access']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/flavors_extra_specs.py b/tempest/lib/api_schema/response/compute/v2_1/flavors_extra_specs.py
+index 3aa1edac4..081d21a92 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/flavors_extra_specs.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/flavors_extra_specs.py
+@@ -24,7 +24,7 @@ set_get_flavor_extra_specs = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['extra_specs']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/floating_ips.py b/tempest/lib/api_schema/response/compute/v2_1/floating_ips.py
+index 0c665905f..39e4207ca 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/floating_ips.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/floating_ips.py
+@@ -26,7 +26,7 @@ common_floating_ip_info = {
+ 'ip': parameter_types.ip_address,
+ 'fixed_ip': parameter_types.ip_address
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'pool', 'instance_id',
+ 'ip', 'fixed_ip'],
+
+@@ -41,7 +41,7 @@ list_floating_ips = {
+ 'items': common_floating_ip_info
+ },
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['floating_ips'],
+ }
+ }
+@@ -53,7 +53,7 @@ create_get_floating_ip = {
+ 'properties': {
+ 'floating_ip': common_floating_ip_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['floating_ip'],
+ }
+ }
+@@ -70,12 +70,12 @@ list_floating_ip_pools = {
+ 'properties': {
+ 'name': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['name'],
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['floating_ip_pools'],
+ }
+ }
+@@ -96,11 +96,11 @@ create_floating_ips_bulk = {
+ 'ip_range': {'type': 'string'},
+ 'pool': {'type': ['string', 'null']},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['interface', 'ip_range', 'pool'],
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['floating_ips_bulk_create'],
+ }
+ }
+@@ -112,7 +112,7 @@ delete_floating_ips_bulk = {
+ 'properties': {
+ 'floating_ips_bulk_delete': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['floating_ips_bulk_delete'],
+ }
+ }
+@@ -134,7 +134,7 @@ list_floating_ips_bulk = {
+ 'project_id': {'type': ['string', 'null']},
+ 'fixed_ip': parameter_types.ip_address
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE: fixed_ip is introduced after JUNO release,
+ # So it is not defined as 'required'.
+ 'required': ['address', 'instance_uuid', 'interface',
+@@ -142,7 +142,7 @@ list_floating_ips_bulk = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['floating_ip_info'],
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/hosts.py b/tempest/lib/api_schema/response/compute/v2_1/hosts.py
+index cae343597..76bf47ed1 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/hosts.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/hosts.py
+@@ -29,12 +29,12 @@ list_hosts = {
+ 'service': {'type': 'string'},
+ 'zone': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['host_name', 'service', 'zone']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hosts']
+ }
+ }
+@@ -58,17 +58,17 @@ get_host_detail = {
+ 'memory_mb': {'type': 'integer'},
+ 'project': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['cpu', 'disk_gb', 'host',
+ 'memory_mb', 'project']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['resource']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['host']
+ }
+ }
+@@ -81,7 +81,7 @@ startup_host = {
+ 'host': {'type': 'string'},
+ 'power_action': {'enum': ['startup']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['host', 'power_action']
+ }
+ }
+@@ -110,7 +110,7 @@ update_host = {
+ 'off_maintenance']},
+ 'status': {'enum': ['enabled', 'disabled']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'anyOf': [
+ {'required': ['host', 'status']},
+ {'required': ['host', 'maintenance_mode']}
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/hypervisors.py b/tempest/lib/api_schema/response/compute/v2_1/hypervisors.py
+index d15b4f66a..5d8cf6d39 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/hypervisors.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/hypervisors.py
+@@ -37,7 +37,7 @@ get_hypervisor_statistics = {
+ 'vcpus': {'type': 'integer'},
+ 'vcpus_used': {'type': 'integer'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['count', 'current_workload',
+ 'disk_available_least', 'free_disk_gb',
+ 'free_ram_mb', 'local_gb', 'local_gb_used',
+@@ -45,7 +45,7 @@ get_hypervisor_statistics = {
+ 'vcpus', 'vcpus_used']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hypervisor_statistics']
+ }
+ }
+@@ -78,13 +78,13 @@ hypervisor_detail = {
+ 'id': {'type': ['integer', 'string']},
+ 'disabled_reason': {'type': ['string', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['host', 'id']
+ },
+ 'vcpus': {'type': 'integer'},
+ 'vcpus_used': {'type': 'integer'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE: When loading os-hypervisor-status extension,
+ # a response contains status and state. So these params
+ # should not be required.
+@@ -107,7 +107,7 @@ list_hypervisors_detail = {
+ 'items': hypervisor_detail
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hypervisors']
+ }
+ }
+@@ -119,7 +119,7 @@ get_hypervisor = {
+ 'properties': {
+ 'hypervisor': hypervisor_detail
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hypervisor']
+ }
+ }
+@@ -139,7 +139,7 @@ list_search_hypervisors = {
+ 'id': {'type': ['integer', 'string']},
+ 'hypervisor_hostname': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE: When loading os-hypervisor-status extension,
+ # a response contains status and state. So these params
+ # should not be required.
+@@ -147,7 +147,7 @@ list_search_hypervisors = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hypervisors']
+ }
+ }
+@@ -166,14 +166,14 @@ get_hypervisor_uptime = {
+ 'hypervisor_hostname': {'type': 'string'},
+ 'uptime': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE: When loading os-hypervisor-status extension,
+ # a response contains status and state. So these params
+ # should not be required.
+ 'required': ['id', 'hypervisor_hostname', 'uptime']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hypervisor']
+ }
+ }
+@@ -188,7 +188,7 @@ get_hypervisors_servers['response_body']['properties']['hypervisors']['items'][
+ 'uuid': {'type': 'string'},
+ 'name': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ }
+ }
+ # In V2 API, if there is no servers (VM) on the Hypervisor host then 'servers'
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/images.py b/tempest/lib/api_schema/response/compute/v2_1/images.py
+index 156ff4ac6..2acc12835 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/images.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/images.py
+@@ -40,13 +40,13 @@ common_image_schema = {
+ 'id': {'type': 'string'},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links']
+ },
+ 'OS-EXT-IMG-SIZE:size': {'type': ['integer', 'null']},
+ 'OS-DCF:diskConfig': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # 'server' attributes only comes in response body if image is
+ # associated with any server. 'OS-EXT-IMG-SIZE:size' & 'OS-DCF:diskConfig'
+ # are API extension, So those are not defined as 'required'.
+@@ -62,7 +62,7 @@ get_image = {
+ 'properties': {
+ 'image': common_image_schema
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['image']
+ }
+ }
+@@ -81,13 +81,13 @@ list_images = {
+ 'links': image_links,
+ 'name': {'type': ['string', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links', 'name']
+ }
+ },
+ 'images_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): images_links attribute is not necessary to be
+ # present always So it is not 'required'.
+ 'required': ['images']
+@@ -120,7 +120,7 @@ image_metadata = {
+ 'properties': {
+ 'metadata': {'type': 'object'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['metadata']
+ }
+ }
+@@ -132,7 +132,7 @@ image_meta_item = {
+ 'properties': {
+ 'meta': {'type': 'object'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['meta']
+ }
+ }
+@@ -148,7 +148,7 @@ list_images_details = {
+ },
+ 'images_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): images_links attribute is not necessary to be
+ # present always So it is not 'required'.
+ 'required': ['images']
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/instance_usage_audit_logs.py b/tempest/lib/api_schema/response/compute/v2_1/instance_usage_audit_logs.py
+index 15224c5a0..402dfeac3 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/instance_usage_audit_logs.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/instance_usage_audit_logs.py
+@@ -31,7 +31,7 @@ common_instance_usage_audit_log = {
+ 'errors': {'type': 'integer'},
+ 'message': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['state', 'instances', 'errors', 'message']
+ }
+ }
+@@ -46,7 +46,7 @@ common_instance_usage_audit_log = {
+ 'total_errors': {'type': 'integer'},
+ 'total_instances': {'type': 'integer'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['hosts_not_run', 'log', 'num_hosts', 'num_hosts_done',
+ 'num_hosts_not_run', 'num_hosts_running', 'overall_status',
+ 'period_beginning', 'period_ending', 'total_errors',
+@@ -60,7 +60,7 @@ get_instance_usage_audit_log = {
+ 'properties': {
+ 'instance_usage_audit_log': common_instance_usage_audit_log
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['instance_usage_audit_log']
+ }
+ }
+@@ -72,7 +72,7 @@ list_instance_usage_audit_log = {
+ 'properties': {
+ 'instance_usage_audit_logs': common_instance_usage_audit_log
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['instance_usage_audit_logs']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/interfaces.py b/tempest/lib/api_schema/response/compute/v2_1/interfaces.py
+index 99847502c..6a989e5eb 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/interfaces.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/interfaces.py
+@@ -29,7 +29,7 @@ interface_common_info = {
+ },
+ 'ip_address': parameter_types.ip_address
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['subnet_id', 'ip_address']
+ }
+ },
+@@ -37,7 +37,7 @@ interface_common_info = {
+ 'net_id': {'type': 'string', 'format': 'uuid'},
+ 'mac_addr': parameter_types.mac_address
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['port_state', 'fixed_ips', 'port_id', 'net_id', 'mac_addr']
+ }
+
+@@ -48,7 +48,7 @@ get_create_interfaces = {
+ 'properties': {
+ 'interfaceAttachment': interface_common_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['interfaceAttachment']
+ }
+ }
+@@ -63,7 +63,7 @@ list_interfaces = {
+ 'items': interface_common_info
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['interfaceAttachments']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/keypairs.py b/tempest/lib/api_schema/response/compute/v2_1/keypairs.py
+index e7dcf791d..8a95112c2 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/keypairs.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/keypairs.py
+@@ -33,13 +33,13 @@ get_keypair = {
+ 'id': {'type': 'integer'}
+
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['public_key', 'name', 'fingerprint', 'user_id',
+ 'deleted', 'created_at', 'updated_at',
+ 'deleted_at', 'id']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['keypair']
+ }
+ }
+@@ -58,14 +58,14 @@ create_keypair = {
+ 'user_id': {'type': 'string'},
+ 'private_key': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # When create keypair API is being called with 'Public key'
+ # (Importing keypair) then, response body does not contain
+ # 'private_key' So it is not defined as 'required'
+ 'required': ['fingerprint', 'name', 'public_key', 'user_id']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['keypair']
+ }
+ }
+@@ -91,16 +91,16 @@ list_keypairs = {
+ 'name': {'type': 'string'},
+ 'fingerprint': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['public_key', 'name', 'fingerprint']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['keypair']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['keypairs']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/limits.py b/tempest/lib/api_schema/response/compute/v2_1/limits.py
+index 81f175fa7..bc4c1e3d8 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/limits.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/limits.py
+@@ -43,7 +43,7 @@ get_limit = {
+ 'maxServerGroups': {'type': 'integer'},
+ 'totalServerGroupsUsed': {'type': 'integer'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): maxServerGroupMembers, maxServerGroups
+ # and totalServerGroupsUsed are API extension,
+ # and some environments return a response without these
+@@ -86,21 +86,21 @@ get_limit = {
+ 'verb':
+ {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ }
+ },
+ 'regex': {'type': 'string'},
+ 'uri': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['absolute', 'rate']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['limits']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/migrations.py b/tempest/lib/api_schema/response/compute/v2_1/migrations.py
+index c50286d27..19922f2b4 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/migrations.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/migrations.py
+@@ -37,7 +37,7 @@ list_migrations = {
+ 'created_at': parameter_types.date_time,
+ 'updated_at': parameter_types.date_time_or_null
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': [
+ 'id', 'status', 'instance_uuid', 'source_node',
+ 'source_compute', 'dest_node', 'dest_compute',
+@@ -47,7 +47,7 @@ list_migrations = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['migrations']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/parameter_types.py b/tempest/lib/api_schema/response/compute/v2_1/parameter_types.py
+index 28ed81673..dc7544581 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/parameter_types.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/parameter_types.py
+@@ -23,7 +23,7 @@ links = {
+ },
+ 'rel': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['href', 'rel']
+ }
+ }
+@@ -74,7 +74,7 @@ addresses = {
+ ]
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['version', 'addr']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/quotas.py b/tempest/lib/api_schema/response/compute/v2_1/quotas.py
+index 44f5bdfd2..a4515a9ea 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/quotas.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/quotas.py
+@@ -37,7 +37,7 @@ update_quota_set = {
+ 'injected_file_content_bytes': {'type': 'integer'},
+ 'injected_file_path_bytes': {'type': 'integer'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE: server_group_members and server_groups are represented
+ # when enabling quota_server_group extension. So they should
+ # not be required.
+@@ -49,7 +49,7 @@ update_quota_set = {
+ 'injected_file_path_bytes']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['quota_set']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/security_group_default_rule.py b/tempest/lib/api_schema/response/compute/v2_1/security_group_default_rule.py
+index 2ec282698..1a2e19b84 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/security_group_default_rule.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/security_group_default_rule.py
+@@ -23,12 +23,12 @@ common_security_group_default_rule_info = {
+ 'properties': {
+ 'cidr': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['cidr'],
+ },
+ 'to_port': {'type': 'integer'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['from_port', 'id', 'ip_protocol', 'ip_range', 'to_port'],
+ }
+
+@@ -40,7 +40,7 @@ create_get_security_group_default_rule = {
+ 'security_group_default_rule':
+ common_security_group_default_rule_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['security_group_default_rule']
+ }
+ }
+@@ -59,7 +59,7 @@ list_security_group_default_rules = {
+ 'items': common_security_group_default_rule_info
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['security_group_default_rules']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/security_groups.py b/tempest/lib/api_schema/response/compute/v2_1/security_groups.py
+index 5ed5a5c80..d9f1794c6 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/security_groups.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/security_groups.py
+@@ -21,7 +21,7 @@ common_security_group_rule = {
+ 'tenant_id': {'type': 'string'},
+ 'name': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ },
+ 'ip_protocol': {'type': ['string', 'null']},
+ # 'parent_group_id' can be UUID so defining it as 'string' also.
+@@ -31,7 +31,7 @@ common_security_group_rule = {
+ 'properties': {
+ 'cidr': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # When optional argument is provided in request body
+ # like 'group_id' then, attribute 'cidr' does not
+ # comes in response body. So it is not 'required'.
+@@ -50,12 +50,12 @@ common_security_group = {
+ 'items': {
+ 'type': ['object', 'null'],
+ 'properties': common_security_group_rule,
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ }
+ },
+ 'description': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'name', 'tenant_id', 'rules', 'description'],
+ }
+
+@@ -69,7 +69,7 @@ list_security_groups = {
+ 'items': common_security_group
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['security_groups']
+ }
+ }
+@@ -81,7 +81,7 @@ get_security_group = create_security_group = update_security_group = {
+ 'properties': {
+ 'security_group': common_security_group
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['security_group']
+ }
+ }
+@@ -98,12 +98,12 @@ create_security_group_rule = {
+ 'security_group_rule': {
+ 'type': 'object',
+ 'properties': common_security_group_rule,
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['from_port', 'to_port', 'group', 'ip_protocol',
+ 'parent_group_id', 'id', 'ip_range']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['security_group_rule']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/server_groups.py b/tempest/lib/api_schema/response/compute/v2_1/server_groups.py
+index 01db20b88..49a8f0d95 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/server_groups.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/server_groups.py
+@@ -29,7 +29,7 @@ common_server_group = {
+ },
+ 'metadata': {'type': 'object'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'name', 'policies', 'members', 'metadata']
+ }
+
+@@ -40,7 +40,7 @@ create_show_server_group = {
+ 'properties': {
+ 'server_group': common_server_group
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server_group']
+ }
+ }
+@@ -59,7 +59,7 @@ list_server_groups = {
+ 'items': common_server_group
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server_groups']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/servers.py b/tempest/lib/api_schema/response/compute/v2_1/servers.py
+index 3300298d1..ac050eb43 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/servers.py
+@@ -29,14 +29,14 @@ create_server = {
+ 'links': parameter_types.links,
+ 'OS-DCF:diskConfig': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE: OS-DCF:diskConfig & security_groups are API extension,
+ # and some environments return a response without these
+ # attributes.So they are not 'required'.
+ 'required': ['id', 'links']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server']
+ }
+ }
+@@ -61,13 +61,13 @@ list_servers = {
+ 'links': parameter_types.links,
+ 'name': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links', 'name']
+ }
+ },
+ 'servers_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): servers_links attribute is not necessary to be
+ # present always So it is not 'required'.
+ 'required': ['servers']
+@@ -90,7 +90,7 @@ common_show_server = {
+ 'id': {'type': 'string'},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links']},
+ {'type': ['string', 'null']}
+ ]},
+@@ -103,7 +103,7 @@ common_show_server = {
+ # NOTE(gmann): This will be empty object if there is no
+ # flavor info present in DB. This can happen when flavor info is
+ # deleted after server creation.
+- 'additionalProperties': False
++ 'additionalProperties': True
+ },
+ 'fault': {
+ 'type': 'object',
+@@ -113,7 +113,7 @@ common_show_server = {
+ 'message': {'type': 'string'},
+ 'details': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): 'details' is not necessary to be present
+ # in the 'fault'. So it is not defined as 'required'.
+ 'required': ['code', 'created', 'message']
+@@ -131,7 +131,7 @@ common_show_server = {
+ 'accessIPv4': parameter_types.access_ip_v4,
+ 'accessIPv6': parameter_types.access_ip_v6
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(GMann): 'progress' attribute is present in the response
+ # only when server's status is one of the progress statuses
+ # ("ACTIVE","BUILD", "REBUILD", "RESIZE","VERIFY_RESIZE")
+@@ -152,7 +152,7 @@ update_server = {
+ 'properties': {
+ 'server': common_show_server
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server']
+ }
+ }
+@@ -183,7 +183,7 @@ server_detail['properties'].update({
+ 'properties': {
+ 'id': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ },
+ },
+ 'config_drive': {'type': 'string'}
+@@ -204,7 +204,7 @@ get_server = {
+ 'properties': {
+ 'server': server_detail
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server']
+ }
+ }
+@@ -220,7 +220,7 @@ list_servers_detail = {
+ },
+ 'servers_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): servers_links attribute is not necessary to be
+ # present always So it is not 'required'.
+ 'required': ['servers']
+@@ -240,7 +240,7 @@ rescue_server = {
+ 'status_code': [200],
+ 'response_body': {
+ 'type': 'object',
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ }
+ }
+
+@@ -265,14 +265,14 @@ list_virtual_interfaces = {
+ 'mac_address': parameter_types.mac_address,
+ 'OS-EXT-VIF-NET:net_id': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # 'OS-EXT-VIF-NET:net_id' is API extension So it is
+ # not defined as 'required'
+ 'required': ['id', 'mac_address']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['virtual_interfaces']
+ }
+ }
+@@ -285,7 +285,7 @@ common_attach_volume_info = {
+ 'volumeId': {'type': 'string'},
+ 'serverId': {'type': ['integer', 'string']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # 'device' is optional in response.
+ 'required': ['id', 'volumeId', 'serverId']
+ }
+@@ -297,7 +297,7 @@ attach_volume = {
+ 'properties': {
+ 'volumeAttachment': common_attach_volume_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['volumeAttachment']
+ }
+ }
+@@ -320,7 +320,7 @@ list_volume_attachments = {
+ 'items': common_attach_volume_info
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['volumeAttachments']
+ }
+ }
+@@ -340,7 +340,7 @@ list_addresses = {
+ 'properties': {
+ 'addresses': parameter_types.addresses
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['addresses']
+ }
+ }
+@@ -356,7 +356,7 @@ instance_actions = {
+ 'message': {'type': ['string', 'null']},
+ 'instance_uuid': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['action', 'request_id', 'user_id', 'project_id',
+ 'start_time', 'message', 'instance_uuid']
+ }
+@@ -377,7 +377,7 @@ instance_action_events = {
+ 'result': {'type': ['string', 'null']},
+ 'traceback': {'type': ['string', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(zhufl): events.traceback can only be seen by admin users
+ # with default policy.json, so it shouldn't be a required field.
+ 'required': ['event', 'start_time', 'finish_time', 'result']
+@@ -394,7 +394,7 @@ list_instance_actions = {
+ 'items': instance_actions
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['instanceActions']
+ }
+ }
+@@ -412,7 +412,7 @@ show_instance_action = {
+ 'properties': {
+ 'instanceAction': instance_actions_with_events
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['instanceAction']
+ }
+ }
+@@ -424,7 +424,7 @@ show_password = {
+ 'properties': {
+ 'password': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['password']
+ }
+ }
+@@ -443,11 +443,11 @@ get_vnc_console = {
+ 'format': 'uri'
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['type', 'url']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['console']
+ }
+ }
+@@ -459,7 +459,7 @@ get_console_output = {
+ 'properties': {
+ 'output': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['output']
+ }
+ }
+@@ -476,7 +476,7 @@ set_server_metadata = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['metadata']
+ }
+ }
+@@ -501,7 +501,7 @@ set_show_server_metadata_item = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['meta']
+ }
+ }
+@@ -532,7 +532,7 @@ evacuate_server_with_admin_pass = {
+ 'properties': {
+ 'adminPass': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['adminPass']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/services.py b/tempest/lib/api_schema/response/compute/v2_1/services.py
+index 3b58ece48..b590c0221 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/services.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/services.py
+@@ -34,13 +34,13 @@ list_services = {
+ 'updated_at': parameter_types.date_time_or_null,
+ 'disabled_reason': {'type': ['string', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'zone', 'host', 'state', 'binary',
+ 'status', 'updated_at', 'disabled_reason']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['services']
+ }
+ }
+@@ -57,11 +57,11 @@ enable_disable_service = {
+ 'binary': {'type': 'string'},
+ 'host': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['status', 'binary', 'host']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['service']
+ }
+ }
+@@ -79,11 +79,11 @@ disable_log_reason = {
+ 'host': {'type': 'string'},
+ 'status': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['disabled_reason', 'binary', 'host', 'status']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['service']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/snapshots.py b/tempest/lib/api_schema/response/compute/v2_1/snapshots.py
+index 826f85413..c808f5ee5 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/snapshots.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/snapshots.py
+@@ -26,7 +26,7 @@ common_snapshot_info = {
+ 'displayName': {'type': ['string', 'null']},
+ 'displayDescription': {'type': ['string', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'volumeId', 'status', 'size',
+ 'createdAt', 'displayName', 'displayDescription']
+ }
+@@ -38,7 +38,7 @@ create_get_snapshot = {
+ 'properties': {
+ 'snapshot': common_snapshot_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['snapshot']
+ }
+ }
+@@ -53,7 +53,7 @@ list_snapshots = {
+ 'items': common_snapshot_info
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['snapshots']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/tenant_networks.py b/tempest/lib/api_schema/response/compute/v2_1/tenant_networks.py
+index ddfab9619..02a9382ec 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/tenant_networks.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/tenant_networks.py
+@@ -19,7 +19,7 @@ param_network = {
+ 'cidr': {'type': ['string', 'null']},
+ 'label': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'cidr', 'label']
+ }
+
+@@ -34,7 +34,7 @@ list_tenant_networks = {
+ 'items': param_network
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['networks']
+ }
+ }
+@@ -47,7 +47,7 @@ get_tenant_network = {
+ 'properties': {
+ 'network': param_network
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['network']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/versions.py b/tempest/lib/api_schema/response/compute/v2_1/versions.py
+index 7f5623928..b57d1b8cb 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/versions.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/versions.py
+@@ -31,7 +31,7 @@ _version = {
+ 'type': {'type': 'string'},
+ },
+ 'required': ['href', 'rel'],
+- 'additionalProperties': False
++ 'additionalProperties': True
+ }
+ },
+ 'status': {'type': 'string'},
+@@ -50,7 +50,7 @@ _version = {
+ # so they should not be required.
+ # NOTE(sdague): media-types only shows up in single version requests.
+ 'required': ['id', 'links', 'status', 'updated'],
+- 'additionalProperties': False
++ 'additionalProperties': True
+ }
+
+ list_versions = {
+@@ -64,7 +64,7 @@ list_versions = {
+ }
+ },
+ 'required': ['versions'],
+- 'additionalProperties': False
++ 'additionalProperties': True
+ }
+ }
+
+@@ -96,7 +96,7 @@ get_version = {
+ }
+ },
+ 'required': ['choices'],
+- 'additionalProperties': False
++ 'additionalProperties': True
+ }
+ }
+
+@@ -107,6 +107,6 @@ get_one_version = {
+ 'properties': {
+ 'version': _version
+ },
+- 'additionalProperties': False
++ 'additionalProperties': True
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_1/volumes.py b/tempest/lib/api_schema/response/compute/v2_1/volumes.py
+index d367f2adb..1125cbfa4 100644
+--- a/tempest/lib/api_schema/response/compute/v2_1/volumes.py
++++ b/tempest/lib/api_schema/response/compute/v2_1/volumes.py
+@@ -42,7 +42,7 @@ create_get_volume = {
+ 'volumeId': {'type': 'string'},
+ 'serverId': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE- If volume is not attached to any server
+ # then, 'attachments' attributes comes as array
+ # with empty objects "[{}]" due to that elements
+@@ -53,13 +53,13 @@ create_get_volume = {
+ },
+ 'os-vol-host-attr:host': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'status', 'displayName', 'availabilityZone',
+ 'createdAt', 'displayDescription', 'volumeType',
+ 'snapshotId', 'metadata', 'size', 'attachments']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['volume']
+ }
+ }
+@@ -94,7 +94,7 @@ list_volumes = {
+ 'volumeId': {'type': 'string'},
+ 'serverId': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE- If volume is not attached to any server
+ # then, 'attachments' attributes comes as array
+ # with empty object "[{}]" due to that elements
+@@ -104,7 +104,7 @@ list_volumes = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'status', 'displayName',
+ 'availabilityZone', 'createdAt',
+ 'displayDescription', 'volumeType',
+@@ -113,7 +113,7 @@ list_volumes = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['volumes']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_11/services.py b/tempest/lib/api_schema/response/compute/v2_11/services.py
+index 9ece1f9b3..b17d180e3 100644
+--- a/tempest/lib/api_schema/response/compute/v2_11/services.py
++++ b/tempest/lib/api_schema/response/compute/v2_11/services.py
+@@ -36,11 +36,11 @@ update_forced_down = {
+ 'host': {'type': 'string'},
+ 'forced_down': {'type': 'boolean'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['binary', 'host', 'forced_down']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['service']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_16/servers.py b/tempest/lib/api_schema/response/compute/v2_16/servers.py
+index fc81ff70a..495ed3ec9 100644
+--- a/tempest/lib/api_schema/response/compute/v2_16/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_16/servers.py
+@@ -32,7 +32,7 @@ server_detail = {
+ 'id': {'type': 'string'},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links']},
+ {'type': ['string', 'null']}
+ ]},
+@@ -42,7 +42,7 @@ server_detail = {
+ 'id': {'type': 'string'},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links']
+ },
+ 'fault': {
+@@ -53,7 +53,7 @@ server_detail = {
+ 'message': {'type': 'string'},
+ 'details': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): 'details' is not necessary to be present
+ # in the 'fault'. So it is not defined as 'required'.
+ 'required': ['code', 'created', 'message']
+@@ -90,7 +90,7 @@ server_detail = {
+ 'id': {'type': 'string'},
+ 'delete_on_termination': {'type': 'boolean'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ },
+ },
+ 'OS-EXT-SRV-ATTR:reservation_id': {'type': ['string', 'null']},
+@@ -104,7 +104,7 @@ server_detail = {
+ # NOTE(gmann): new attributes in version 2.16
+ 'host_status': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): 'progress' attribute is present in the response
+ # only when server's status is one of the progress statuses
+ # ("ACTIVE","BUILD", "REBUILD", "RESIZE","VERIFY_RESIZE")
+@@ -134,7 +134,7 @@ get_server = {
+ 'properties': {
+ 'server': server_detail
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server']
+ }
+ }
+@@ -150,7 +150,7 @@ list_servers_detail = {
+ },
+ 'servers_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): servers_links attribute is not necessary to be
+ # present always So it is not 'required'.
+ 'required': ['servers']
+diff --git a/tempest/lib/api_schema/response/compute/v2_23/migrations.py b/tempest/lib/api_schema/response/compute/v2_23/migrations.py
+index 3cd0f6ec1..af6fd8ade 100644
+--- a/tempest/lib/api_schema/response/compute/v2_23/migrations.py
++++ b/tempest/lib/api_schema/response/compute/v2_23/migrations.py
+@@ -45,7 +45,7 @@ list_migrations = {
+ 'migration_type': {'type': ['string', 'null']},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': [
+ 'id', 'status', 'instance_uuid', 'source_node',
+ 'source_compute', 'dest_node', 'dest_compute',
+@@ -56,7 +56,7 @@ list_migrations = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['migrations']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_26/servers.py b/tempest/lib/api_schema/response/compute/v2_26/servers.py
+index 5a0f98732..248605b29 100644
+--- a/tempest/lib/api_schema/response/compute/v2_26/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_26/servers.py
+@@ -68,7 +68,7 @@ list_tags = {
+ 'properties': {
+ 'tags': tag_items,
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['tags']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_3/servers.py b/tempest/lib/api_schema/response/compute/v2_3/servers.py
+index 1674c1b11..4dcfad49c 100644
+--- a/tempest/lib/api_schema/response/compute/v2_3/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_3/servers.py
+@@ -40,7 +40,7 @@ server_detail = {
+ 'id': {'type': 'string'},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links']},
+ {'type': ['string', 'null']}
+ ]},
+@@ -50,7 +50,7 @@ server_detail = {
+ 'id': {'type': 'string'},
+ 'links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'links']
+ },
+ 'fault': {
+@@ -61,7 +61,7 @@ server_detail = {
+ 'message': {'type': 'string'},
+ 'details': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): 'details' is not necessary to be present
+ # in the 'fault'. So it is not defined as 'required'.
+ 'required': ['code', 'created', 'message']
+@@ -99,7 +99,7 @@ server_detail = {
+ 'id': {'type': 'string'},
+ 'delete_on_termination': {'type': 'boolean'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ },
+ },
+ 'OS-EXT-SRV-ATTR:reservation_id': {'type': ['string', 'null']},
+@@ -110,7 +110,7 @@ server_detail = {
+ 'OS-EXT-SRV-ATTR:root_device_name': {'type': ['string', 'null']},
+ 'OS-EXT-SRV-ATTR:user_data': {'type': ['string', 'null']},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): 'progress' attribute is present in the response
+ # only when server's status is one of the progress statuses
+ # ("ACTIVE","BUILD", "REBUILD", "RESIZE","VERIFY_RESIZE")
+@@ -140,7 +140,7 @@ get_server = {
+ 'properties': {
+ 'server': server_detail
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['server']
+ }
+ }
+@@ -156,7 +156,7 @@ list_servers_detail = {
+ },
+ 'servers_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): servers_links attribute is not necessary to be
+ # present always So it is not 'required'.
+ 'required': ['servers']
+diff --git a/tempest/lib/api_schema/response/compute/v2_45/images.py b/tempest/lib/api_schema/response/compute/v2_45/images.py
+index 8a48f363e..395dd177d 100644
+--- a/tempest/lib/api_schema/response/compute/v2_45/images.py
++++ b/tempest/lib/api_schema/response/compute/v2_45/images.py
+@@ -19,7 +19,7 @@ create_image = {
+ 'properties': {
+ 'image_id': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['image_id']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_47/servers.py b/tempest/lib/api_schema/response/compute/v2_47/servers.py
+index d580f2c63..52ac89370 100644
+--- a/tempest/lib/api_schema/response/compute/v2_47/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_47/servers.py
+@@ -30,7 +30,7 @@ flavor = {
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['original_name', 'disk', 'ephemeral', 'ram', 'swap', 'vcpus']
+ }
+
+diff --git a/tempest/lib/api_schema/response/compute/v2_48/servers.py b/tempest/lib/api_schema/response/compute/v2_48/servers.py
+index e2e45bc29..3310783ed 100644
+--- a/tempest/lib/api_schema/response/compute/v2_48/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_48/servers.py
+@@ -45,7 +45,7 @@ show_server_diagnostics = {
+ 'maximum': {'type': ['integer', 'null']},
+ 'used': {'type': ['integer', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['maximum', 'used']
+ },
+ 'cpu_details': {
+@@ -57,7 +57,7 @@ show_server_diagnostics = {
+ 'time': {'type': ['integer', 'null']},
+ 'utilisation': {'type': ['integer', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'time', 'utilisation']
+ }
+ },
+@@ -79,7 +79,7 @@ show_server_diagnostics = {
+ 'tx_packets': {'type': ['integer', 'null']},
+ 'tx_rate': {'type': ['integer', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['mac_address', 'rx_octets', 'rx_errors',
+ 'rx_drop',
+ 'rx_packets', 'rx_rate', 'tx_octets',
+@@ -98,13 +98,13 @@ show_server_diagnostics = {
+ 'write_requests': {'type': ['integer', 'null']},
+ 'errors_count': {'type': ['integer', 'null']}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['read_bytes', 'read_requests', 'write_bytes',
+ 'write_requests', 'errors_count']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': [
+ 'state', 'driver', 'hypervisor', 'hypervisor_os', 'uptime',
+ 'config_drive', 'num_cpus', 'num_nics', 'num_disks',
+diff --git a/tempest/lib/api_schema/response/compute/v2_53/services.py b/tempest/lib/api_schema/response/compute/v2_53/services.py
+index 97b0c7260..b526e638d 100644
+--- a/tempest/lib/api_schema/response/compute/v2_53/services.py
++++ b/tempest/lib/api_schema/response/compute/v2_53/services.py
+@@ -51,13 +51,13 @@ update_service = {
+ 'zone': {'type': 'string'},
+ 'forced_down': {'type': 'boolean'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['id', 'binary', 'disabled_reason', 'host',
+ 'state', 'status', 'updated_at', 'zone',
+ 'forced_down']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['service']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_55/flavors.py b/tempest/lib/api_schema/response/compute/v2_55/flavors.py
+index 554f43b4c..07adf6270 100644
+--- a/tempest/lib/api_schema/response/compute/v2_55/flavors.py
++++ b/tempest/lib/api_schema/response/compute/v2_55/flavors.py
+@@ -45,13 +45,13 @@ list_flavors = {
+ 'id': {'type': 'string'},
+ 'description': flavor_description
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['name', 'links', 'id', 'description']
+ }
+ },
+ 'flavors_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # NOTE(gmann): flavors_links attribute is not necessary
+ # to be present always So it is not 'required'.
+ 'required': ['flavors']
+@@ -76,7 +76,7 @@ common_flavor_info = {
+ 'OS-FLV-EXT-DATA:ephemeral': {'type': 'integer'},
+ 'description': flavor_description
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # 'OS-FLV-DISABLED', 'os-flavor-access', 'rxtx_factor' and
+ # 'OS-FLV-EXT-DATA' are API extensions. So they are not 'required'.
+ 'required': ['name', 'links', 'ram', 'vcpus', 'swap', 'disk', 'id',
+@@ -96,7 +96,7 @@ list_flavors_details = {
+ # to be present always So it is not 'required'.
+ 'flavors_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavors']
+ }
+ }
+@@ -108,7 +108,7 @@ create_update_get_flavor_details = {
+ 'properties': {
+ 'flavor': common_flavor_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavor']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_6/servers.py b/tempest/lib/api_schema/response/compute/v2_6/servers.py
+index 922bf7923..b94050d86 100644
+--- a/tempest/lib/api_schema/response/compute/v2_6/servers.py
++++ b/tempest/lib/api_schema/response/compute/v2_6/servers.py
+@@ -50,11 +50,11 @@ get_remote_consoles = {
+ 'format': 'uri'
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['protocol', 'type', 'url']
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['remote_console']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/compute/v2_61/flavors.py b/tempest/lib/api_schema/response/compute/v2_61/flavors.py
+index 5119466ba..6d1d8ddb5 100644
+--- a/tempest/lib/api_schema/response/compute/v2_61/flavors.py
++++ b/tempest/lib/api_schema/response/compute/v2_61/flavors.py
+@@ -58,7 +58,7 @@ common_flavor_info = {
+ 'description': flavor_description,
+ 'extra_specs': flavor_extra_specs
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ # 'OS-FLV-DISABLED', 'os-flavor-access', 'rxtx_factor' and
+ # 'OS-FLV-EXT-DATA' are API extensions. so they are not 'required'.
+ 'required': ['name', 'links', 'ram', 'vcpus', 'swap', 'disk', 'id',
+@@ -78,7 +78,7 @@ list_flavors_details = {
+ # to be present always so it is not 'required'.
+ 'flavors_links': parameter_types.links
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavors']
+ }
+ }
+@@ -90,7 +90,7 @@ create_update_get_flavor_details = {
+ 'properties': {
+ 'flavor': common_flavor_info
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['flavor']
+ }
+ }
+diff --git a/tempest/lib/api_schema/response/volume/qos.py b/tempest/lib/api_schema/response/volume/qos.py
+index d1b391062..3594c3f4e 100644
+--- a/tempest/lib/api_schema/response/volume/qos.py
++++ b/tempest/lib/api_schema/response/volume/qos.py
+@@ -25,7 +25,7 @@ show_qos = {
+ 'consumer': {'type': 'string'},
+ 'specs': {'type': ['object', 'null']},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['name', 'id', 'specs']
+ },
+ 'links': {
+@@ -37,12 +37,12 @@ show_qos = {
+ 'format': 'uri'},
+ 'rel': {'type': 'string'},
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['href', 'rel']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['qos_specs', 'links']
+ }
+ }
+@@ -67,12 +67,12 @@ list_qos = {
+ 'id': {'type': 'string', 'format': 'uuid'},
+ 'name': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['specs', 'id', 'name']
+ }
+ }
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['qos_specs']
+ }
+ }
+@@ -87,7 +87,7 @@ set_qos_key = {
+ 'patternProperties': {'^.+$': {'type': 'string'}}
+ },
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['qos_specs']
+ }
+ }
+@@ -109,12 +109,12 @@ show_association_qos = {
+ 'id': {'type': 'string', 'format': 'uuid'},
+ 'name': {'type': 'string'}
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['association_type', 'id', 'name']
+ }
+ },
+ },
+- 'additionalProperties': False,
++ 'additionalProperties': True,
+ 'required': ['qos_associations']
+ }
+ }
+--
+2.20.1
+
diff --git a/etc/patches/functest/disable-api-validation/apply.sh b/etc/patches/functest/disable-api-validation/apply.sh
new file mode 100755
index 00000000..09ff912e
--- /dev/null
+++ b/etc/patches/functest/disable-api-validation/apply.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+set -e
+set -u
+
+# without setting the user, git does not allow to create a commit
+git config --global user.email "ovp-support@lfnetworking.org"
+git config --global user.name "Dovetail"
+
+cd /src/tempest
+git am $(dirname $0)/0001-Allow-additional-properties-in-API-responses.patch
+
+exit 0
diff --git a/etc/testcase/bottlenecks.stress.ping.yml b/etc/testcase/bottlenecks.stress.ping.yml
new file mode 100644
index 00000000..e8c2acb9
--- /dev/null
+++ b/etc/testcase/bottlenecks.stress.ping.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+bottlenecks.stress.ping:
+ name: bottlenecks.stress.ping
+ objective: > # This test case verifies the ability of the SUT setting up VM pairs
+ # for different tenants and providing acceptable capacity after the amount of
+ # VM pairs reaches certain quantity.
+ validate:
+ type: bottlenecks
+ testcase: posca_factor_ping
+ report:
+ source_archive_files:
+ - bottlenecks.log
+ - bottlenecks.stress.ping.out
+ dest_archive_files:
+ - stress_logs/bottlenecks.stress.ping.log
+ - stress_logs/bottlenecks.stress.ping.out
+ check_results_files:
+ - stress_logs/bottlenecks.stress.ping.out
+ portal_key_file: stress_logs/bottlenecks.stress.ping.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.healthcheck.connection_check.yml b/etc/testcase/functest.healthcheck.connection_check.yml
new file mode 100644
index 00000000..b3a232b5
--- /dev/null
+++ b/etc/testcase/functest.healthcheck.connection_check.yml
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.healthcheck.connection_check:
+ name: functest.healthcheck.connection_check
+ objective: check OpenStack API services connectivity through SNAPS framework
+ validate:
+ type: functest
+ testcase: connection_check
+ image_name: opnfv/functest-healthcheck
+ report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - healthcheck_logs/functest.healthcheck.connection_check.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: healthcheck_logs/functest.healthcheck.connection_check.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.k8s.conformance.yml b/etc/testcase/functest.k8s.conformance.yml
new file mode 100644
index 00000000..d203c89e
--- /dev/null
+++ b/etc/testcase/functest.k8s.conformance.yml
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.k8s.conformance:
+ name: functest.k8s.conformance
+ objective: Validate the deployed k8s cluster is conformance.
+ validate:
+ type: functest-k8s
+ testcase: k8s_conformance
+ image_name: opnfv/functest-kubernetes-smoke
+ report:
+ source_archive_files:
+ - functest-kubernetes.log
+ dest_archive_files:
+ - k8s_logs/functest.k8s.conformance.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: k8s_logs/functest.k8s.conformance.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.k8s.smoke.yml b/etc/testcase/functest.k8s.smoke.yml
new file mode 100644
index 00000000..a674dfef
--- /dev/null
+++ b/etc/testcase/functest.k8s.smoke.yml
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.k8s.smoke:
+ name: functest.k8s.smoke
+ objective: Validate the deployed k8s cluster is accessible.
+ validate:
+ type: functest-k8s
+ testcase: k8s_smoke
+ image_name: opnfv/functest-kubernetes-healthcheck
+ report:
+ source_archive_files:
+ - functest-kubernetes.log
+ dest_archive_files:
+ - k8s_logs/functest.k8s.smoke.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: k8s_logs/functest.k8s.smoke.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.rally.authenticate.yml b/etc/testcase/functest.rally.authenticate.yml
new file mode 100644
index 00000000..d327f0ee
--- /dev/null
+++ b/etc/testcase/functest.rally.authenticate.yml
@@ -0,0 +1,40 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.authenticate:
+ name: functest.rally.authenticate
+ objective: Run all Functest Rally Authenticate test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_authenticate_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/authenticate.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_authenticate_logs/functest.rally.authenticate.functest.log
+ - rally_authenticate_logs/authenticate.json
+ - rally_authenticate_logs/authenticate.html
+ - rally_authenticate_logs/authenticate.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_authenticate_logs/functest.rally.authenticate.functest.log
+ sub_testcase_list:
+ - 'Authenticate.keystone'
+ - 'Authenticate.validate_cinder'
+ - 'Authenticate.validate_glance'
+ - 'Authenticate.validate_heat'
+ - 'Authenticate.validate_neutron'
+ - 'Authenticate.validate_nova'
diff --git a/etc/testcase/functest.rally.cinder.yml b/etc/testcase/functest.rally.cinder.yml
new file mode 100644
index 00000000..955a0026
--- /dev/null
+++ b/etc/testcase/functest.rally.cinder.yml
@@ -0,0 +1,58 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.cinder:
+ name: functest.rally.cinder
+ objective: Run all Functest Rally Cinder test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_cinder_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/cinder.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_cinder_logs/functest.rally.cinder.functest.log
+ - rally_cinder_logs/cinder.json
+ - rally_cinder_logs/cinder.html
+ - rally_cinder_logs/cinder.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_cinder_logs/functest.rally.cinder.functest.log
+ sub_testcase_list:
+ - 'CinderVolumes.create_and_attach_volume'
+ - 'CinderVolumes.create_and_list_snapshots'
+ - 'CinderVolumes.create_and_list_volume'
+ - 'CinderVolumes.create_and_list_volume-2'
+ - 'CinderVolumes.create_and_upload_volume_to_image'
+ - 'CinderVolumes.create_nested_snapshots_and_attach_volume'
+ - 'CinderVolumes.create_snapshot_and_attach_volume'
+ - 'CinderVolumes.create_volume'
+ - 'CinderVolumes.create_volume-2'
+ - 'CinderVolumes.list_volumes'
+ - 'CinderVolumes.create_and_delete_snapshot'
+ - 'CinderVolumes.create_and_delete_volume'
+ - 'CinderVolumes.create_and_delete_volume-2'
+ - 'CinderVolumes.create_and_delete_volume-3'
+ - 'CinderVolumes.create_and_extend_volume'
+ - 'CinderVolumes.create_from_volume_and_delete_volume'
+ - 'CinderQos.create_and_get_qos'
+ - 'CinderQos.create_and_list_qos'
+ - 'CinderQos.create_and_set_qos'
+ - 'CinderVolumeTypes.create_and_get_volume_type'
+ - 'CinderVolumeTypes.create_and_list_volume_types'
+ - 'CinderVolumeTypes.create_and_update_volume_type'
+ - 'CinderVolumeTypes.create_volume_type_and_encryption_type'
+ - 'CinderVolumeTypes.create_volume_type_add_and_list_type_access'
diff --git a/etc/testcase/functest.rally.glance.yml b/etc/testcase/functest.rally.glance.yml
new file mode 100644
index 00000000..589c861b
--- /dev/null
+++ b/etc/testcase/functest.rally.glance.yml
@@ -0,0 +1,42 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.glance:
+ name: functest.rally.glance
+ objective: Run all Functest Rally Glance test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_glance_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/glance.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_glance_logs/functest.rally.glance.functest.log
+ - rally_glance_logs/glance.json
+ - rally_glance_logs/glance.html
+ - rally_glance_logs/glance.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_glance_logs/functest.rally.glance.functest.log
+ sub_testcase_list:
+ - 'GlanceImages.create_and_delete_image'
+ - 'GlanceImages.create_and_list_image'
+ - 'GlanceImages.list_images'
+ - 'GlanceImages.create_image_and_boot_instances'
+ - 'GlanceImages.create_and_deactivate_image'
+ - 'GlanceImages.create_and_download_image'
+ - 'GlanceImages.create_and_get_image'
+ - 'GlanceImages.create_and_update_image'
diff --git a/etc/testcase/functest.rally.gnocchi.yml b/etc/testcase/functest.rally.gnocchi.yml
new file mode 100644
index 00000000..7ce9c117
--- /dev/null
+++ b/etc/testcase/functest.rally.gnocchi.yml
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.gnocchi:
+ name: functest.rally.gnocchi
+ objective: Run all Functest Rally Gnocchi test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_gnocchi_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/gnocchi.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_gnocchi_logs/functest.rally.gnocchi.functest.log
+ - rally_gnocchi_logs/gnocchi.json
+ - rally_gnocchi_logs/gnocchi.html
+ - rally_gnocchi_logs/gnocchi.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_gnocchi_logs/functest.rally.gnocchi.functest.log
+ sub_testcase_list:
+ - 'Gnocchi.list_capabilities'
+ - 'Gnocchi.get_status'
+ - 'GnocchiArchivePolicyRule.list_archive_policy_rule'
+ - 'GnocchiArchivePolicyRule.create_archive_policy_rule'
+ - 'GnocchiArchivePolicyRule.create_delete_archive_policy_rule'
+ - 'GnocchiArchivePolicy.list_archive_policy'
+ - 'GnocchiArchivePolicy.create_archive_policy'
+ - 'GnocchiArchivePolicy.create_delete_archive_policy'
+ - 'GnocchiResourceType.list_resource_type'
+ - 'GnocchiResourceType.create_resource_type'
+ - 'GnocchiResourceType.create_delete_resource_type'
+ - 'GnocchiMetric.list_metric'
+ - 'GnocchiMetric.create_metric'
+ - 'GnocchiMetric.create_delete_metric'
+ - 'GnocchiResource.create_resource'
+ - 'GnocchiResource.create_delete_resource'
diff --git a/etc/testcase/functest.rally.heat.yml b/etc/testcase/functest.rally.heat.yml
new file mode 100644
index 00000000..a6a632a2
--- /dev/null
+++ b/etc/testcase/functest.rally.heat.yml
@@ -0,0 +1,47 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.heat:
+ name: functest.rally.heat
+ objective: Run all Functest Rally Heat test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_heat_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/heat.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_heat_logs/functest.rally.heat.functest.log
+ - rally_heat_logs/heat.json
+ - rally_heat_logs/heat.html
+ - rally_heat_logs/heat.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_heat_logs/functest.rally.heat.functest.log
+ sub_testcase_list:
+ - 'HeatStacks.create_and_delete_stack'
+ - 'HeatStacks.create_and_delete_stack-2'
+ - 'HeatStacks.create_and_delete_stack-3'
+ - 'HeatStacks.create_and_list_stack'
+ - 'HeatStacks.create_update_delete_stack'
+ - 'HeatStacks.create_update_delete_stack-2'
+ - 'HeatStacks.create_update_delete_stack-3'
+ - 'HeatStacks.create_update_delete_stack-4'
+ - 'HeatStacks.create_update_delete_stack-5'
+ - 'HeatStacks.create_update_delete_stack-6'
+ - 'HeatStacks.create_check_delete_stack'
+ - 'HeatStacks.create_suspend_resume_delete_stack'
+ - 'HeatStacks.list_stacks_and_resources'
diff --git a/etc/testcase/functest.rally.keystone.yml b/etc/testcase/functest.rally.keystone.yml
new file mode 100644
index 00000000..01b5751f
--- /dev/null
+++ b/etc/testcase/functest.rally.keystone.yml
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.keystone:
+ name: functest.rally.keystone
+ objective: Run all Functest Rally Keystone test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_keystone_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/keystone.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_keystone_logs/functest.rally.keystone.functest.log
+ - rally_keystone_logs/keystone.json
+ - rally_keystone_logs/keystone.html
+ - rally_keystone_logs/keystone.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_keystone_logs/functest.rally.keystone.functest.log
+ sub_testcase_list:
+ - 'KeystoneBasic.add_and_remove_user_role'
+ - 'KeystoneBasic.create_add_and_list_user_roles'
+ - 'KeystoneBasic.create_and_list_tenants'
+ - 'KeystoneBasic.create_and_delete_role'
+ - 'KeystoneBasic.create_and_delete_service'
+ - 'KeystoneBasic.get_entities'
+ - 'KeystoneBasic.create_update_and_delete_tenant'
+ - 'KeystoneBasic.create_user'
+ - 'KeystoneBasic.create_tenant'
+ - 'KeystoneBasic.create_and_list_users'
+ - 'KeystoneBasic.create_tenant_with_users'
diff --git a/etc/testcase/functest.rally.neutron.yml b/etc/testcase/functest.rally.neutron.yml
new file mode 100644
index 00000000..233a1ff6
--- /dev/null
+++ b/etc/testcase/functest.rally.neutron.yml
@@ -0,0 +1,54 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.neutron:
+ name: functest.rally.neutron
+ objective: Run all Functest Rally Neutron test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_neutron_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/neutron.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_neutron_logs/functest.rally.neutron.functest.log
+ - rally_neutron_logs/neutron.json
+ - rally_neutron_logs/neutron.html
+ - rally_neutron_logs/neutron.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_neutron_logs/functest.rally.neutron.functest.log
+ sub_testcase_list:
+ - 'NeutronNetworks.create_and_update_networks'
+ - 'NeutronNetworks.create_and_update_ports'
+ - 'NeutronNetworks.create_and_update_routers'
+ - 'NeutronNetworks.create_and_update_subnets'
+ - 'NeutronNetworks.create_and_delete_networks'
+ - 'NeutronNetworks.create_and_delete_ports'
+ - 'NeutronNetworks.create_and_delete_routers'
+ - 'NeutronNetworks.create_and_delete_subnets'
+ - 'NeutronNetworks.create_and_list_networks'
+ - 'NeutronNetworks.create_and_list_ports'
+ - 'NeutronNetworks.create_and_list_routers'
+ - 'NeutronNetworks.create_and_list_subnets'
+ - 'NeutronSecurityGroup.create_and_delete_security_groups'
+ - 'NeutronSecurityGroup.create_and_delete_security_group_rule'
+ - 'NeutronSecurityGroup.create_and_list_security_group_rules'
+ - 'NeutronSecurityGroup.create_and_show_security_group'
+ - 'NeutronNetworks.set_and_clear_router_gateway'
+ - 'NeutronNetworks.create_and_show_ports'
+ - 'NeutronNetworks.create_and_show_routers'
+ - 'NeutronNetworks.create_and_show_subnets'
diff --git a/etc/testcase/functest.rally.nova.yml b/etc/testcase/functest.rally.nova.yml
new file mode 100644
index 00000000..2cc07264
--- /dev/null
+++ b/etc/testcase/functest.rally.nova.yml
@@ -0,0 +1,61 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.nova:
+ name: functest.rally.nova
+ objective: Run all Functest Rally Nova test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_nova_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/nova.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_nova_logs/functest.rally.nova.functest.log
+ - rally_nova_logs/nova.json
+ - rally_nova_logs/nova.html
+ - rally_nova_logs/nova.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_nova_logs/functest.rally.nova.functest.log
+ sub_testcase_list:
+ - 'NovaKeypair.create_and_delete_keypair'
+ - 'NovaKeypair.create_and_list_keypairs'
+ - 'NovaServers.boot_and_bounce_server'
+ - 'NovaServers.boot_and_delete_server'
+ - 'NovaServers.boot_and_list_server'
+ - 'NovaServers.boot_and_rebuild_server'
+ - 'NovaServers.snapshot_server'
+ - 'NovaServers.boot_server_from_volume'
+ - 'NovaServers.boot_server'
+ - 'NovaServers.list_servers'
+ - 'NovaServers.resize_server'
+ - 'NovaServers.boot_and_live_migrate_server'
+ - 'NovaServers.boot_server_attach_created_volume_and_live_migrate'
+ - 'NovaServers.boot_server_from_volume_and_live_migrate'
+ - 'NovaKeypair.boot_and_delete_server_with_keypair'
+ - 'NovaServers.boot_server_from_volume_and_delete'
+ - 'NovaServers.pause_and_unpause_server'
+ - 'NovaServers.boot_and_migrate_server'
+ - 'NovaServers.boot_server_and_list_interfaces'
+ - 'NovaServers.boot_and_get_console_url'
+ - 'NovaServers.boot_server_and_attach_interface'
+ - 'NovaServers.boot_server_attach_volume_and_list_attachments'
+ - 'NovaServers.boot_server_associate_and_dissociate_floating_ip'
+ - 'NovaServers.boot_and_associate_floating_ip'
+ - 'NovaServerGroups.create_and_delete_server_group'
+ - 'NovaServerGroups.create_and_get_server_group'
+ - 'NovaServerGroups.create_and_list_server_groups'
diff --git a/etc/testcase/functest.rally.quotas.yml b/etc/testcase/functest.rally.quotas.yml
new file mode 100644
index 00000000..44449e9c
--- /dev/null
+++ b/etc/testcase/functest.rally.quotas.yml
@@ -0,0 +1,38 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.rally.quotas:
+ name: functest.rally.quotas
+ objective: Run all Functest Rally Quotas test cases
+ validate:
+ type: functest
+ testcase: rally_full
+ image_name: opnfv/functest-benchmarking
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/rally_quotas_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - rally_full/quotas.json
+ - rally_full/rally_full.html
+ - rally_full/rally_full.xml
+ dest_archive_files:
+ - rally_quotas_logs/functest.rally.quotas.functest.log
+ - rally_quotas_logs/quotas.json
+ - rally_quotas_logs/quotas.html
+ - rally_quotas_logs/quotas.xml
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: rally_quotas_logs/functest.rally.quotas.functest.log
+ sub_testcase_list:
+ - 'Quotas.cinder_update_and_delete'
+ - 'Quotas.cinder_update'
+ - 'Quotas.neutron_update'
+ - 'Quotas.nova_update'
diff --git a/etc/testcase/functest.security.patrole.yml b/etc/testcase/functest.security.patrole.yml
new file mode 100644
index 00000000..6dd8c67d
--- /dev/null
+++ b/etc/testcase/functest.security.patrole.yml
@@ -0,0 +1,156 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.security.patrole:
+ name: functest.security.patrole
+ objective: Run Patrole to perform RBAC tests of the image and networking services
+ validate:
+ type: functest
+ testcase: patrole
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/patrole_blacklist.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - patrole/rally.log
+ - patrole/tempest-report.html
+ dest_archive_files:
+ - security_logs/functest.security.patrole.functest.log
+ - security_logs/functest.security.patrole.log
+ - security_logs/functest.security.patrole.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: security_logs/functest.security.patrole.html
+ sub_testcase_list:
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_objects_rbac.ImageNamespacesObjectsRbacTest.test_create_metadef_object_in_namespace
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_objects_rbac.ImageNamespacesObjectsRbacTest.test_list_metadef_objects_in_namespace
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_objects_rbac.ImageNamespacesObjectsRbacTest.test_show_metadef_object_in_namespace
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_objects_rbac.ImageNamespacesObjectsRbacTest.test_update_metadef_object_in_namespace
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_property_rbac.NamespacesPropertyRbacTest.test_add_md_properties
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_property_rbac.NamespacesPropertyRbacTest.test_get_md_properties
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_property_rbac.NamespacesPropertyRbacTest.test_get_md_property
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_property_rbac.NamespacesPropertyRbacTest.test_modify_md_properties
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_rbac.ImageNamespacesRbacTest.test_create_metadef_namespace
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_rbac.ImageNamespacesRbacTest.test_modify_metadef_namespace
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_tags_rbac.NamespaceTagsRbacTest.test_create_namespace_tag
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_tags_rbac.NamespaceTagsRbacTest.test_create_namespace_tags
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_tags_rbac.NamespaceTagsRbacTest.test_list_namespace_tags
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_tags_rbac.NamespaceTagsRbacTest.test_show_namespace_tag
+ - patrole_tempest_plugin.tests.api.image.test_image_namespace_tags_rbac.NamespaceTagsRbacTest.test_update_namespace_tag
+ - patrole_tempest_plugin.tests.api.image.test_image_resource_types_rbac.ImageResourceTypesRbacTest.test_add_metadef_resource_type
+ - patrole_tempest_plugin.tests.api.image.test_image_resource_types_rbac.ImageResourceTypesRbacTest.test_get_metadef_resource_type
+ - patrole_tempest_plugin.tests.api.image.test_image_resource_types_rbac.ImageResourceTypesRbacTest.test_list_metadef_resource_types
+ - patrole_tempest_plugin.tests.api.image.test_images_member_rbac.ImagesMemberRbacTest.test_add_image_member
+ - patrole_tempest_plugin.tests.api.image.test_images_member_rbac.ImagesMemberRbacTest.test_delete_image_member
+ - patrole_tempest_plugin.tests.api.image.test_images_member_rbac.ImagesMemberRbacTest.test_list_image_members
+ - patrole_tempest_plugin.tests.api.image.test_images_member_rbac.ImagesMemberRbacTest.test_show_image_member
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_create_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_create_image_tag
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_deactivate_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_delete_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_delete_image_tag
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_download_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_list_images
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_publicize_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_reactivate_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_show_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_update_image
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_upload_image
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.AgentsRbacTest.test_show_agent
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.AgentsRbacTest.test_update_agent
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.DHCPAgentSchedulersRbacTest.test_add_dhcp_agent_to_network
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.DHCPAgentSchedulersRbacTest.test_delete_network_from_dhcp_agent
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.DHCPAgentSchedulersRbacTest.test_list_networks_hosted_by_one_dhcp_agent
+ - patrole_tempest_plugin.tests.api.network.test_flavors_rbac.FlavorsPluginRbacTest.test_create_flavor
+ - patrole_tempest_plugin.tests.api.network.test_flavors_rbac.FlavorsPluginRbacTest.test_delete_flavor
+ - patrole_tempest_plugin.tests.api.network.test_flavors_rbac.FlavorsPluginRbacTest.test_list_flavors
+ - patrole_tempest_plugin.tests.api.network.test_flavors_rbac.FlavorsPluginRbacTest.test_show_flavor
+ - patrole_tempest_plugin.tests.api.network.test_flavors_rbac.FlavorsPluginRbacTest.test_update_flavor
+ - patrole_tempest_plugin.tests.api.network.test_floating_ips_rbac.FloatingIpsRbacTest.test_create_floating_ip
+ - patrole_tempest_plugin.tests.api.network.test_floating_ips_rbac.FloatingIpsRbacTest.test_create_floating_ip_floatingip_address
+ - patrole_tempest_plugin.tests.api.network.test_floating_ips_rbac.FloatingIpsRbacTest.test_delete_floating_ip
+ - patrole_tempest_plugin.tests.api.network.test_floating_ips_rbac.FloatingIpsRbacTest.test_show_floating_ip
+ - patrole_tempest_plugin.tests.api.network.test_floating_ips_rbac.FloatingIpsRbacTest.test_update_floating_ip
+ - patrole_tempest_plugin.tests.api.network.test_network_segments_rbac.NetworkSegmentsRbacTest.test_create_network_segments
+ - patrole_tempest_plugin.tests.api.network.test_network_segments_rbac.NetworkSegmentsRbacTest.test_show_network_segments
+ - patrole_tempest_plugin.tests.api.network.test_network_segments_rbac.NetworkSegmentsRbacTest.test_update_network_segments
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_is_default
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_router_external
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_shared
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_delete_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_list_dhcp_agents_on_hosting_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_show_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_show_network_provider_network_type
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_show_network_provider_physical_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_show_network_provider_segmentation_id
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_show_network_router_external
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_update_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_update_network_provider_physical_network
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_update_network_provider_segmentation_id
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_update_network_router_external
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_update_network_shared
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_allowed_address_pairs
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_binding_host_id
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_binding_profile
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_device_owner
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_fixed_ips_ip_address
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_mac_address
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_create_port_security_enabled
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_delete_port
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_show_port
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_show_port_binding_host_id
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_show_port_binding_profile
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_show_port_binding_vif_details
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_show_port_binding_vif_type
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_allowed_address_pairs
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_binding_host_id
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_binding_profile
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_device_owner
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_fixed_ips_ip_address
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_mac_address
+ - patrole_tempest_plugin.tests.api.network.test_ports_rbac.PortsRbacTest.test_update_port_security_enabled
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_add_router_interface
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_create_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_create_router_enable_snat
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_create_router_external_fixed_ips
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_delete_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_remove_router_interface
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_show_high_availability_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_show_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_router_enable_snat
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_router_external_fixed_ips
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_router_external_gateway_info
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_router_external_gateway_info_network_id
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_create_security_group
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_create_security_group_rule
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_delete_security_group
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_delete_security_group_rule
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_list_security_group_rules
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_list_security_groups
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_show_security_group_rule
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_show_security_group
+ - patrole_tempest_plugin.tests.api.network.test_security_groups_rbac.SecGroupRbacTest.test_update_security_group
+ - patrole_tempest_plugin.tests.api.network.test_service_providers_rbac.ServiceProvidersRbacTest.test_list_service_providers
+ - patrole_tempest_plugin.tests.api.network.test_subnetpools_rbac.SubnetPoolsRbacTest.test_create_subnetpool
+ - patrole_tempest_plugin.tests.api.network.test_subnetpools_rbac.SubnetPoolsRbacTest.test_create_subnetpool_shared
+ - patrole_tempest_plugin.tests.api.network.test_subnetpools_rbac.SubnetPoolsRbacTest.test_delete_subnetpool
+ - patrole_tempest_plugin.tests.api.network.test_subnetpools_rbac.SubnetPoolsRbacTest.test_show_subnetpool
+ - patrole_tempest_plugin.tests.api.network.test_subnetpools_rbac.SubnetPoolsRbacTest.test_update_subnetpool
+ - patrole_tempest_plugin.tests.api.network.test_subnetpools_rbac.SubnetPoolsRbacTest.test_update_subnetpool_is_default
+ - patrole_tempest_plugin.tests.api.network.test_subnets_rbac.SubnetsRbacTest.test_create_subnet
+ - patrole_tempest_plugin.tests.api.network.test_subnets_rbac.SubnetsRbacTest.test_delete_subnet
+ - patrole_tempest_plugin.tests.api.network.test_subnets_rbac.SubnetsRbacTest.test_list_subnets
+ - patrole_tempest_plugin.tests.api.network.test_subnets_rbac.SubnetsRbacTest.test_show_subnet
+ - patrole_tempest_plugin.tests.api.network.test_subnets_rbac.SubnetsRbacTest.test_update_subnet
diff --git a/etc/testcase/functest.security.patrole_vxlan_dependent.yml b/etc/testcase/functest.security.patrole_vxlan_dependent.yml
new file mode 100644
index 00000000..252a3e8c
--- /dev/null
+++ b/etc/testcase/functest.security.patrole_vxlan_dependent.yml
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.security.patrole_vxlan_dependent:
+ name: functest.security.patrole_vxlan_dependent
+ objective: Run 2 sub test cases in Patrole that are dependent on vxlan
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - security_logs/functest.security.patrole_vxlan_dependent.functest.log
+ - security_logs/functest.security.patrole_vxlan_dependent.log
+ - security_logs/functest.security.patrole_vxlan_dependent.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: security_logs/functest.security.patrole_vxlan_dependent.html
+ sub_testcase_list:
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_network_type[id-3c42f7b8-b80c-44ef-8fa4-69ec4b1836bc]
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_segmentation_id[id-b9decb7b-68ef-4504-b99b-41edbf7d2af5]
diff --git a/etc/testcase/functest.tempest.bgpvpn.yml b/etc/testcase/functest.tempest.bgpvpn.yml
new file mode 100644
index 00000000..a1b6ae2c
--- /dev/null
+++ b/etc/testcase/functest.tempest.bgpvpn.yml
@@ -0,0 +1,52 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.bgpvpn:
+ name: functest.tempest.bgpvpn
+ objective: validate BGPVPN API CRUD operations by means of Tempest tests from networking-bgpvpn repository
+ validate:
+ type: functest
+ testcase: networking-bgpvpn
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - networking-bgpvpn/rally.log
+ - networking-bgpvpn/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.bgpvpn.functest.log
+ - tempest_logs/functest.tempest.bgpvpn.log
+ - tempest_logs/functest.tempest.bgpvpn.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.bgpvpn.html
+ sub_testcase_list:
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_associate_disassociate_network
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_associate_disassociate_router
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_associate_invalid_network
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_attach_associated_subnet_to_associated_router
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_create_bgpvpn
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_create_bgpvpn_as_non_admin_fail
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_create_bgpvpn_with_invalid_routetargets
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_delete_bgpvpn
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_delete_bgpvpn_as_non_admin_fail
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_disassociate_invalid_network
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_list_bgpvpn
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_list_bgpvpn_as_non_owner_fail
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_list_netassoc_as_non_owner_fail
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_list_show_network_association
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_list_show_router_association
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_show_bgpvpn
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_show_bgpvpn_as_non_owner_fail
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_show_netassoc_as_non_owner_fail
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_update_bgpvpn_invalid_routetargets
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_update_route_target
+ - networking_bgpvpn_tempest.tests.api.test_bgpvpn.BgpvpnTest.test_update_route_target_non_admin_fail
diff --git a/etc/testcase/functest.tempest.compute.yml b/etc/testcase/functest.tempest.compute.yml
new file mode 100644
index 00000000..66b20a31
--- /dev/null
+++ b/etc/testcase/functest.tempest.compute.yml
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.compute:
+ name: functest.tempest.compute
+ objective: tempest smoke test cases about compute
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.compute.functest.log
+ - tempest_logs/functest.tempest.compute.log
+ - tempest_logs/functest.tempest.compute.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.compute.html
+ sub_testcase_list:
+ - tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_get_flavor[id-1f12046b-753d-40d2-abb6-d8eb8b30cb2f,smoke]
+ - tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors[id-e36c0eaa-dff5-4082-ad1f-3f9a80aa3f59,smoke]
+ - tempest.api.compute.security_groups.test_security_group_rules.SecurityGroupRulesTestJSON.test_security_group_rules_create[id-850795d7-d4d3-4e55-b527-a774c0123d3a,smoke]
+ - tempest.api.compute.security_groups.test_security_group_rules.SecurityGroupRulesTestJSON.test_security_group_rules_list[id-a6154130-5a55-4850-8be4-5e9e796dbf17,smoke]
+ - tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_groups_create_list_delete[id-eb2b087d-633d-4d0d-a7bd-9e6ba35b32de,smoke]
+ - tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesUnderV243Test.test_add_remove_fixed_ip[id-c7e0e60b-ee45-43d0-abeb-8596fd42a2f9,network,smoke]
+ - tempest.api.compute.servers.test_server_addresses.ServerAddressesTestJSON.test_list_server_addresses[id-6eb718c0-02d9-4d5e-acd1-4e0c269cef39,network,smoke]
+ - tempest.api.compute.servers.test_server_addresses.ServerAddressesTestJSON.test_list_server_addresses_by_network[id-87bbc374-5538-4f64-b673-2b0e4443cc30,network,smoke]
+ - tempest.api.compute.test_versions.TestVersions.test_get_version_details[id-b953a29e-929c-4a8e-81be-ec3a7e03cb76,smoke]
+ - tempest.api.compute.servers.test_create_server.ServersTestBootFromVolume.test_verify_server_details[id-5de47127-9977-400a-936f-abcfbec1218f,smoke]
+ - tempest.api.compute.servers.test_create_server.ServersTestBootFromVolume.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f,smoke]
+ - tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops[compute,id-7fff3fb3-91d8-4fd0-bd7d-0204f1f180ba,network,smoke]
diff --git a/etc/testcase/functest.tempest.identity_v3.yml b/etc/testcase/functest.tempest.identity_v3.yml
new file mode 100644
index 00000000..d37f649a
--- /dev/null
+++ b/etc/testcase/functest.tempest.identity_v3.yml
@@ -0,0 +1,44 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.identity_v3:
+ name: functest.tempest.identity_v3
+ objective: tempest smoke test cases about identity v3
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.identity_v3.functest.log
+ - tempest_logs/functest.tempest.identity_v3.log
+ - tempest_logs/functest.tempest.identity_v3.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.identity_v3.html
+ sub_testcase_list:
+ - tempest.api.identity.admin.v3.test_credentials.CredentialsTestJSON.test_credentials_create_get_update_delete[id-7cd59bf9-bda4-4c72-9467-d21cab278355,smoke]
+ - tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_update_delete_domain[id-f2f5b44a-82e8-4dad-8084-0661ea3b18cf,smoke]
+ - tempest.api.identity.admin.v3.test_endpoints.EndPointsTestJSON.test_update_endpoint[id-37e8f15e-ee7c-4657-a1e7-f6b61e375eff,smoke]
+ - tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_users_add_list_delete[id-1598521a-2f36-4606-8df9-30772bd51339,smoke]
+ - tempest.api.identity.admin.v3.test_policies.PoliciesTestJSON.test_create_update_delete_policy[id-e544703a-2f03-4cf2-9b0f-350782fdb0d3,smoke]
+ - tempest.api.identity.admin.v3.test_regions.RegionsTestJSON.test_create_region_with_specific_id[id-2c12c5b5-efcf-4aa5-90c5-bff1ab0cdbe2,smoke]
+ - tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list[id-18afc6c0-46cf-4911-824e-9989cc056c3a,smoke]
+ - tempest.api.identity.admin.v3.test_services.ServicesTestJSON.test_create_update_get_service[id-5193aad5-bcb7-411d-85b0-b3b61b96ef06,smoke]
+ - tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_all[id-4773ebd5-ecbf-4255-b8d8-b63e6f72b65d,smoke]
+ - tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc,smoke]
+ - tempest.api.identity.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists[id-17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5,smoke]
diff --git a/etc/testcase/functest.tempest.image.yml b/etc/testcase/functest.tempest.image.yml
new file mode 100644
index 00000000..36c484d5
--- /dev/null
+++ b/etc/testcase/functest.tempest.image.yml
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.image:
+ name: functest.tempest.image
+ objective: tempest smoke test cases about image
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.image.functest.log
+ - tempest_logs/functest.tempest.image.log
+ - tempest_logs/functest.tempest.image.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.image.html
+ sub_testcase_list:
+ - tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file[id-139b765e-7f3d-4b3d-8b37-3ca3876ee318,smoke]
+ - tempest.api.image.v2.test_versions.VersionsTest.test_list_versions[id-659ea30a-a17c-4317-832c-0f68ed23c31d,smoke]
diff --git a/etc/testcase/functest.tempest.ipv6_api.yml b/etc/testcase/functest.tempest.ipv6_api.yml
new file mode 100644
index 00000000..d1fd55f5
--- /dev/null
+++ b/etc/testcase/functest.tempest.ipv6_api.yml
@@ -0,0 +1,54 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.ipv6_api:
+ name: functest.tempest.ipv6_api
+ objective: IPv6 API tempest tests
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.ipv6_api.functest.log
+ - tempest_logs/functest.tempest.ipv6_api.log
+ - tempest_logs/functest.tempest.ipv6_api.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.ipv6_api.html
+ sub_testcase_list:
+ - tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_network[id-d4f9024d-1e28-4fc1-a6b1-25dbc6fa11e2,smoke]
+ - tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_port[id-48037ff2-e889-4c3b-b86a-8e3f34d2d060,smoke]
+ - tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_subnet[id-8936533b-c0aa-4f29-8e53-6cc873aec489,smoke]
+ - tempest.api.network.test_networks.NetworksIpV6Test.test_create_update_delete_network_subnet[id-0e269138-0da6-4efc-a46d-578161e7b221,smoke]
+ - tempest.api.network.test_networks.NetworksIpV6Test.test_external_network_visibility[id-af774677-42a9-4e4b-bb58-16fe6a5bc1ec,smoke]
+ - tempest.api.network.test_networks.NetworksIpV6Test.test_list_networks[id-f7ffdeda-e200-4a7a-bcbe-05716e86bf43,smoke]
+ - tempest.api.network.test_networks.NetworksIpV6Test.test_list_subnets[id-db68ba48-f4ea-49e9-81d1-e367f6d0b20a,smoke]
+ - tempest.api.network.test_networks.NetworksIpV6Test.test_show_network[id-2bf13842-c93f-4a69-83ed-717d2ec3b44e,smoke]
+ - tempest.api.network.test_networks.NetworksIpV6Test.test_show_subnet[id-bd635d81-6030-4dd1-b3b9-31ba0cfdf6cc,smoke]
+ - tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_in_allowed_allocation_pools[id-0435f278-40ae-48cb-a404-b8a087bc09b1,smoke]
+ - tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_with_no_securitygroups[id-4179dcb9-1382-4ced-84fe-1b91c54f5735,smoke]
+ - tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_update_delete_port[id-c72c1c0c-2193-4aca-aaa4-b1442640f51c,smoke]
+ - tempest.api.network.test_ports.PortsIpV6TestJSON.test_list_ports[id-cf95b358-3e92-4a29-a148-52445e1ac50e,smoke]
+ - tempest.api.network.test_ports.PortsIpV6TestJSON.test_show_port[id-c9a685bd-e83f-499c-939f-9f7863ca259f,smoke]
+ - tempest.api.network.test_routers.RoutersIpV6Test.test_add_multiple_router_interfaces[id-802c73c9-c937-4cef-824b-2191e24a6aab,smoke]
+ - tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_port_id[id-2b7d2f37-6748-4d78-92e5-1d590234f0d5,smoke]
+ - tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a,smoke]
+ - tempest.api.network.test_routers.RoutersIpV6Test.test_create_show_list_update_delete_router[id-f64403e2-8483-4b34-8ccd-b09a87bcc68c,smoke]
+ - tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_list_update_show_delete_security_group[id-bfd128e5-3c92-44b6-9d66-7fe29d22c802,smoke]
+ - tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_show_delete_security_group_rule[id-cfb99e0e-7410-4a3d-8a0c-959a63ee77e9,smoke]
+ - tempest.api.network.test_security_groups.SecGroupIPv6Test.test_list_security_groups[id-e30abd17-fef9-4739-8617-dc26da88e686,smoke]
diff --git a/etc/testcase/functest.tempest.ipv6_scenario.yml b/etc/testcase/functest.tempest.ipv6_scenario.yml
new file mode 100644
index 00000000..6ddae4a4
--- /dev/null
+++ b/etc/testcase/functest.tempest.ipv6_scenario.yml
@@ -0,0 +1,41 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.ipv6_scenario:
+ name: functest.tempest.ipv6_scenario
+ objective: IPv6 tempest scenario tests
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.ipv6_scenario.functest.log
+ - tempest_logs/functest.tempest.ipv6_scenario.log
+ - tempest_logs/functest.tempest.ipv6_scenario.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.ipv6_scenario.html
+ sub_testcase_list:
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_dhcp6_stateless_from_os[compute,id-d7e1f858-187c-45a6-89c9-bdafde619a9f,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_dhcp6_stateless_from_os[compute,id-76f26acd-9688-42b4-bc3e-cd134c4cb09e,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_multi_prefix_dhcpv6_stateless[compute,id-7ab23f41-833b-4a16-a7c9-5b42fe6d4123,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_multi_prefix_dhcpv6_stateless[compute,id-cf1c4425-766b-45b8-be35-e2959728eb00,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_slaac_from_os[compute,id-2c92df61-29f0-4eaa-bee3-7c65bef62a43,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_slaac_from_os[compute,id-b6399d76-4438-4658-bcf5-0d6c8584fde2,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_multi_prefix_slaac[compute,id-dec222b1-180c-4098-b8c5-cc1b8342d611,network,slow]
+ - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_multi_prefix_slaac[compute,id-9178ad42-10e4-47e9-8987-e02b170cc5cd,network,slow]
diff --git a/etc/testcase/functest.tempest.multi_node_scheduling.yml b/etc/testcase/functest.tempest.multi_node_scheduling.yml
new file mode 100644
index 00000000..133f87d5
--- /dev/null
+++ b/etc/testcase/functest.tempest.multi_node_scheduling.yml
@@ -0,0 +1,39 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.multi_node_scheduling:
+ name: functest.tempest.multi_node_scheduling
+ objective: simple virtual machine resource scheduling on multiple nodes
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.multi_node_scheduling.functest.log
+ - tempest_logs/functest.tempest.multi_node_scheduling.log
+ - tempest_logs/functest.tempest.multi_node_scheduling.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.multi_node_scheduling.html
+ sub_testcase_list:
+ - tempest.scenario.test_server_multinode.TestServerMultinode.test_schedule_to_all_nodes[compute,id-9cecbe35-b9d4-48da-a37e-7ce70aa43d30,network,smoke]
+ - tempest.api.compute.servers.test_server_group.ServerGroupTestJSON.test_create_delete_multiple_server_groups_with_same_name_policy[id-154dc5a4-a2fe-44b5-b99e-f15806a4a113]
+ - tempest.api.compute.servers.test_server_group.ServerGroupTestJSON.test_create_delete_server_group_with_affinity_policy[id-5dc57eda-35b7-4af7-9e5f-3c2be3d2d68b]
+ - tempest.api.compute.servers.test_server_group.ServerGroupTestJSON.test_create_delete_server_group_with_anti_affinity_policy[id-3645a102-372f-4140-afad-13698d850d23]
+ - tempest.api.compute.servers.test_server_group.ServerGroupTestJSON.test_list_server_groups[id-d4874179-27b4-4d7d-80e4-6c560cdfe321]
+ - tempest.api.compute.servers.test_server_group.ServerGroupTestJSON.test_show_server_group[id-b3545034-dd78-48f0-bdc2-a4adfa6d0ead]
diff --git a/etc/testcase/functest.tempest.network_api.yml b/etc/testcase/functest.tempest.network_api.yml
new file mode 100644
index 00000000..8d1298a8
--- /dev/null
+++ b/etc/testcase/functest.tempest.network_api.yml
@@ -0,0 +1,47 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.network_api:
+ name: functest.tempest.network_api
+ objective: tempest smoke API test cases covering networking capabilities
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.network_api.functest.log
+ - tempest_logs/functest.tempest.network_api.log
+ - tempest_logs/functest.tempest.network_api.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.network_api.html
+ sub_testcase_list:
+ - tempest.api.network.test_extensions.ExtensionsTestJSON.test_list_show_extensions[id-ef28c7e6-e646-4979-9d67-deb207bc5564,smoke]
+ - tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address[id-36de4bd0-f09c-43e3-a8e1-1decc1ffd3a5,smoke]
+ - tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_list_show_update_delete_floating_ip[id-62595970-ab1c-4b7f-8fcc-fddfe55e8718,smoke]
+ - tempest.api.network.test_networks.BulkNetworkOpsTest.test_bulk_create_delete_network[id-d4f9024d-1e28-4fc1-a6b1-25dbc6fa11e2,smoke]
+ - tempest.api.network.test_networks.BulkNetworkOpsTest.test_bulk_create_delete_port[id-48037ff2-e889-4c3b-b86a-8e3f34d2d060,smoke]
+ - tempest.api.network.test_networks.BulkNetworkOpsTest.test_bulk_create_delete_subnet[id-8936533b-c0aa-4f29-8e53-6cc873aec489,smoke]
+ - tempest.api.network.test_networks.NetworksTest.test_external_network_visibility[id-af774677-42a9-4e4b-bb58-16fe6a5bc1ec,smoke]
+ - tempest.api.network.test_ports.PortsTestJSON.test_create_port_with_no_securitygroups[id-4179dcb9-1382-4ced-84fe-1b91c54f5735,smoke]
+ - tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces[id-802c73c9-c937-4cef-824b-2191e24a6aab,smoke]
+ - tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id[id-2b7d2f37-6748-4d78-92e5-1d590234f0d5,smoke]
+ - tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a,smoke]
+ - tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router[id-f64403e2-8483-4b34-8ccd-b09a87bcc68c,smoke]
+ - tempest.api.network.test_subnetpools_extensions.SubnetPoolsTestJSON.test_create_list_show_update_delete_subnetpools[id-62595970-ab1c-4b7f-8fcc-fddfe55e9811,smoke]
+ - tempest.api.network.test_versions.NetworksApiDiscovery.test_api_version_resources[id-cac8a836-c2e0-4304-b556-cd299c7281d1,smoke]
diff --git a/etc/testcase/functest.tempest.network_scenario.yml b/etc/testcase/functest.tempest.network_scenario.yml
new file mode 100644
index 00000000..00847e8f
--- /dev/null
+++ b/etc/testcase/functest.tempest.network_scenario.yml
@@ -0,0 +1,38 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.network_scenario:
+ name: functest.tempest.network_scenario
+ objective: tempest smoke scenario test cases covering networking capabilities
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.network_scenario.functest.log
+ - tempest_logs/functest.tempest.network_scenario.log
+ - tempest_logs/functest.tempest.network_scenario.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.network_scenario.html
+ sub_testcase_list:
+ - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_hotplug_nic[compute,id-c5adff73-e961-41f1-b4a9-343614f18cfa,network]
+ - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops[compute,id-f323b3ba-82f8-4db7-8ea6-6a895869ec49,network,smoke]
+ - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details[compute,id-d8bb918e-e2df-48b2-97cd-b73c95450980,network,slow]
+ - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_update_instance_port_admin_state[compute,id-f5dfcc22-45fd-409f-954c-5bd500d7890b,network,slow]
+ - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_update_router_admin_state[compute,id-04b9fe4e-85e8-4aea-b937-ea93885ac59f,network,slow]
diff --git a/etc/testcase/functest.tempest.network_security.yml b/etc/testcase/functest.tempest.network_security.yml
new file mode 100644
index 00000000..452adaad
--- /dev/null
+++ b/etc/testcase/functest.tempest.network_security.yml
@@ -0,0 +1,39 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.network_security:
+ name: functest.tempest.network_security
+ objective: filtering packets based on security rules and port security in data path
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.network_security.functest.log
+ - tempest_logs/functest.tempest.network_security.log
+ - tempest_logs/functest.tempest.network_security.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.network_security.html
+ sub_testcase_list:
+ - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port[compute,id-7c0bb1a2-d053-49a4-98f9-ca1a1d849f63,network,slow]
+ - tempest.scenario.test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_cross_tenant_traffic[compute,id-e79f879e-debb-440c-a7e4-efeda05b6848,network]
+ - tempest.scenario.test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_in_tenant_traffic[compute,id-63163892-bbf6-4249-aa12-d5ea1f8f421b,network]
+ - tempest.scenario.test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_multiple_security_groups[compute,id-d2f77418-fcc4-439d-b935-72eca704e293,network,slow]
+ - tempest.scenario.test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_port_security_disable_security_group[compute,id-7c811dcc-263b-49a3-92d2-1b4d8405f50c,network,slow]
+ - tempest.scenario.test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_port_update_new_security_group[compute,id-f4d556d7-1526-42ad-bafb-6bebf48568f6,network,slow]
diff --git a/etc/testcase/functest.tempest.networking_sfc.yml b/etc/testcase/functest.tempest.networking_sfc.yml
new file mode 100644
index 00000000..f6a2dd82
--- /dev/null
+++ b/etc/testcase/functest.tempest.networking_sfc.yml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.networking_sfc:
+ name: functest.tempest.networking_sfc
+ objective: validate SFC API CRUD operations by means of Tempest tests from networking-sfc repository
+ validate:
+ type: functest
+ testcase: networking-sfc
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - networking-sfc/rally.log
+ - networking-sfc/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.networking_sfc.functest.log
+ - tempest_logs/functest.tempest.networking_sfc.log
+ - tempest_logs/functest.tempest.networking_sfc.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.networking_sfc.html
+ sub_testcase_list:
diff --git a/etc/testcase/functest.tempest.neutron_tempest_plugin_api.yml b/etc/testcase/functest.tempest.neutron_tempest_plugin_api.yml
new file mode 100644
index 00000000..245dd6cc
--- /dev/null
+++ b/etc/testcase/functest.tempest.neutron_tempest_plugin_api.yml
@@ -0,0 +1,600 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.neutron_tempest_plugin_api:
+ name: functest.tempest.neutron_tempest_plugin_api
+ objective: Run Neutron Tempest plugin API tests
+ validate:
+ type: functest
+ testcase: neutron-tempest-plugin-api
+ report:
+ source_archive_files:
+ - functest.log
+ - neutron-tempest-plugin-api/rally.log
+ - neutron-tempest-plugin-api/tempest-report.html
+ dest_archive_files:
+ - neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.functest.log
+ - neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.log
+ - neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: neutron_tempest_plugin_api_logs/functest.tempest.neutron_tempest_plugin_api.html
+ sub_testcase_list:
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_create
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_get_rules_by_policy
+ - neutron_tempest_plugin.api.test_routers.DvrRoutersTestToCentralized.test_convert_centralized_router
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_create_delete_metering_label_with_name_max_length
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupProtocolTest.test_create_security_group_rule_with_ipv6_protocol_integers
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_show_address_scope
+ - neutron_tempest_plugin.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_trunk_details_with_subport
+ - neutron_tempest_plugin.api.admin.test_logging_negative.LoggingNegativeTestJSON.test_create_log_with_nonexistent_sg
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_create_forbidden_for_regular_tenants
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_list_regular_rule_types
+ - neutron_tempest_plugin.api.admin.test_logging.LoggingTestJSON.test_log_lifecycle
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create_forbidden_for_regular_tenants
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_network_bumps_revision
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_create_delete_metering_label_with_name_max_length
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_subnet_bumps_network_revision
+ - neutron_tempest_plugin.api.admin.test_tag.TagFloatingIpTestJSON.test_floatingip_tags
+ - neutron_tempest_plugin.api.admin.test_networks.NetworksTestAdmin.test_create_network_with_project_and_tenant
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_with_boolean_type_name
+ - neutron_tempest_plugin.api.admin.test_ports.PortTestCasesAdmin.test_update_mac_address
+ - neutron_tempest_plugin.api.test_floating_ips.FloatingIPTestJSON.test_blank_update_clears_association
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_wildcard_policy_delete_blocked_on_default_ext
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_passing_dict
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_change_dhcp_flag_then_create_port
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterSubnetpoolTestJSON.test_filter_subnetpool_tags
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_add_subport_with_mtu_greater_than_subport
+ - neutron_tempest_plugin.api.admin.test_routers_flavors.RoutersFlavorTestCase.test_delete_router_flavor_in_use
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_qos_network_policy_binding_bumps_revision
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_get_rules_by_policy
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_tenant_network
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithL3.test_update_router_with_timestamp
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_update_network_with_timestamp
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_create_trunk_with_mtu_equal_to_subport
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsJson.test_show_flavor
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_create_subnet_different_pools_same_network
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_update_self_share_rule
+ - neutron_tempest_plugin.api.admin.test_dhcp_agent_scheduler.DHCPAgentSchedulersTestJSON.test_list_dhcp_agent_hosting_network
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_create_update_router_description
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithSecurityGroup.test_show_sg_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_service_type_management.ServiceTypeManagementTest.test_service_provider_list
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_network_constrained_by_revision
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_tenant_create_non_default_subnetpool
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_update_subnetpool_description
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_regular_client_shares_with_another
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_network_attached_with_two_routers
+ - neutron_tempest_plugin.api.admin.test_extension_driver_port_security_admin.PortSecurityAdminTests.test_create_port_security_false_on_shared_network
+ - neutron_tempest_plugin.api.test_networks.NetworksTestJSON.test_list_networks_fields_keystone_v3
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithSecurityGroup.test_create_sgrule_with_timestamp
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_create_port_with_timestamp
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_rule_create
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_tenant_cant_delete_other_tenants_ports
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_port_id
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_filter_fields
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_regular_client_shares_to_another_regular_client
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_update_router_set_gateway_without_snat
+ - neutron_tempest_plugin.api.admin.test_networks.NetworksTestAdmin.test_create_tenant_network_vxlan
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_rule_create_forbidden_for_regular_tenants
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_filter_fields
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_filter_fields
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsIpV6TestJSON.test_create_update_delete_service_profile
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsJson.test_create_update_delete_service_profile
+ - neutron_tempest_plugin.api.admin.test_networks.NetworksTestAdmin.test_create_network_with_project
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterFloatingIpTestJSON.test_filter_floatingip_tags
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_network_when_quotas_is_full
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_wildcard_policy_created_from_external_network_api
+ - neutron_tempest_plugin.api.test_extra_dhcp_options.ExtraDHCPOptionsIpV6TestJSON.test_update_show_port_with_extra_dhcp_options
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_update_router_set_gateway_with_snat_explicit
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_non_existent_subnetpool
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_port_sec_update_port_failed
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_port_id_disabled_trunk
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_portbinding_bumps_revision
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_policy_target_update
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_external_network_bumps_revision
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_update_network_segment_range_failed_with_existing_range_impacted
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create_fail_for_the_same_type
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_filter_rbac_policies
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_remove_subport
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterQosPolicyTestJSON.test_filter_qos_policy_tags
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_create_subnetpool_with_timestamp
+ - neutron_tempest_plugin.api.test_routers_negative.DvrRoutersNegativeTest.test_router_create_tenant_distributed_returns_forbidden
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairIpV6TestJSON.test_update_port_with_address_pair
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_tenant_update_subnetpool
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_get_subnetpool
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_admin_create_shared_subnetpool
+ - neutron_tempest_plugin.api.admin.test_dhcp_agent_scheduler.DHCPAgentSchedulersTestJSON.test_add_remove_network_from_dhcp_agent
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_update_forbidden_for_regular_tenants_own_policy
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithL3.test_show_router_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_network_nonexistent_policy
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_list_metering_label_rules
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_port_sg_binding_bumps_revision
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_rule_create_rule_nonexistent_policy
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_delete_not_allowed_if_policy_in_use_by_port
+ - neutron_tempest_plugin.api.test_floating_ips.FloatingIPTestJSON.test_floatingip_update_extra_attributes_port_id_not_changed
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_update_forbidden_for_regular_tenants_own_policy
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_floatingip_when_quotas_is_full
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupProtocolTest.test_create_security_group_rule_with_ipv6_protocol_names
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupTest.test_update_security_group_with_too_long_name
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_create_forbidden_for_regular_tenants
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_list_shared_networks
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_delete_address_scope
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_update_trunk
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv4Test.test_show_ip_availability_after_port_delete
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairTestJSON.test_update_port_with_multiple_ip_mac_address_pair
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_network_presence_prevents_policy_rbac_policy_deletion
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_networks.NetworksTestJSON.test_create_update_network_dns_domain
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_prefix_intersect
+ - neutron_tempest_plugin.api.admin.test_dhcp_agent_scheduler.DHCPAgentSchedulersTestJSON.test_dhcp_port_status_active
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv6Test.test_list_ip_availability_before_subnet
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_extra_dhcp_opt_bumps_revision
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_create_policy
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_tenant_get_not_shared_admin_subnetpool
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_tenant_create_shared_subnetpool
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_tenant_create_default_subnetpool
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_create_update_router_description
+ - neutron_tempest_plugin.api.test_routers.DvrRoutersTest.test_create_distributed_router
+ - neutron_tempest_plugin.api.admin.test_logging_negative.LoggingNegativeTestJSON.test_create_log_with_nonexistent_port
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_list_admin_rule_types
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairIpV6TestJSON.test_update_port_with_multiple_ip_mac_address_pair
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv4Test.test_show_ip_availability_after_subnet_and_ports_create
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create_fail_for_the_same_type
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_create_sp_associate_address_scope_multiple_prefix_intersect
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_update
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_port_presence_prevents_network_rbac_policy_deletion
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupIPv6Test.test_update_security_group_with_too_long_name
+ - neutron_tempest_plugin.api.admin.test_routers_dvr.RouterTestCentralizedToDVR.test_centralized_router_update_to_dvr
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_duplicate_segmentation_details
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_create_delete_metering_label_with_filters
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_port_sec_update_pass
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_update_subnetpool_prefixes_append
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_create_router_with_snat_explicit
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_show_subnetpool_has_project_id
+ - neutron_tempest_plugin.api.test_floating_ips.FloatingIPPoolTestJSON.test_create_floatingip_from_specific_pool
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterRouterTestJSON.test_filter_router_tags
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_tenant_get_not_shared_admin_address_scope
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv4Test.test_list_ip_availability_after_port_delete
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_port_id_disabled_trunk
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterTrunkTestJSON.test_filter_trunk_tags
+ - neutron_tempest_plugin.api.admin.test_floating_ips_admin_actions.FloatingIPAdminTestJSON.test_create_floatingip_with_specified_ip_address
+ - neutron_tempest_plugin.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_trunk_details_no_subports
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_passing_dict
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_get_subports
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_qos_policy_delete_with_rules
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_tenant_create_list_address_scope
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_add_subports
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_duplicate_policy_error
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_port_presence_prevents_policy_rbac_policy_deletion
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_external_conversion_on_policy_create
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_delete
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_port_non_shared_policy
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_filter_policies
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterSubnetTestJSON.test_filter_subnet_tags
+ - neutron_tempest_plugin.api.admin.test_routers_dvr.RoutersTestDVR.test_centralized_router_creation
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_multiple_prefix_intersect
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_list_network_segment_ranges
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_invalid_inherit_network_segmentation_type
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_delete_trunk_disabled_trunk
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_external_network_on_shared_policy_delete
+ - neutron_tempest_plugin.api.admin.test_tag.TagSubnetPoolTestJSON.test_subnetpool_tags
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsIpV6TestJSON.test_list_flavors
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_delete_self_share_rule
+ - neutron_tempest_plugin.api.admin.test_tag.TagSecGroupTestJSON.test_security_group_tags
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_user_create_port_with_admin_qos_policy
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_update_subnetpool_associate_address_scope
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_update_forbidden_for_regular_tenants_foreign_policy
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_get_rules_by_policy
+ - neutron_tempest_plugin.api.admin.test_tag.TagSubnetTestJSON.test_subnet_tags
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_allowed_address_pairs
+ - neutron_tempest_plugin.api.test_routers_negative.HaRoutersNegativeTest.test_router_create_tenant_ha_returns_forbidden
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_external_conversion_on_one_policy_delete
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_create_port_shared_network_as_non_admin_tenant
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupProtocolIPv6Test.test_security_group_rule_protocol_ints
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_networks.NetworksTestJSON.test_show_network
+ - neutron_tempest_plugin.api.test_auto_allocated_topology.TestAutoAllocatedTopology.test_get_allocated_net_topology_as_tenant
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_tenant_create_shared_address_scope
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairIpV6TestJSON.test_create_list_port_with_address_pair
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_create_delete_metering_label_rule_with_filters
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_subnetpool_associate_address_scope
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_sg_group_bumps_revision
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_invalid_rule_create
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv6Test.test_show_ip_availability_after_port_delete
+ - neutron_tempest_plugin.api.admin.test_l3_agent_scheduler.L3AgentSchedulerTestJSON.test_add_list_remove_router_on_l3_agent
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_get_policy_that_is_shared
+ - neutron_tempest_plugin.api.test_qos_negative.QosNegativeTestJSON.test_add_policy_with_too_long_name
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_net_bound_shared_policy_wildcard_and_tenant_id_wild_remains
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_tenant_create_non_default_subnetpool
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_associate_address_scope_of_other_owner
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_allowed_address_pairs_bumps_revision
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_update_forbidden_for_regular_tenants_own_policy
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_update_subnetpool_disassociate_address_scope
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_port_with_propagate_uplink_status
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_update_subnetpool_disassociate_address_scope
+ - neutron_tempest_plugin.api.test_routers_negative.RoutersNegativeTest.test_delete_router_in_use
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_admin_update_shared_address_scope
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_get_non_existent_subnetpool
+ - neutron_tempest_plugin.api.admin.test_ports.PortTestCasesResourceRequest.test_port_resource_request_empty
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_show_rule_type_details_as_admin
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_admin_create_shared_address_scope
+ - neutron_tempest_plugin.api.admin.test_agent_management.AgentManagementTestJSON.test_list_agent
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_network_attached_with_two_routers
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithL3.test_create_floatingip_with_timestamp
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_update_subnetpool_associate_address_scope
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_port_id_uses_parent_port_id
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_show_networks_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_port_details
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_update_extra_route
+ - neutron_tempest_plugin.api.test_qos_negative.QosNegativeTestJSON.test_add_policy_with_too_long_description
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_show_network_segment_range
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_policy_sharing_with_wildcard_and_tenant_id
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_create_rbac_policy_with_target_tenant_none
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestMtusJSON.test_create_trunk_with_mtu_smaller_than_subport
+ - neutron_tempest_plugin.api.test_auto_allocated_topology.TestAutoAllocatedTopology.test_delete_allocated_net_topology_as_tenant
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_create_forbidden_for_regular_tenants
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_create_subnetpool_associate_invalid_address_scope
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_rule_delete
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_tenant_update_address_scope_shared_false
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithL3.test_create_router_with_timestamp
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_get_rules_by_policy
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_port_security_bumps_revisions
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupTest.test_update_security_group_with_boolean_type_name
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_nonexistent_port_id
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_policy_target_update
+ - neutron_tempest_plugin.api.admin.test_ports.PortTestCasesAdmin.test_regenerate_mac_address
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_add_subport_with_mtu_equal_to_trunk
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_port_bumps_revision
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_show_port_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupIPv6Test.test_create_security_group_with_boolean_type_name
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_show_policy_has_project_id
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_show_shared_networks_attribute
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_tenant_create_subnetpool_associate_shared_address_scope
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_regular_client_shares_to_another_regular_client
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_update_forbidden_for_regular_tenants_foreign_policy
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_get_non_existent_address_scope
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_subnet_from_pool_with_subnet_cidr
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestMtusJSON.test_add_subport_with_mtu_greater_than_trunk
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_trunk_empty_subports_list
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_delete_address_scope_associated_with_subnetpool
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_update_trunk_with_description
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_port_sec_specific_value_2
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv6Test.test_list_ip_availability_after_subnet_and_ports
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_update_shared_address_scope_to_unshare
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_sg_rule_bumps_sg_revision
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_update_association_with_port_shared_policy
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_delete_port_in_use_by_subport
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_create_pass_for_direction_ingress
+ - neutron_tempest_plugin.api.test_routers_negative.RoutersNegativePolicyTest.test_add_interface_wrong_tenant
+ - neutron_tempest_plugin.api.admin.test_agent_management.AgentManagementTestJSON.test_list_agents_non_admin
+ - neutron_tempest_plugin.api.admin.test_tag.UpdateTagsTest.test_update_tags_affects_only_updated_resource
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_update_subnet_with_timestamp
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_get_subnetpool
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupIPv6Test.test_update_default_security_group_name
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_get_rules_by_policy
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_update_port_description
+ - neutron_tempest_plugin.api.admin.test_agent_management.AgentManagementTestJSON.test_update_agent_description
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_regular_client_blocked_from_sharing_with_wildcard
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_regular_client_blocked_from_creating_external_wild_policies
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.AllowedAddressPairSharedNetworkTest.test_update_with_address_pair_blocked_on_other_network
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv6Test.test_list_ip_availability_after_port_delete
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_update_non_existent_address_scope
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_policy_allows_tenant_to_attach_ext_gw
+ - neutron_tempest_plugin.api.test_networks_negative.NetworksNegativeTest.test_delete_network_in_use
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_subnet_from_pool_with_default_prefixlen
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupProtocolIPv6Test.test_security_group_rule_protocol_legacy_names
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_duplicate_subport_segmentation_ids
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_create_subnetpool_associate_non_exist_address_scope
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_create_delete_metering_label_with_filters
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairTestJSON.test_update_port_with_address_pair
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupIPv6Test.test_delete_in_use_sec_group
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_update_subnetpool_with_timestamp
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_segment_with_timestamp
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsJson.test_list_service_profiles
+ - neutron_tempest_plugin.api.admin.test_tag.TagRouterTestJSON.test_router_tags
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_update
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_create_network_with_default_network_segment_range
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_prefixes_shrink
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_show_metering_label_rule
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_update_router_reset_gateway_without_snat
+ - neutron_tempest_plugin.api.admin.test_logging_negative.LoggingNegativeTestJSON.test_create_log_with_invalid_resource_type
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_update_subnetpool_prefixes_append
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_network_non_shared_policy
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.admin.test_networks.NetworksTestAdmin.test_create_network_with_project_and_other_tenant
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsJson.test_create_update_delete_flavor
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupTest.test_delete_in_use_sec_group
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_create_router_with_snat_explicit
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create_forbidden_for_regular_tenants
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupIPv6Test.test_create_security_group_with_too_long_name
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_admin_network
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_create_update_shared_network
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_nonexistent_trunk
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_update_router_set_gateway_without_snat
+ - neutron_tempest_plugin.api.admin.test_ports.PortTestCasesResourceRequest.test_port_resource_request
+ - neutron_tempest_plugin.api.admin.test_routers_dvr.RoutersTestDVR.test_distributed_router_creation
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_update_forbidden_for_regular_tenants_own_policy
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_subnet_service_types_bumps_revisions
+ - neutron_tempest_plugin.api.admin.test_routers_ha.RoutersTestHA.test_legacy_router_update_to_ha
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_not_found
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_update_subnetpool_associate_another_address_scope
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create_rule_nonexistent_policy
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithSecurityGroup.test_show_sgrule_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_update_port_with_dns_domain
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupTest.test_create_list_update_show_delete_security_group
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_update_association_with_admin_network
+ - neutron_tempest_plugin.api.admin.test_tag.TagPortTestJSON.test_port_tags
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterPortTestJSON.test_filter_port_tags
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_security_group_when_quotas_is_full
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_filtering_shared_subnets
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_show_subnetpool_has_project_id
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_show_subnet_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv6Test.test_show_ip_availability_after_subnet_and_ports_create
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_port_shared_policy
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_validation_filters
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_rbac_policy_show
+ - neutron_tempest_plugin.api.admin.test_agent_availability_zone.AgentAvailabilityZoneTestCase.test_agents_availability_zone
+ - neutron_tempest_plugin.api.admin.test_tag.TagTrunkTestJSON.test_trunk_tags
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_subnet_when_quotas_is_full
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_regular_client_blocked_from_sharing_anothers_policy
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_policy_show
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_qos_port_policy_binding_bumps_revision
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_with_too_long_name
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsJson.test_show_service_profile
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithSecurityGroup.test_update_sg_with_timestamp
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_update_subnetpool_associate_another_address_scope
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_net_bound_shared_policy_wildcard_and_tenant_id_wild_remove
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_delete_policies_while_tenant_attached_to_net
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_delete_with_port_sec
+ - neutron_tempest_plugin.api.test_availability_zones.ListAvailableZonesTest.test_list_available_zones
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_create_router_with_default_snat_value
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupProtocolIPv6Test.test_security_group_rule_protocol_names
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_delete_port_in_use_by_trunk
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_subnet_from_pool_with_prefixlen
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_filtering_shared_networks
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_list_subnetpool
+ - neutron_tempest_plugin.api.admin.test_tag.TagQosPolicyTestJSON.test_qos_policy_tags
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_subnet_from_pool_with_subnet_cidr
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_router_bumps_revision
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterNetworkTestJSON.test_filter_network_tags
+ - neutron_tempest_plugin.api.test_dhcp_ipv6.NetworksTestDHCPv6.test_dhcp_stateful_fixedips_outrange
+ - neutron_tempest_plugin.api.test_networks.NetworksMtuTestJSON.test_update_network_custom_mtu
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_regular_client_shares_to_another_regular_client
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_list_policy_filter_by_name
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv4Test.test_list_ip_availability_before_subnet
+ - neutron_tempest_plugin.api.admin.test_tag.TagFilterSecGroupTestJSON.test_filter_security_group_tags
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_subnet_from_pool_with_quota
+ - neutron_tempest_plugin.api.test_networks.NetworksTestJSON.test_show_network_fields_keystone_v3
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_show_metering_label
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_default_policy_creating_network_without_policy
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsIpV6TestJSON.test_list_service_profiles
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_show_metering_label_rule
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsIpV6TestJSON.test_show_flavor
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.test_network_ip_availability_negative.NetworksIpAvailabilityNegativeTest.test_network_availability_nonexistent_network_id
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_create_network_with_timestamp
+ - neutron_tempest_plugin.api.admin.test_logging.LoggingTestJSON.test_list_supported_logging_types
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_delete_non_existent_address_scope
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_regular_client_blocked_from_sharing_anothers_policy
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_create_fail_for_the_same_type
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_delete_policy
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_policy_allows_tenant_to_allocate_floatingip
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_update_router_set_gateway_with_snat_explicit
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_missing_segmentation_id
+ - neutron_tempest_plugin.api.admin.test_routers_ha.RoutersTestHA.test_legacy_router_creation
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_admin_create_shared_subnetpool
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_segmentation_type
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestInheritJSONBase.test_add_subport
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_update_subnetpool_description
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_update_subnetpool_prefixes_extend
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_update
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_network_only_visible_to_policy_target
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_subnetpool_associate_address_scope
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_policy_target_update
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_list_metering_labels
+ - neutron_tempest_plugin.api.admin.test_dhcp_agent_scheduler.DHCPAgentSchedulersTestJSON.test_list_networks_hosted_by_one_dhcp
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_update_forbidden_for_regular_tenants_foreign_policy
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_show_rule_type_details_as_user
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_update_port_with_timestamp
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_delete
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupProtocolTest.test_security_group_rule_protocol_names
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_update_port_with_dns_name
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_associate_address_scope_wrong_ip_version
+ - neutron_tempest_plugin.api.test_networks.NetworksTestJSON.test_create_network_with_project
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_rbac_bumps_network_revision
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupProtocolTest.test_security_group_rule_protocol_ints
+ - neutron_tempest_plugin.api.test_qos.RbacSharedQosPoliciesTest.test_policy_sharing_with_wildcard
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_floatingip_bumps_revision
+ - neutron_tempest_plugin.api.test_floating_ips_negative.FloatingIPNegativeTestJSON.test_associate_floatingip_with_port_with_floatingip
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_router_interface_status
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_delete
+ - neutron_tempest_plugin.api.admin.test_quotas.QuotasTest.test_quotas
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_update_subnetpool_prefixes_extend
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_tenant_update_address_scope
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_port_sec_default_value
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairIpV6TestJSON.test_update_port_with_cidr_address_pair
+ - neutron_tempest_plugin.api.admin.test_tag.TagNetworkTestJSON.test_network_tags
+ - neutron_tempest_plugin.api.admin.test_routers_ha.RoutersTestHA.test_delete_ha_router_keeps_ha_network_segment_data
+ - neutron_tempest_plugin.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_empty_trunk_details
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_create
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_metering_negative.MeteringNegativeTestJSON.test_create_metering_label_with_too_long_name
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_tenant_update_sp_prefix_associated_with_shared_addr_scope
+ - neutron_tempest_plugin.api.test_qos.QosSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_create_update_delete_network_segment_range
+ - neutron_tempest_plugin.api.admin.test_security_groups.SecGroupAdminTest.test_security_group_recreated_on_port_update
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_create_rbac_policy_with_target_tenant_too_long_id
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_subnet_bumps_revision
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_router_when_quotas_is_full
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_create_rule_nonexistent_policy
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_show_delete_trunk
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_port_when_quotas_is_full
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_regular_client_blocked_from_sharing_anothers_network
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_rbac_policy_quota
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_create_rule_nonexistent_policy
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_router_extra_attributes_bumps_revision
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_add_ips_to_port
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_tenant_can_delete_port_on_own_network
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_dual_stack_subnets_from_subnetpools
+ - neutron_tempest_plugin.api.admin.test_agent_management.AgentManagementTestJSON.test_show_agent
+ - neutron_tempest_plugin.api.test_extensions.ExtensionsTest.test_list_extensions_sorting
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_create_rule_nonexistent_policy
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_validation_filters
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_subnet_on_network_only_visible_to_policy_target
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsJson.test_list_flavors
+ - neutron_tempest_plugin.api.test_address_scopes.AddressScopeTest.test_show_address_scope_project_id
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_delete_trunk_with_subport_is_allowed
+ - neutron_tempest_plugin.api.test_network_ip_availability.NetworksIpAvailabilityIPv4Test.test_list_ip_availability_after_subnet_and_ports
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_create_trunk_with_mtu_greater_than_subport
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_shared_policy_update
+ - neutron_tempest_plugin.api.admin.test_quotas.QuotasTest.test_detail_quotas
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringTestJSON.test_show_metering_label
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_subnetpool_bumps_revision
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_create_subnet_with_timestamp
+ - neutron_tempest_plugin.api.admin.test_agent_management.AgentManagementTestJSON.test_update_agent_status
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_router_extra_routes_bumps_revision
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_port_sec_specific_value_1
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_update
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_delete_network_segment_range_failed_with_segment_referenced
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_nonexistent_subport_port_id
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_show_trunk_has_project_id
+ - neutron_tempest_plugin.api.admin.test_ports.PortTestCasesResourceRequest.test_port_resource_request_inherited_policy
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupIPv6Test.test_update_security_group_with_boolean_type_name
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithL3.test_update_floatingip_with_timestamp
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_update_forbidden_for_regular_tenants_foreign_policy
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_trunk_subports_not_specified
+ - neutron_tempest_plugin.api.admin.test_routers_flavors.RoutersFlavorTestCase.test_badrequest_on_requesting_flags_and_flavor
+ - neutron_tempest_plugin.api.admin.test_routers_flavors.RoutersFlavorTestCase.test_create_router_with_flavor
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_router_interface_status
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_rbac_policy_show
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_security_groups_negative.NegativeSecGroupTest.test_update_default_security_group_name
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.test_ports.PortsSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_create_subnetpool_associate_address_scope_prefix_intersect
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_update_port_with_no_dns_name
+ - neutron_tempest_plugin.api.test_revisions.TestRevisions.test_update_dns_domain_bumps_revision
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_default_policy_creating_network_with_policy
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_external_update_policy_from_wildcard_to_specific_tenant
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_tenant_id
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithL3.test_show_floatingip_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_subnet_from_pool_with_prefixlen
+ - neutron_tempest_plugin.api.admin.test_quotas_negative.QuotasAdminNegativeTestJSON.test_create_security_group_rule_when_quotas_is_full
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_subnet_from_pool_with_quota
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_policy_association_with_port_nonexistent_policy
+ - neutron_tempest_plugin.api.test_security_groups.RbacSharedSecurityGroupTest.test_filter_rbac_policies
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_segmentation_id
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.SharedNetworksTest.test_create_bulk_shared_network
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairTestJSON.test_update_port_with_cidr_address_pair
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_update_extra_route
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_list_trunks
+ - neutron_tempest_plugin.api.test_routers.RoutersTest.test_update_router_reset_gateway_without_snat
+ - neutron_tempest_plugin.api.test_qos.QosTestJSON.test_delete_not_allowed_if_policy_in_use_by_network
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_create_delete_metering_label_rule_with_filters
+ - neutron_tempest_plugin.api.test_extensions.ExtensionsTest.test_list_extensions_pagination
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_list_metering_labels
+ - neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_port_without_propagate_uplink_status
+ - neutron_tempest_plugin.api.test_extra_dhcp_options.ExtraDHCPOptionsTestJSON.test_update_show_port_with_extra_dhcp_options
+ - neutron_tempest_plugin.api.test_extensions.ExtensionsTest.test_list_extensions_includes_all
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_update
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTest.test_create_subnet_from_pool_with_default_prefixlen
+ - neutron_tempest_plugin.api.test_routers.HaRoutersTest.test_convert_legacy_router
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsIpV6TestJSON.test_show_service_profile
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_pagination_with_href_links
+ - neutron_tempest_plugin.api.admin.test_l3_agent_scheduler.L3AgentSchedulerTestJSON.test_list_routers_on_l3_agent
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_extra_dhcp_options.ExtraDHCPOptionsIpV6TestJSON.test_create_list_port_with_extra_dhcp_options
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_address_scopes_negative.AddressScopeTestNegative.test_tenant_update_address_scope_shared_true
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStampWithSecurityGroup.test_create_sg_with_timestamp
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleWithDirectionTestJSON.test_rule_delete
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_qos_negative.QosNegativeTestJSON.test_add_policy_with_too_long_tenant_id
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_delete_non_existent_subnetpool
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_validation_filters
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_create_list_subnetpool
+ - neutron_tempest_plugin.api.test_networks.NetworksSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_qos.QosMinimumBandwidthRuleTestJSON.test_rule_create_fail_for_missing_min_kbps
+ - neutron_tempest_plugin.api.admin.test_floating_ips_admin_actions.FloatingIPAdminTestJSON.test_associate_floating_ip_with_port_from_another_project
+ - neutron_tempest_plugin.api.admin.test_external_network_extension.ExternalNetworksRBACTestJSON.test_external_conversion_on_policy_delete
+ - neutron_tempest_plugin.api.test_allowed_address_pair.AllowedAddressPairTestJSON.test_create_list_port_with_address_pair
+ - neutron_tempest_plugin.api.test_extensions.ExtensionsTest.test_list_extensions_project_id
+ - neutron_tempest_plugin.api.admin.test_network_segment_range.NetworkSegmentRangeTestJson.test_create_network_with_tenant_specific_network_segment_range
+ - neutron_tempest_plugin.api.test_subnets.SubnetsSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_qos.QosBandwidthLimitRuleTestJSON.test_rule_create_fail_for_the_same_type
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_timestamp.TestTimeStamp.test_show_subnetpool_attribute_with_timestamp
+ - neutron_tempest_plugin.api.test_extra_dhcp_options.ExtraDHCPOptionsTestJSON.test_create_list_port_with_extra_dhcp_options
+ - neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_create_router_with_default_snat_value
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_nonexistent_port_id
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_update_subnetpool_not_modifiable_shared
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_rule_update
+ - neutron_tempest_plugin.api.test_security_groups.SecGroupTest.test_create_bulk_sec_groups
+ - neutron_tempest_plugin.api.test_networks.NetworksMtuTestJSON.test_create_network_custom_mtu
+ - neutron_tempest_plugin.api.admin.test_routers_ha.RoutersTestHA.test_ha_router_creation
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.AllowedAddressPairSharedNetworkTest.test_create_with_address_pair_blocked_on_other_network
+ - neutron_tempest_plugin.api.test_metering_extensions.MeteringIpV6TestJSON.test_list_metering_label_rules
+ - neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_filtering_works_with_rbac_records_present
+ - neutron_tempest_plugin.api.test_subnetpools_negative.SubnetPoolsNegativeTestJSON.test_create_subnetpool_associate_address_scope_of_other_owner
+ - neutron_tempest_plugin.api.test_flavors_extensions.TestFlavorsIpV6TestJSON.test_create_update_delete_flavor
+ - neutron_tempest_plugin.api.test_extension_driver_port_security.PortSecTest.test_create_port_sec_with_security_group
+ - neutron_tempest_plugin.api.test_routers.RoutersSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_router_interface_fip.RouterInterfaceFip.test_router_interface_fip
+ - neutron_tempest_plugin.api.test_subnetpools.SubnetPoolsTestV6.test_tenant_update_subnetpool
+ - neutron_tempest_plugin.api.test_qos.QosDscpMarkingRuleTestJSON.test_rule_create_fail_for_the_same_type
+ - neutron_tempest_plugin.api.test_floating_ips.FloatingIPTestJSON.test_create_update_floatingip_description
diff --git a/etc/testcase/functest.tempest.osinterop.yml b/etc/testcase/functest.tempest.osinterop.yml
new file mode 100644
index 00000000..0c83ef15
--- /dev/null
+++ b/etc/testcase/functest.tempest.osinterop.yml
@@ -0,0 +1,253 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.osinterop:
+ name: functest.tempest.osinterop
+ objective: > # Set of OpenStack interoperability test cases not flagged and required. It only contains OpenStack core (no object storage)
+ # The approved guidelines (2016.08) are valid for Kilo, Liberty, Mitaka and Newton releases of OpenStack
+ # The list can be generated using the Rest API from RefStack project:
+ # https://refstack.openstack.org/api/v1/guidelines/2016.08/tests?target=compute&type=required&alias=true&flag=false
+ validate:
+ type: functest
+ testcase: refstack_defcore
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - refstack_defcore/rally.log
+ - refstack_defcore/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.osinterop.functest.log
+ - tempest_logs/functest.tempest.osinterop.log
+ - tempest_logs/functest.tempest.osinterop.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.osinterop.html
+ sub_testcase_list:
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_icmp_type_code
+ - tempest.api.network.test_networks.NetworksTest.test_update_subnet_gw_dns_host_routes_dhcp
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_volume_delete_nonexistent_volume_id
+ - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image
+ - tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_from_image
+ - tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_no_params
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_remote_ip_prefix
+ - tempest.api.identity.v3.test_tokens.TokensV3Test.test_create_token
+ - tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_get_non_existent_server
+ - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_active_status
+ - tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volumes_list_details_by_status
+ - tempest.api.network.test_networks.NetworksTest.test_list_subnets
+ - tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_server_name
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_invalid_ip_v6_address
+ - tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_list_get_volume_attachments
+ - tempest.api.network.test_networks.NetworksTest.test_show_network
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_show_delete_security_group_rule
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_gw_and_allocation_pools
+ - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_set_empty_name
+ - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name
+ - tempest.api.network.test_ports.PortsTestJSON.test_show_port
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_image
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_id_exceeding_length_limit
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit
+ - tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_access_server_address
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_stop_non_existent_server
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_get_images_schema
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_with_details
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server
+ - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_image_null_id
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_non_existent_security_group
+ - tempest.api.network.test_ports.PortsTestJSON.test_show_port_fields
+ - tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair
+ - tempest.api.compute.test_versions.TestVersions.test_list_api_versions
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_with_param_metadata
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_list_volumes_with_invalid_status
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_update_volume_with_empty_volume_id
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_by_name
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_disk_format
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_all_attributes
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_status
+ - tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item
+ - tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_with_params
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_list_update_show_delete_security_group
+ - tempest.api.compute.test_quotas.QuotasTestJSON.test_get_quotas
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_image
+ - tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_string
+ - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details
+ - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_existing_image
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_delete_invalid_volume_id
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_duplicate_security_group_rule_fails
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volumes_list_by_status
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_details_with_multiple_params
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_non_existent_server
+ - tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_list_instance_actions
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name
+ - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers_with_detail
+ - tempest.api.network.test_networks.NetworksTest.test_create_update_delete_network_subnet
+ - tempest.api.volume.test_volume_metadata.VolumesMetadataTest.test_update_show_volume_metadata_item
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_flavor
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_with_nonexistent_source_volid
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_flavor
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server
+ - tempest.api.network.test_networks.NetworksTest.test_delete_network_with_subnet
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_list_volumes_detail_with_nonexistent_name
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_get_image_schema
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_update_volume_with_nonexistent_volume_id
+ - tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_list_volumes_with_nonexistent_name
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_limit
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_gw
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_with_invalid_size
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list
+ - tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses
+ - tempest.api.compute.servers.test_availability_zone.AZV2TestJSON.test_get_availability_zone_list_with_non_admin_user
+ - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_delete_volume_without_passing_volume_id
+ - tempest.api.network.test_security_groups.SecGroupTest.test_list_security_groups
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show_non_existent_security_group
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_additional_args
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_dhcp_enabled
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_non_existent_remote_groupid
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_bad_remote_ip_prefix
+ - tempest.api.network.test_ports.PortsTestJSON.test_list_ports_fields
+ - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_details_pagination
+ - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details
+ - tempest.api.compute.servers.test_delete_server.DeleteServersTestJSON.test_delete_active_server
+ - tempest.api.network.test_networks.NetworksTest.test_list_networks_fields
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_network_uuid
+ - tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_with_detail_param_metadata
+ - tempest.api.network.test_networks.NetworksTest.test_show_subnet_fields
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_status
+ - tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_get_instance_action
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_remote_group_id
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_get_volume_without_passing_volume_id
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date
+ - tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata
+ - tempest.api.volume.test_volumes_snapshots_negative.VolumesSnapshotNegativeTestJSON.test_create_snapshot_with_nonexistent_volume_id
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_container_format
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_param_display_name_and_status
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_min_max_size
+ - tempest.api.compute.test_quotas.QuotasTestJSON.test_get_default_quotas
+ - tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volumes_list_details_by_availability_zone
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_with_nonexistent_snapshot_id
+ - tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_bootable
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_update_volume_with_invalid_volume_id
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_size
+ - tempest.api.network.test_networks.NetworksTest.test_show_network_fields
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_server_name
+ - tempest.api.volume.test_availability_zone.AvailabilityZoneTestJSON.test_get_availability_zone_list
+ - tempest.api.volume.test_volumes_snapshots_list.VolumesSnapshotListTestJSON.test_snapshots_list_details_with_params
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_without_passing_size
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_list_volumes_detail_with_invalid_status
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_negative_value
+ - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image
+ - tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name
+ - tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_with_nonexistent_volume_type
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_deleted_server
+ - tempest.api.image.v2.test_images.ListUserImagesTest.test_list_images_param_visibility
+ - tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_with_detail
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_name_length_exceeds_256
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_with_size_zero
+ - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers
+ - tempest.api.network.test_ports.PortsTestJSON.test_list_ports
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_pagination
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_show_non_existent_security_group_rule
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_image
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_additional_default_security_group_fails
+ - tempest.api.network.test_networks.NetworksTest.test_list_networks
+ - tempest.api.volume.test_volume_metadata.VolumesMetadataTest.test_crud_volume_metadata
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_negative_id
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_greater_than_actual_count
+ - tempest.api.volume.test_snapshot_metadata.SnapshotMetadataTestJSON.test_update_show_snapshot_metadata_item
+ - tempest.api.volume.test_snapshot_metadata.SnapshotMetadataTestJSON.test_crud_snapshot_metadata
+ - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_created_server_vcpus
+ - tempest.api.network.test_subnetpools_extensions.SubnetPoolsTestJSON.test_create_list_show_update_delete_subnetpools
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volumes_list_by_availability_zone
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date
+ - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_bad_protocol
+ - tempest.api.network.test_networks.NetworksTest.test_list_subnets_fields
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_server_name_blank
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_flavor
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_host_routes_and_dns_nameservers
+ - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus
+ - tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata
+ - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_without_gateway
+ - tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_volume_from_snapshot
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_volume_get_nonexistent_volume_id
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_name_of_non_existent_server
+ - tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types
+ - tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_bad_ethertype
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_details_by_name
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_delete_non_existent_security_group
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_metadata_exceeds_length_limit
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_name_length_exceeds_256
+ - tempest.api.network.test_ports.PortsTestJSON.test_create_port_in_allowed_allocation_pools
+ - tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_protocol_integer_value
+ - tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password
+ - tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_readonly_update
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_image
+ - tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors
+ - tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON.test_snapshot_create_get_list_update_delete
+ - tempest.api.volume.test_volumes_snapshots_negative.VolumesSnapshotNegativeTestJSON.test_create_snapshot_without_passing_volume_id
+ - tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing
+ - tempest.api.network.test_security_groups_negative.NegativeSecGroupTest.test_create_security_group_rule_with_invalid_ports
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_get_invalid_volume_id
+ - tempest.api.network.test_ports.PortsTestJSON.test_create_update_delete_port
+ - tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_with_size_negative
+ - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers_with_detail
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_limit_results
+ - tempest.api.network.test_networks.NetworksTest.test_create_delete_subnet_with_allocation_pools
+ - tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item
+ - tempest.api.network.test_networks.NetworksTest.test_show_subnet
+ - tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_name
+ - tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_flavor
+ - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server
+ - tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image
+ - tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image
+ - tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_as_clone
+ - tempest.api.volume.test_extensions.ExtensionsTestJSON.test_list_extensions
+ - tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_numeric_server_name
+ - tempest.api.network.test_ports.PortsTestJSON.test_create_bulk_port
+ - tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list_with_detail_param_display_name_and_status
+ - tempest.api.network.test_networks.NetworksTest.test_external_network_visibility
+ - tempest.api.network.test_ports.PortsTestJSON.test_port_list_filter_by_router_id
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_add_router_interfaces_on_overlapping_subnets_returns_400
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_delete_non_existent_router_returns_404
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_router_add_gateway_invalid_network_returns_404
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_router_add_gateway_net_not_external_returns_400
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_router_remove_interface_in_use_returns_409
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_show_non_existent_router_returns_404
+ - tempest.api.network.test_routers_negative.RoutersNegativeTest.test_update_non_existent_router_returns_404
+ - tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces
+ - tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id
+ - tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id
+ - tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router
+ - tempest.api.network.test_routers.RoutersTest.test_update_delete_extra_route
+ - tempest.api.network.test_routers.RoutersTest.test_update_router_admin_state
+ - tempest.api.network.test_versions.NetworksApiDiscovery.test_api_version_resources
+ - tempest.api.volume.test_versions.VersionsTest.test_list_versions
+ - tempest.api.compute.keypairs.test_keypairs_v22.KeyPairsV22TestJSON.test_keypairsv22_create_list_show_with_type
+ - tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization
+ - tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token
diff --git a/etc/testcase/functest.tempest.trunk-ports.yml b/etc/testcase/functest.tempest.trunk-ports.yml
new file mode 100644
index 00000000..0434b912
--- /dev/null
+++ b/etc/testcase/functest.tempest.trunk-ports.yml
@@ -0,0 +1,70 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.neutron_trunk_ports:
+ name: functest.tempest.neutron_trunk_ports
+ objective: Run Neutron trunk port Tempest tests
+ validate:
+ type: functest
+ testcase: neutron_trunk
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/trunk_port_blacklist.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ - neutron_trunk/rally.log
+ - neutron_trunk/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.neutron_trunk_ports.functest.log
+ - tempest_logs/functest.tempest.neutron_trunk_ports.log
+ - tempest_logs/functest.tempest.neutron_trunk_ports.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.neutron_trunk_ports.html
+ sub_testcase_list:
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_add_subports
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_show_delete_trunk
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_trunk_empty_subports_list
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_trunk_subports_not_specified
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_delete_trunk_with_subport_is_allowed
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_get_subports
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_list_trunks
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_remove_subport
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_no_pagination_limit_0
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_asc
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_desc
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_with_marker
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_sorts_asc
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_sorts_desc
+ - neutron_tempest_plugin.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_empty_trunk_details
+ - neutron_tempest_plugin.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_trunk_details_no_subports
+ - neutron_tempest_plugin.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_trunk_details_with_subport
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_duplicate_segmentation_details
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_passing_dict
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_port_id_disabled_trunk
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_add_subport_port_id_uses_parent_port_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_missing_segmentation_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_nonexistent_port_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_nonexistent_trunk
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_duplicate_subport_segmentation_ids
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_nonexistent_port_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_nonexistent_subport_port_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_port_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_segmentation_id
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_segmentation_type
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_delete_port_in_use_by_subport
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_delete_port_in_use_by_trunk
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_delete_trunk_disabled_trunk
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_not_found
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_passing_dict
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_port_id_disabled_trunk
+ - neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_trunk_subport_lifecycle
diff --git a/etc/testcase/functest.tempest.vm_lifecycle.yml b/etc/testcase/functest.tempest.vm_lifecycle.yml
new file mode 100644
index 00000000..8939ad64
--- /dev/null
+++ b/etc/testcase/functest.tempest.vm_lifecycle.yml
@@ -0,0 +1,45 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.vm_lifecycle:
+ name: functest.tempest.vm_lifecycle
+ objective: correct behavior after common virtual machine life cycles events
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.vm_lifecycle.functest.log
+ - tempest_logs/functest.tempest.vm_lifecycle.log
+ - tempest_logs/functest.tempest.vm_lifecycle.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.vm_lifecycle.html
+ sub_testcase_list:
+ - tempest.scenario.test_minimum_basic.TestMinimumBasicScenario.test_minimum_basic_scenario[compute,id-bdbb5441-9204-419d-a225-b4fdbfb1a1a8,image,network,volume]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_cold_migration[compute,id-a4858f6c-401e-4155-9a49-d5cd053d1a2f,network,slow]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_pause_unpause[compute,id-2b2642db-6568-4b35-b812-eceed3fa20ce,network,slow]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_reboot[compute,id-7b6860c2-afa3-4846-9522-adeb38dfbe08,network,slow]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild[compute,id-88a529c2-1daa-4c85-9aec-d541ba3eb699,network,slow]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_resize[compute,id-719eb59d-2f42-4b66-b8b1-bb1254473967,network,slow]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_stop_start[compute,id-61f1aa9a-1573-410e-9054-afa557cab021,network,slow]
+ - tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_suspend_resume[compute,id-5cdf9499-541d-4923-804e-b9a60620a7f0,network,slow]
+ - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_volume_backed_server_confirm[id-e6c28180-7454-4b59-b188-0257af08a63b,volume]
+ - tempest.scenario.test_server_advanced_ops.TestServerAdvancedOps.test_server_sequence_suspend_resume[compute,id-949da7d5-72c8-4808-8802-e3d70df98e2c,slow]
+ - tempest.scenario.test_shelve_instance.TestShelveInstance.test_shelve_instance[compute,id-1164e700-0af0-4a4c-8792-35909a88743c,image,network,slow]
+ - tempest.scenario.test_shelve_instance.TestShelveInstance.test_shelve_volume_backed_instance[compute,id-c1b6318c-b9da-490b-9c67-9339b627271f,image,network,slow,volume]
diff --git a/etc/testcase/functest.tempest.volume.yml b/etc/testcase/functest.tempest.volume.yml
new file mode 100644
index 00000000..405716da
--- /dev/null
+++ b/etc/testcase/functest.tempest.volume.yml
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.tempest.volume:
+ name: functest.tempest.volume
+ objective: tempest smoke test cases about volume
+ validate:
+ type: functest
+ testcase: tempest_custom
+ pre_condition:
+ - 'cp /home/opnfv/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
+ - 'cp /home/opnfv/userconfig/tempest_custom_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ - 'cp /home/opnfv/functest/results/tempest_custom.txt /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt'
+ report:
+ source_archive_files:
+ - functest.log
+ - tempest_custom/rally.log
+ - tempest_custom/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/functest.tempest.volume.functest.log
+ - tempest_logs/functest.tempest.volume.log
+ - tempest_logs/functest.tempest.volume.html
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: tempest_logs/functest.tempest.volume.html
+ sub_testcase_list:
+ - tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_attach_detach_volume_to_instance[compute,id-fff42874-7db5-4487-a8e1-ddda5fb5288d,smoke]
+ - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern[compute,id-557cd2c2-4eb8-4dce-98be-f86765ff311b,image,slow,volume]
diff --git a/etc/testcase/functest.vnf.vepc.yml b/etc/testcase/functest.vnf.vepc.yml
new file mode 100644
index 00000000..7825c42f
--- /dev/null
+++ b/etc/testcase/functest.vnf.vepc.yml
@@ -0,0 +1,28 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.vnf.vepc:
+ name: functest.vnf.vepc
+ objective: Deploy a vEPC using Juju and perform EPC-specific test cases (e.g. attaching a UE to the EPC).
+ validate:
+ type: functest
+ testcase: juju_epc
+ image_name: opnfv/functest-vnf
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/vnf_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vnf_logs/functest.vnf.vepc.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: vnf_logs/functest.vnf.vepc.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.vnf.vims.yml b/etc/testcase/functest.vnf.vims.yml
new file mode 100644
index 00000000..17769ca3
--- /dev/null
+++ b/etc/testcase/functest.vnf.vims.yml
@@ -0,0 +1,28 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.vnf.vims:
+ name: functest.vnf.vims
+ objective: testing for Clearwater IMS deployment using Cloudify orchestrator
+ validate:
+ type: functest
+ testcase: cloudify_ims
+ image_name: opnfv/functest-vnf
+ pre_condition:
+ - 'cp /home/opnfv/userconfig/vnf_testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
+ report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vnf_logs/functest.vnf.vims.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: vnf_logs/functest.vnf.vims.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.vping.ssh.yml b/etc/testcase/functest.vping.ssh.yml
new file mode 100644
index 00000000..d0efb7e9
--- /dev/null
+++ b/etc/testcase/functest.vping.ssh.yml
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.vping.ssh:
+ name: functest.vping.ssh
+ objective: testing for vping using ssh
+ validate:
+ type: functest
+ testcase: vping_ssh
+ image_name: opnfv/functest-healthcheck
+ report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vping_logs/functest.vping.ssh.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: vping_logs/functest.vping.ssh.log
+ sub_testcase_list:
diff --git a/etc/testcase/functest.vping.userdata.yml b/etc/testcase/functest.vping.userdata.yml
new file mode 100644
index 00000000..d98c19ec
--- /dev/null
+++ b/etc/testcase/functest.vping.userdata.yml
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+functest.vping.userdata:
+ name: functest.vping.userdata
+ objective: testing for vping using userdata
+ validate:
+ type: functest
+ testcase: vping_userdata
+ image_name: opnfv/functest-healthcheck
+ report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vping_logs/functest.vping.userdata.log
+ check_results_files:
+ - 'functest_results.txt'
+ portal_key_file: vping_logs/functest.vping.userdata.log
+ sub_testcase_list:
diff --git a/etc/testcase/onap-vtp.validate.csar.yml b/etc/testcase/onap-vtp.validate.csar.yml
new file mode 100644
index 00000000..ed8f32ed
--- /dev/null
+++ b/etc/testcase/onap-vtp.validate.csar.yml
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+onap-vtp.validate.csar:
+ name: onap-vtp.validate.csar
+ objective: onap csar validation
+ vnf_type: tosca
+ validate:
+ type: onap-vtp
+ testcase: csar-validate
+ report:
+ source_archive_files:
+ - onap-vtp.validate.csar.out
+ dest_archive_files:
+ - onap-vtp_logs/onap-vtp.validate.csar.out
+ check_results_files:
+ - onap-vtp_logs/onap-vtp.validate.csar.out
+ portal_key_file: onap-vtp_logs/onap-vtp.validate.csar.out
+ sub_testcase_list:
diff --git a/etc/testcase/onap-vvp.validate.heat.yml b/etc/testcase/onap-vvp.validate.heat.yml
new file mode 100644
index 00000000..a166bdc6
--- /dev/null
+++ b/etc/testcase/onap-vvp.validate.heat.yml
@@ -0,0 +1,28 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+onap-vvp.validate.heat:
+ name: onap-vvp.validate.heat
+ objective: onap heat template validation
+ vnf_type: heat
+ validate:
+ type: onap-vvp
+ testcase: ice_validator
+ report:
+ source_archive_files:
+ - failures
+ - report.json
+ dest_archive_files:
+ - onap-vvp_logs/failures
+ - onap-vvp_logs/report.json
+ check_results_files:
+ - onap-vvp_logs/report.json
+ portal_key_file: onap-vvp_logs/report.json
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.cinder_api.yml b/etc/testcase/yardstick.ha.cinder_api.yml
new file mode 100644
index 00000000..e6162739
--- /dev/null
+++ b/etc/testcase/yardstick.ha.cinder_api.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.cinder_api:
+ name: yardstick.ha.cinder_api
+ objective: >
+ This test case will verify the high availability of the
+ volume service provided by OpenStack (cinder-api) on control node.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc048
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.cinder_api.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.cinder_api.log
+ - ha_logs/yardstick.ha.cinder_api.out
+ check_results_files:
+ - ha_logs/yardstick.ha.cinder_api.out
+ portal_key_file: ha_logs/yardstick.ha.cinder_api.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.controller_restart.yml b/etc/testcase/yardstick.ha.controller_restart.yml
new file mode 100644
index 00000000..dddf89b7
--- /dev/null
+++ b/etc/testcase/yardstick.ha.controller_restart.yml
@@ -0,0 +1,27 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.controller_restart:
+ name: yardstick.ha.controller_restart
+ objective: OpenStack Controll Node abnormally shutdown.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc025
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.controller_restart.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.controller_restart.log
+ - ha_logs/yardstick.ha.controller_restart.out
+ check_results_files:
+ - ha_logs/yardstick.ha.controller_restart.out
+ portal_key_file: ha_logs/yardstick.ha.controller_restart.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.cpu_load.yml b/etc/testcase/yardstick.ha.cpu_load.yml
new file mode 100644
index 00000000..86c25091
--- /dev/null
+++ b/etc/testcase/yardstick.ha.cpu_load.yml
@@ -0,0 +1,32 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.cpu_load:
+ name: yardstick.ha.cpu_load
+ objective: >
+ This test case will verify the high availability of control node.
+ When the CPU usage of a specified controller node is stressed to 100%,
+ which breaks down the Openstack services on this node. These Openstack service
+ should able to be accessed by other controller nodes, and the services on
+ failed controller node should be isolated.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc051
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.cpu_load.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.cpu_load.log
+ - ha_logs/yardstick.ha.cpu_load.out
+ check_results_files:
+ - ha_logs/yardstick.ha.cpu_load.out
+ portal_key_file: ha_logs/yardstick.ha.cpu_load.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.database.yml b/etc/testcase/yardstick.ha.database.yml
new file mode 100644
index 00000000..ea0a6d49
--- /dev/null
+++ b/etc/testcase/yardstick.ha.database.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.database:
+ name: yardstick.ha.database
+ objective: >
+ This test case verifies the high-availability of the OpenStack
+ controller database instance.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc090
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.database.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.database.log
+ - ha_logs/yardstick.ha.database.out
+ check_results_files:
+ - ha_logs/yardstick.ha.database.out
+ portal_key_file: ha_logs/yardstick.ha.database.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.disk_load.yml b/etc/testcase/yardstick.ha.disk_load.yml
new file mode 100644
index 00000000..6969984c
--- /dev/null
+++ b/etc/testcase/yardstick.ha.disk_load.yml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.disk_load:
+ name: yardstick.ha.disk_load
+ objective: >
+ This test case will verify the high availability of control node.
+ When the disk I/O of a specified disk is blocked, which breaks down the Openstack
+ services on this node. Read and write services should still be accessed by other
+ controller nodes, and the services on failed controller node should be isolated.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc052
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.disk_load.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.disk_load.log
+ - ha_logs/yardstick.ha.disk_load.out
+ check_results_files:
+ - ha_logs/yardstick.ha.disk_load.out
+ portal_key_file: ha_logs/yardstick.ha.disk_load.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.glance_api.yml b/etc/testcase/yardstick.ha.glance_api.yml
new file mode 100644
index 00000000..bbce399e
--- /dev/null
+++ b/etc/testcase/yardstick.ha.glance_api.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.glance_api:
+ name: yardstick.ha.glance_api
+ objective: >
+ This test case will verify the high availability of the
+ image service provided by OpenStack (glance-api) on control node.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc047
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.glance_api.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.glance_api.log
+ - ha_logs/yardstick.ha.glance_api.out
+ check_results_files:
+ - ha_logs/yardstick.ha.glance_api.out
+ portal_key_file: ha_logs/yardstick.ha.glance_api.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.haproxy.yml b/etc/testcase/yardstick.ha.haproxy.yml
new file mode 100644
index 00000000..16748dbe
--- /dev/null
+++ b/etc/testcase/yardstick.ha.haproxy.yml
@@ -0,0 +1,32 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.haproxy:
+ name: yardstick.ha.haproxy
+ objective: >
+ This test case will verify the high availability of the load balance
+ service(current is HAProxy) that supports OpenStack on controller node. When the
+ load balance service of a specified controller node is killed, whether other
+ load balancers on other controller nodes will work, and whether the controller node
+ will restart the load balancer are checked.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc053
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.haproxy.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.haproxy.log
+ - ha_logs/yardstick.ha.haproxy.out
+ check_results_files:
+ - ha_logs/yardstick.ha.haproxy.out
+ portal_key_file: ha_logs/yardstick.ha.haproxy.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.keystone.yml b/etc/testcase/yardstick.ha.keystone.yml
new file mode 100644
index 00000000..31d84aab
--- /dev/null
+++ b/etc/testcase/yardstick.ha.keystone.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.keystone:
+ name: yardstick.ha.keystone
+ objective: >
+ This test case will verify the high availability of the
+ user service provided by OpenStack (keystone) on control node.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc046
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.keystone.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.keystone.log
+ - ha_logs/yardstick.ha.keystone.out
+ check_results_files:
+ - ha_logs/yardstick.ha.keystone.out
+ portal_key_file: ha_logs/yardstick.ha.keystone.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.neutron_l3_agent.yml b/etc/testcase/yardstick.ha.neutron_l3_agent.yml
new file mode 100644
index 00000000..0af89646
--- /dev/null
+++ b/etc/testcase/yardstick.ha.neutron_l3_agent.yml
@@ -0,0 +1,43 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.neutron_l3_agent:
+ name: yardstick.ha.neutron_l3_agent
+ objective: OpenStack Controller Virtual Router Service High Availability.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc058
+ pre_condition:
+ - 'source /etc/yardstick/openstack.creds &&
+ openstack --insecure image create neutron-l3-agent_ha_image
+ --disk-format qcow2 --container-format bare --public
+ --file /home/opnfv/images/cirros-0.4.0-x86_64-disk.img &&
+ openstack --insecure flavor create --ram 512 --vcpu 1 --disk 1 neutron-l3-agent_ha_flavor'
+ cmds:
+ - "cd /home/opnfv/repos/yardstick && source /etc/yardstick/openstack.creds &&
+ yardstick task start tests/opnfv/test_cases/{{validate_testcase}}.yaml
+ --output-file /tmp/yardstick/{{testcase}}.out
+ --task-args '{'file': '/etc/yardstick/pod.yaml',
+ 'image': 'neutron-l3-agent_ha_image', 'flavor': 'neutron-l3-agent_ha_flavor'}'"
+ post_condition:
+ - 'source /etc/yardstick/openstack.creds &&
+ openstack --insecure image delete neutron-l3-agent_ha_image &&
+ openstack --insecure flavor delete neutron-l3-agent_ha_flavor'
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.neutron_l3_agent.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.neutron_l3_agent.log
+ - ha_logs/yardstick.ha.neutron_l3_agent.out
+ check_results_files:
+ - ha_logs/yardstick.ha.neutron_l3_agent.out
+ portal_key_file: ha_logs/yardstick.ha.neutron_l3_agent.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.neutron_server.yml b/etc/testcase/yardstick.ha.neutron_server.yml
new file mode 100644
index 00000000..d700294c
--- /dev/null
+++ b/etc/testcase/yardstick.ha.neutron_server.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.neutron_server:
+ name: yardstick.ha.neutron_server
+ objective: >
+ This test case will verify the high availability of the
+ network service provided by OpenStack (neutro-server) on control node.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc045
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.neutron_server.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.neutron_server.log
+ - ha_logs/yardstick.ha.neutron_server.out
+ check_results_files:
+ - ha_logs/yardstick.ha.neutron_server.out
+ portal_key_file: ha_logs/yardstick.ha.neutron_server.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.nova_api.yml b/etc/testcase/yardstick.ha.nova_api.yml
new file mode 100644
index 00000000..91f1a609
--- /dev/null
+++ b/etc/testcase/yardstick.ha.nova_api.yml
@@ -0,0 +1,29 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.nova_api:
+ name: yardstick.ha.nova_api
+ objective: >
+ This test case will verify the high availability
+ of the service provided by OpenStack (like nova-api, neutro-server) on control node.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc019
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.nova_api.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.nova_api.log
+ - ha_logs/yardstick.ha.nova_api.out
+ check_results_files:
+ - ha_logs/yardstick.ha.nova_api.out
+ portal_key_file: ha_logs/yardstick.ha.nova_api.log
+ sub_testcase_list:
diff --git a/etc/testcase/yardstick.ha.rabbitmq.yml b/etc/testcase/yardstick.ha.rabbitmq.yml
new file mode 100644
index 00000000..447f0270
--- /dev/null
+++ b/etc/testcase/yardstick.ha.rabbitmq.yml
@@ -0,0 +1,27 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+yardstick.ha.rabbitmq:
+ name: yardstick.ha.rabbitmq
+ objective: OpenStack Controller Messaging Queue Service High Availability.
+ validate:
+ type: yardstick
+ testcase: opnfv_yardstick_tc056
+ report:
+ source_archive_files:
+ - yardstick.log
+ - yardstick.ha.rabbitmq.out
+ dest_archive_files:
+ - ha_logs/yardstick.ha.rabbitmq.log
+ - ha_logs/yardstick.ha.rabbitmq.out
+ check_results_files:
+ - ha_logs/yardstick.ha.rabbitmq.out
+ portal_key_file: ha_logs/yardstick.ha.rabbitmq.log
+ sub_testcase_list:
diff --git a/etc/userconfig/ansible.cfg b/etc/userconfig/ansible.cfg
new file mode 100644
index 00000000..15e9c250
--- /dev/null
+++ b/etc/userconfig/ansible.cfg
@@ -0,0 +1,11 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+[defaults]
+host_key_checking = False
diff --git a/etc/userconfig/env_config.sh.onap.sample b/etc/userconfig/env_config.sh.onap.sample
new file mode 100644
index 00000000..81363e48
--- /dev/null
+++ b/etc/userconfig/env_config.sh.onap.sample
@@ -0,0 +1,22 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+## Special environment parameters for TOSCA validation tests.
+
+# The url under which the VNF SDK container is accessible through the host.
+export HOST_URL="http://<docker host ip>:8702"
+
+# Absolute path of the CSAR file in container 'refrepo'.
+export CSAR_FILE="/opt/test.csar"
+
+## Special environment parameters for Heat validation tests.
+
+# The VNF archive should be zip file and put at $DOVETAIL_HOME/pre_config.
+# Here should give the name without postfix .zip.
+export VNF_ARCHIVE_NAME="vnf_archive_name"
diff --git a/etc/userconfig/env_config.sh.sample b/etc/userconfig/env_config.sh.sample
new file mode 100644
index 00000000..3909427e
--- /dev/null
+++ b/etc/userconfig/env_config.sh.sample
@@ -0,0 +1,41 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Project-level authentication scope (name or ID), recommend admin project.
+export OS_PROJECT_NAME=admin
+
+# Authentication username, belongs to the project above, recommend admin user.
+export OS_USERNAME=admin
+
+# Authentication password. Use your own password
+export OS_PASSWORD=xxxxxxxx
+
+# Authentication URL, one of the endpoints of keystone service. If this is v3 version,
+# there need some extra variables as follows.
+export OS_AUTH_URL='http://xxx.xxx.xxx.xxx:5000/v3'
+
+# Default is 2.0. If use keystone v3 API, this should be set as 3.
+export OS_IDENTITY_API_VERSION=3
+
+# Domain name or ID containing the user above.
+# Command to check the domain: openstack user show <OS_USERNAME>
+export OS_USER_DOMAIN_NAME=default
+
+# Domain name or ID containing the project above.
+# Command to check the domain: openstack project show <OS_PROJECT_NAME>
+export OS_PROJECT_DOMAIN_NAME=default
+
+# Special environment parameters for https.
+# If using https + cacert, the path of cacert file should be provided.
+# The cacert file should be put at $DOVETAIL_HOME/pre_config.
+#export OS_CACERT=/path/to/pre_config/cacert.pem
+
+# If using https + no cacert, should add OS_INSECURE environment parameter.
+#export OS_INSECURE=True
+
diff --git a/etc/userconfig/hosts.yaml.sample b/etc/userconfig/hosts.yaml.sample
new file mode 100644
index 00000000..445711db
--- /dev/null
+++ b/etc/userconfig/hosts.yaml.sample
@@ -0,0 +1,16 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+hosts_info:
+ 192.168.141.101:
+ - ha-vip
+ <ip>:
+ - <hostname1>
+ - <hostname2>
diff --git a/etc/userconfig/patrole_blacklist.yaml b/etc/userconfig/patrole_blacklist.yaml
new file mode 100644
index 00000000..8fb99fee
--- /dev/null
+++ b/etc/userconfig/patrole_blacklist.yaml
@@ -0,0 +1,37 @@
+---
+-
+ scenarios:
+ - (.*)
+ tests:
+ # need metering extension, otherwise the following 6 sub test cases will skip
+ - patrole_tempest_plugin.tests.api.network.test_metering_label_rules_rbac.MeteringLabelRulesRbacTest.test_create_metering_label_rule
+ - patrole_tempest_plugin.tests.api.network.test_metering_label_rules_rbac.MeteringLabelRulesRbacTest.test_delete_metering_label_rule
+ - patrole_tempest_plugin.tests.api.network.test_metering_label_rules_rbac.MeteringLabelRulesRbacTest.test_show_metering_label_rule
+ - patrole_tempest_plugin.tests.api.network.test_metering_labels_rbac.MeteringLabelsRbacTest.test_create_metering_label
+ - patrole_tempest_plugin.tests.api.network.test_metering_labels_rbac.MeteringLabelsRbacTest.test_delete_metering_label
+ - patrole_tempest_plugin.tests.api.network.test_metering_labels_rbac.MeteringLabelsRbacTest.test_show_metering_label
+ # need image type 'shared' and 'community' which were added in the Image API v2.5
+ - patrole_tempest_plugin.tests.api.image.test_images_member_rbac.ImagesMemberRbacTest.test_update_image_member
+ - patrole_tempest_plugin.tests.api.image.test_images_rbac.BasicOperationsImagesRbacTest.test_communitize_image
+ # need l3_agent_scheduler extension which may not enabled on some SUTs with odl
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.L3AgentSchedulerRbacTest.test_create_router_on_l3_agent
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.L3AgentSchedulerRbacTest.test_delete_router_from_l3_agent
+ - patrole_tempest_plugin.tests.api.network.test_agents_rbac.L3AgentSchedulerRbacTest.test_list_routers_on_l3_agent
+ # need network extension: dvr, otherwise the following 3 sub test cases will skip
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_create_distributed_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_show_distributed_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_distributed_router
+ # need network extension: l3-ha which may not enabled on some SUTs with odl
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_create_high_availability_router
+ - patrole_tempest_plugin.tests.api.network.test_routers_rbac.RouterRbacTest.test_update_high_availability_router
+ # need segment extension, otherwise the following 4 sub test cases will skip
+ - patrole_tempest_plugin.tests.api.network.test_segments_rbac.SegmentsPluginRbacTest.test_create_segment
+ - patrole_tempest_plugin.tests.api.network.test_segments_rbac.SegmentsPluginRbacTest.test_delete_segment
+ - patrole_tempest_plugin.tests.api.network.test_segments_rbac.SegmentsPluginRbacTest.test_show_segment
+ - patrole_tempest_plugin.tests.api.network.test_segments_rbac.SegmentsPluginRbacTest.test_update_segment
+ # need flat provider network type
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_physical_network
+ # need vxlan provider network type
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_update_network_provider_network_type
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_network_type
+ - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_segmentation_id
diff --git a/etc/userconfig/pod.yaml.sample b/etc/userconfig/pod.yaml.sample
new file mode 100644
index 00000000..71b276a5
--- /dev/null
+++ b/etc/userconfig/pod.yaml.sample
@@ -0,0 +1,76 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# sample config file about the POD information, including the
+# name/IP/user/ssh key and Controllers/Computes
+#
+# The options of this config file include:
+# name: the name of this node
+# role: node's role, support role: Master/Controller/Comupte/BareMetal
+# ip: the node's IP address
+# user: the username for login
+# key_filename:the path of the private key file for login
+
+nodes:
+-
+ name: node1
+ role: Controller
+ ip: 10.1.0.50
+ user: root
+ key_filename: /root/.ssh/id_rsa
+-
+ name: node2
+ role: Controller
+ ip: 10.1.0.51
+ user: root
+ key_filename: /root/.ssh/id_rsa
+-
+ name: node3
+ role: Controller
+ ip: 10.1.0.52
+ user: root
+ key_filename: /root/.ssh/id_rsa
+-
+ name: node4
+ role: Compute
+ ip: 10.1.0.53
+ user: root
+ key_filename: /root/.ssh/id_rsa
+-
+ name: node5
+ role: Compute
+ ip: 10.1.0.54
+ user: root
+ key_filename: /root/.ssh/id_rsa
+
+# The options of this section include:
+# testcase_name: the name of test case
+# attack_process: the name of the process this test case attempt to kill
+# attack_host: one of the hosts given in section 'nodes' which is the primary host of attack_process
+#
+# if not set, it will use the default value of yardstick test case config
+# the default attack_host of all test cases is 'node1'
+# the default attack_process of all test cases are
+# dovetail.ha.tc001: nova-api
+# dovetail.ha.tc002: neutron-server
+# dovetail.ha.tc003: keystone
+# dovetail.ha.tc004: glance-api
+# dovetail.ha.tc005: cinder-api
+# dovetail.ha.tc008: haproxy
+# dovetail.ha.tc010: rabbitmq-server
+# dovetail.ha.tc011: neutron-l3-agent
+
+# process_info:
+# -
+# testcase_name: dovetail.ha.tc008
+# attack_host: node2
+#
+# -
+# testcase_name: dovetail.ha.tc010
+# attack_process: rabbitmq
diff --git a/etc/userconfig/rally_authenticate_testcases.yaml b/etc/userconfig/rally_authenticate_testcases.yaml
new file mode 100644
index 00000000..e2e67446
--- /dev/null
+++ b/etc/userconfig/rally_authenticate_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Authenticate scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'authenticate'
diff --git a/etc/userconfig/rally_cinder_testcases.yaml b/etc/userconfig/rally_cinder_testcases.yaml
new file mode 100644
index 00000000..245b1285
--- /dev/null
+++ b/etc/userconfig/rally_cinder_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Cinder scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'cinder'
diff --git a/etc/userconfig/rally_glance_testcases.yaml b/etc/userconfig/rally_glance_testcases.yaml
new file mode 100644
index 00000000..abaead70
--- /dev/null
+++ b/etc/userconfig/rally_glance_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Glance scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'glance'
diff --git a/etc/userconfig/rally_gnocchi_testcases.yaml b/etc/userconfig/rally_gnocchi_testcases.yaml
new file mode 100644
index 00000000..378b5f59
--- /dev/null
+++ b/etc/userconfig/rally_gnocchi_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Gnocchi scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'gnocchi'
diff --git a/etc/userconfig/rally_heat_testcases.yaml b/etc/userconfig/rally_heat_testcases.yaml
new file mode 100644
index 00000000..311d4f3f
--- /dev/null
+++ b/etc/userconfig/rally_heat_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Heat scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'heat'
diff --git a/etc/userconfig/rally_keystone_testcases.yaml b/etc/userconfig/rally_keystone_testcases.yaml
new file mode 100644
index 00000000..6a60ca7c
--- /dev/null
+++ b/etc/userconfig/rally_keystone_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Keystone scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'keystone'
diff --git a/etc/userconfig/rally_neutron_testcases.yaml b/etc/userconfig/rally_neutron_testcases.yaml
new file mode 100644
index 00000000..66a7b030
--- /dev/null
+++ b/etc/userconfig/rally_neutron_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Neutron scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'neutron'
diff --git a/etc/userconfig/rally_nova_testcases.yaml b/etc/userconfig/rally_nova_testcases.yaml
new file mode 100644
index 00000000..8c54de21
--- /dev/null
+++ b/etc/userconfig/rally_nova_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Nova scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'nova'
diff --git a/etc/userconfig/rally_quotas_testcases.yaml b/etc/userconfig/rally_quotas_testcases.yaml
new file mode 100644
index 00000000..add0cca5
--- /dev/null
+++ b/etc/userconfig/rally_quotas_testcases.yaml
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: components
+ order: 1
+ description: >-
+ Run several OpenStack performance tools
+ https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+ testcases:
+ -
+ case_name: rally_full
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case runs the Quotas scenarios of the
+ OpenStack Rally suite using several threads and iterations.
+ run:
+ name: rally_full
+ args:
+ tests:
+ - 'quotas'
diff --git a/etc/userconfig/tempest_conf.yaml.sample b/etc/userconfig/tempest_conf.yaml.sample
new file mode 100644
index 00000000..43a2a76b
--- /dev/null
+++ b/etc/userconfig/tempest_conf.yaml.sample
@@ -0,0 +1,25 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# This is an empty configuration file to be filled up with the desired options
+# to generate a custom tempest.conf
+# Examples:
+# network-feature-enabled:
+# port_security: True
+
+# volume-feature-enabled:
+# api_v1: False
+
+# validation:
+# image_ssh_user: root
+# ssh_timeout: 300
+
+# compute:
+# min_compute_nodes: 2
+# volume_device_name: vdb
diff --git a/etc/userconfig/tempest_custom_testcases.yaml b/etc/userconfig/tempest_custom_testcases.yaml
new file mode 100644
index 00000000..03170b40
--- /dev/null
+++ b/etc/userconfig/tempest_custom_testcases.yaml
@@ -0,0 +1,34 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: smoke
+ order: 1
+ description: >-
+ Set of basic Functional tests to validate the OPNFV scenarios.
+ testcases:
+ -
+ case_name: tempest_custom
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ The test case allows running a customized list of tempest
+ test cases defined in a file under
+ <dir_functest_repo>/functest/opnfv_tests/openstack/
+ /tempest/custom_tests/test_list.txt
+ The file is empty and can be customized with the desired tests.
+ run:
+ name: tempest_common
+ args:
+ mode: 'custom'
+ option:
+ - '--concurrency=4'
diff --git a/etc/userconfig/testcases.yaml b/etc/userconfig/testcases.yaml
new file mode 100644
index 00000000..440807bb
--- /dev/null
+++ b/etc/userconfig/testcases.yaml
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: smoke
+ order: 1
+ ci_loop: '(daily)|(weekly)'
+ description: >-
+ Set of basic Functional tests to validate the OPNFV scenarios.
+ testcases:
+ -
+ case_name: tempest_custom
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ The test case allows running a customized list of tempest
+ test cases defined in a file under
+ <dir_functest_repo>/functest/opnfv_tests/openstack/
+ /tempest/custom_tests/test_list.txt
+ The file is empty and can be customized with the desired tests.
+ dependencies:
+ installer: ''
+ scenario: ''
+ run:
+ module: 'functest.opnfv_tests.openstack.tempest.tempest'
+ class: 'TempestCustom'
diff --git a/etc/userconfig/trunk_port_blacklist.yaml b/etc/userconfig/trunk_port_blacklist.yaml
new file mode 100644
index 00000000..bf4cfe08
--- /dev/null
+++ b/etc/userconfig/trunk_port_blacklist.yaml
@@ -0,0 +1,28 @@
+---
+-
+ scenarios:
+ - (.*)
+ tests:
+ # need VLAN type driver, otherwise the following 1 sub test case will skip
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestInheritJSONBase.test_add_subport
+ # need vxlan type driver, otherwise the following 1 sub test case will skip
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestJSON.test_create_subport_invalid_inherit_network_segmentation_type
+ # need vxlan or gre type driver, otherwise the following 6 sub test case will skip
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_add_subport_with_mtu_equal_to_trunk
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_add_subport_with_mtu_greater_than_subport
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_create_trunk_with_mtu_equal_to_subport
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestMtusJSON.test_create_trunk_with_mtu_greater_than_subport
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestMtusJSON.test_add_subport_with_mtu_greater_than_trunk
+ - neutron_tempest_plugin.api.test_trunk_negative.TrunkTestMtusJSON.test_create_trunk_with_mtu_smaller_than_subport
+ # advanced image is required to run this test, otherwise the following 2 sub test case will skip
+ - neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_parent_port_connectivity_after_trunk_deleted_lb
+ - neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity
+ # key 'revision_number' is a new extension for Newton and not support by Mitaka
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_update_trunk
+ # extension 'project-id' is a new extension for Newton
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_show_trunk_has_project_id
+ # Can not work correctly on Mitaka
+ - neutron_tempest_plugin.api.test_trunk.TrunkTestJSON.test_create_update_trunk_with_description
+ # Remove neutron trunk test cases with href links
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links
+ - neutron_tempest_plugin.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_with_href_links
diff --git a/etc/userconfig/vnf_testcases.yaml b/etc/userconfig/vnf_testcases.yaml
new file mode 100644
index 00000000..21586ab6
--- /dev/null
+++ b/etc/userconfig/vnf_testcases.yaml
@@ -0,0 +1,39 @@
+##############################################################################
+# Copyright (c) 2019 opnfv.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+---
+tiers:
+ -
+ name: vnf
+ order: 5
+ description: >-
+ Collection of VNF test cases.
+ testcases:
+ -
+ case_name: cloudify_ims
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ This test case deploys an OpenSource vIMS solution from
+ Clearwater using the Cloudify orchestrator. It also runs
+ some signaling traffic.
+ run:
+ name: cloudify_ims
+
+ -
+ case_name: juju_epc
+ project_name: functest
+ criteria: 100
+ blocking: false
+ description: >-
+ vEPC validation with Juju as VNF manager and ABoT as test
+ executor.
+ run:
+ name: juju_epc