Merge "Skip snaphost tests unless snapshot feature is enabled"
diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst
index ed0a09f..6a1f8b4 100644
--- a/releasenotes/source/index.rst
+++ b/releasenotes/source/index.rst
@@ -6,6 +6,9 @@
:maxdepth: 1
unreleased
+ v29.0.0
+ v28.1.0
+ v28.0.0
v27.0.0
v26.1.0
v26.0.0
diff --git a/releasenotes/source/v28.0.0.rst b/releasenotes/source/v28.0.0.rst
new file mode 100644
index 0000000..19d4218
--- /dev/null
+++ b/releasenotes/source/v28.0.0.rst
@@ -0,0 +1,5 @@
+=====================
+v28.0.0 Release Notes
+=====================
+.. release-notes:: 28.0.0 Release Notes
+ :version: 28.0.0
diff --git a/releasenotes/source/v28.1.0.rst b/releasenotes/source/v28.1.0.rst
new file mode 100644
index 0000000..3cc3478
--- /dev/null
+++ b/releasenotes/source/v28.1.0.rst
@@ -0,0 +1,5 @@
+=====================
+v28.1.0 Release Notes
+=====================
+.. release-notes:: 28.1.0 Release Notes
+ :version: 28.1.0
diff --git a/releasenotes/source/v29.0.0.rst b/releasenotes/source/v29.0.0.rst
new file mode 100644
index 0000000..d367a59
--- /dev/null
+++ b/releasenotes/source/v29.0.0.rst
@@ -0,0 +1,5 @@
+=====================
+v29.0.0 Release Notes
+=====================
+.. release-notes:: 29.0.0 Release Notes
+ :version: 29.0.0
diff --git a/tempest/api/network/test_ports.py b/tempest/api/network/test_ports.py
index 63078cd..190f7e0 100644
--- a/tempest/api/network/test_ports.py
+++ b/tempest/api/network/test_ports.py
@@ -51,7 +51,8 @@
def _create_subnet(self, network, gateway='',
cidr=None, mask_bits=None, **kwargs):
- subnet = self.create_subnet(network, gateway, cidr, mask_bits)
+ subnet = self.create_subnet(
+ network, gateway, cidr, mask_bits, **kwargs)
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.subnets_client.delete_subnet, subnet['id'])
return subnet
diff --git a/tempest/scenario/test_minbw_allocation_placement.py b/tempest/scenario/test_minbw_allocation_placement.py
index 55b8d15..81bd24d 100644
--- a/tempest/scenario/test_minbw_allocation_placement.py
+++ b/tempest/scenario/test_minbw_allocation_placement.py
@@ -146,11 +146,8 @@
resources1='%s:%s' % (self.INGRESS_RESOURCE_CLASS,
self.SMALLEST_POSSIBLE_BW))
if len(alloc_candidates['provider_summaries']) == 0:
- # Skip if the backend does not support QoS minimum bandwidth
- # allocation in Placement API
- raise self.skipException(
- 'No allocation candidates are available for %s:%s' %
- (self.INGRESS_RESOURCE_CLASS, self.SMALLEST_POSSIBLE_BW))
+ self.fail('No allocation candidates are available for %s:%s' %
+ (self.INGRESS_RESOURCE_CLASS, self.SMALLEST_POSSIBLE_BW))
# Just to be sure check with impossible high (placement max_int),
# allocation
diff --git a/tempest/scenario/test_network_basic_ops.py b/tempest/scenario/test_network_basic_ops.py
index add5c32..cbe8c20 100644
--- a/tempest/scenario/test_network_basic_ops.py
+++ b/tempest/scenario/test_network_basic_ops.py
@@ -329,13 +329,16 @@
floating_ip, server = self.floating_ip_tuple
# get internal ports' ips:
# get all network and compute ports in the new network
+ # NOTE(ralonsoh): device_owner="network:distributed" ports are OVN
+ # metadata ports and should be filtered out.
internal_ips = (
p['fixed_ips'][0]['ip_address'] for p in
self.os_admin.ports_client.list_ports(
project_id=server['tenant_id'],
network_id=network['id'])['ports']
- if p['device_owner'].startswith('network') or
- p['device_owner'].startswith('compute')
+ if ((p['device_owner'].startswith('network') and
+ not p['device_owner'] == 'network:distributed') or
+ p['device_owner'].startswith('compute'))
)
self._check_server_connectivity(floating_ip,
diff --git a/tempest/tests/lib/cmd/test_check_uuid.py b/tempest/tests/lib/cmd/test_check_uuid.py
index 403de38..edfb2c8 100644
--- a/tempest/tests/lib/cmd/test_check_uuid.py
+++ b/tempest/tests/lib/cmd/test_check_uuid.py
@@ -28,37 +28,33 @@
" def test_tests(self):\n" \
" pass"
- def create_tests_file(self, directory):
- init_file = open(directory + "/__init__.py", "w")
+ def setUp(self):
+ super(TestCLInterface, self).setUp()
+ self.directory = tempfile.mkdtemp(prefix='check-uuid', dir=".")
+ self.addCleanup(shutil.rmtree, self.directory, ignore_errors=True)
+
+ init_file = open(self.directory + "/__init__.py", "w")
init_file.close()
- tests_file = directory + "/tests.py"
- with open(tests_file, "w") as fake_file:
+ self.tests_file = self.directory + "/tests.py"
+ with open(self.tests_file, "w") as fake_file:
fake_file.write(TestCLInterface.CODE)
fake_file.close()
- return tests_file
-
def test_fix_argument_no(self):
- temp_dir = tempfile.mkdtemp(prefix='check-uuid-no', dir=".")
- self.addCleanup(shutil.rmtree, temp_dir, ignore_errors=True)
- tests_file = self.create_tests_file(temp_dir)
sys.argv = [sys.argv[0]] + ["--package",
- os.path.relpath(temp_dir)]
+ os.path.relpath(self.directory)]
self.assertRaises(SystemExit, check_uuid.run)
- with open(tests_file, "r") as f:
+ with open(self.tests_file, "r") as f:
self.assertTrue(TestCLInterface.CODE == f.read())
def test_fix_argument_yes(self):
- temp_dir = tempfile.mkdtemp(prefix='check-uuid-yes', dir=".")
- self.addCleanup(shutil.rmtree, temp_dir, ignore_errors=True)
- tests_file = self.create_tests_file(temp_dir)
sys.argv = [sys.argv[0]] + ["--fix", "--package",
- os.path.relpath(temp_dir)]
+ os.path.relpath(self.directory)]
check_uuid.run()
- with open(tests_file, "r") as f:
+ with open(self.tests_file, "r") as f:
self.assertTrue(TestCLInterface.CODE != f.read())
diff --git a/zuul.d/integrated-gate.yaml b/zuul.d/integrated-gate.yaml
index 2faaa29..5bbb5e1 100644
--- a/zuul.d/integrated-gate.yaml
+++ b/zuul.d/integrated-gate.yaml
@@ -82,21 +82,9 @@
GLANCE_USE_IMPORT_WORKFLOW: True
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
- devstack_local_conf:
- post-config:
- "/$NEUTRON_CORE_PLUGIN_CONF":
- ovs:
- bridge_mappings: public:br-ex
- resource_provider_bandwidths: br-ex:1000000:1000000
- test-config:
- $TEMPEST_CONFIG:
- network-feature-enabled:
- qos_placement_physnet: public
devstack_services:
# Enbale horizon so that we can run horizon test.
horizon: true
- neutron-placement: true
- neutron-qos: true
- job:
name: tempest-integrated-networking
@@ -229,30 +217,12 @@
USE_PYTHON3: true
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
- devstack_local_conf:
- post-config:
- "/$NEUTRON_CORE_PLUGIN_CONF":
- ovs:
- bridge_mappings: public:br-ex
- resource_provider_bandwidths: br-ex:1000000:1000000
- test-config:
- $TEMPEST_CONFIG:
- network-feature-enabled:
- qos_placement_physnet: public
devstack_services:
- neutron-placement: true
- neutron-qos: true
neutron-trunk: true
group-vars:
subnode:
devstack_localrc:
USE_PYTHON3: true
- devstack_local_conf:
- post-config:
- "/$NEUTRON_CORE_PLUGIN_CONF":
- ovs:
- bridge_mappings: public:br-ex
- resource_provider_bandwidths: br-ex:1000000:1000000
- job:
name: tempest-slow