Merge "Add Tempest gate job for stable/xena"
diff --git a/tempest/api/compute/volumes/test_attach_volume.py b/tempest/api/compute/volumes/test_attach_volume.py
index 7251e36..4c7c234 100644
--- a/tempest/api/compute/volumes/test_attach_volume.py
+++ b/tempest/api/compute/volumes/test_attach_volume.py
@@ -455,6 +455,8 @@
@utils.services('image')
@decorators.idempotent_id('885ac48a-2d7a-40c5-ae8b-1993882d724c')
+ @testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
+ 'Snapshotting is not available.')
def test_snapshot_volume_backed_multiattach(self):
"""Boots a server from a multiattach volume and snapshots the server.
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/api/object_storage/test_container_sync.py b/tempest/api/object_storage/test_container_sync.py
index 276b826..6b1f849 100644
--- a/tempest/api/object_storage/test_container_sync.py
+++ b/tempest/api/object_storage/test_container_sync.py
@@ -58,6 +58,7 @@
# Default container-server config only allows localhost
cls.local_ip = '127.0.0.1'
+ cls.local_ip_v6 = '[::1]'
# Must be configure according to container-sync interval
container_sync_timeout = CONF.object_storage.container_sync_timeout
@@ -134,11 +135,18 @@
"""Test container synchronization"""
def make_headers(cont, cont_client):
# tell first container to synchronize to a second
- client_proxy_ip = \
- urlparse.urlparse(cont_client.base_url).netloc.split(':')[0]
- client_base_url = \
- cont_client.base_url.replace(client_proxy_ip,
- self.local_ip)
+ # use rsplit with a maxsplit of 1 to ensure ipv6 adresses are
+ # handled properly as well
+ client_proxy_ip = urlparse.urlparse(
+ cont_client.base_url).netloc.rsplit(':', 1)[0]
+ if client_proxy_ip.startswith("["): # lazy check
+ client_base_url = \
+ cont_client.base_url.replace(client_proxy_ip,
+ self.local_ip_v6)
+ else:
+ client_base_url = \
+ cont_client.base_url.replace(client_proxy_ip,
+ self.local_ip)
headers = {'X-Container-Sync-Key': 'sync_key',
'X-Container-Sync-To': "%s/%s" %
(client_base_url, str(cont))}
diff --git a/tempest/api/volume/admin/test_volume_retype.py b/tempest/api/volume/admin/test_volume_retype.py
index 5c14d52..4a3f494 100644
--- a/tempest/api/volume/admin/test_volume_retype.py
+++ b/tempest/api/volume/admin/test_volume_retype.py
@@ -13,6 +13,7 @@
import abc
from oslo_log import log as logging
+import testtools
from tempest.api.volume import base
from tempest.common import waiters
@@ -146,6 +147,8 @@
self._retype_volume(src_vol, migration_policy='on-demand')
@decorators.idempotent_id('d0d9554f-e7a5-4104-8973-f35b27ccb60d')
+ @testtools.skipUnless(CONF.volume_feature_enabled.snapshot,
+ "Cinder volume snapshots are disabled.")
def test_volume_from_snapshot_retype_with_migration(self):
"""Test volume created from snapshot retype with migration