make Patrole to run for shared network env
Devstack added to create the shared network for tempest testing which makes sure tempest and other testing part works fine when testing env has shared network. -683454f319/lib/tempest (L259)
Now patrole started failing because of the above shared network. Details: {u'message': u'Multiple possible networks found, use a Network ID to be more specific.', u'code': 409} http://logs.openstack.org/55/648255/1/check/patrole-admin/63b6639/testr_results.html.gz When patrol tests call create_tesrt_server, network id is not passed as kwargs which means it reply on tempest to add the network id for creating the server[1]. Tempest fail to add the network id because it relies on used credential to have the network created for them[2]. We should create the network for requested credential using set_network_resources() method. Following tests are skipped due to their failure due to bad request error: - test_update_network_provider_network_type[id-d064ef96-662b-47b6-94b7-9106dcd7ba8c] - test_update_network_provider_physical_network[id-e3a55660-f75c-494e-a1b1-a8b36cc789ef] - test_update_network_provider_segmentation_id[id-f6164228-b670-45fd-9ff9-b101930318c7] [1]75ea3dbaf9/tempest/api/compute/base.py (L234)
[2]3639f91c36/tempest/lib/common/fixed_network.py (L95)
Story: 2005369 Task: 30345 Change-Id: I1281aa090c167c1e3e401a1707d196a69e7b5cd2
This commit is contained in:
parent
27fdf563f0
commit
b3ee7cbc15
|
@ -41,6 +41,11 @@ class ServerActionsRbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
super(ServerActionsRbacTest, cls).setup_clients()
|
||||
cls.admin_servers_client = cls.os_admin.servers_client
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerActionsRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerActionsRbacTest, cls).resource_setup()
|
||||
|
@ -357,6 +362,11 @@ class ServerActionsV214RbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
min_microversion = '2.14'
|
||||
max_microversion = 'latest'
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerActionsV214RbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerActionsV214RbacTest, cls).resource_setup()
|
||||
|
@ -389,6 +399,11 @@ class ServerActionsV216RbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
min_microversion = '2.16'
|
||||
max_microversion = 'latest'
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerActionsV216RbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerActionsV216RbacTest, cls).resource_setup()
|
||||
|
|
|
@ -30,6 +30,11 @@ class ServerConsolesRbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
if not CONF.compute_feature_enabled.console_output:
|
||||
raise cls.skipException('Console output not available.')
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerConsolesRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerConsolesRbacTest, cls).resource_setup()
|
||||
|
@ -54,6 +59,11 @@ class ServerConsolesMaxV25RbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
if not CONF.compute_feature_enabled.console_output:
|
||||
raise cls.skipException('Console output not available.')
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerConsolesMaxV25RbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerConsolesMaxV25RbacTest, cls).resource_setup()
|
||||
|
@ -79,6 +89,11 @@ class ServerConsolesV26RbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
if not CONF.compute_feature_enabled.console_output:
|
||||
raise cls.skipException('Console output not available.')
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerConsolesV26RbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerConsolesV26RbacTest, cls).resource_setup()
|
||||
|
|
|
@ -21,6 +21,11 @@ from patrole_tempest_plugin.tests.api.compute import rbac_base
|
|||
|
||||
class ServerMetadataRbacTest(rbac_base.BaseV2ComputeRbacTest):
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerMetadataRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerMetadataRbacTest, cls).resource_setup()
|
||||
|
|
|
@ -50,6 +50,11 @@ class MiscPolicyActionsRbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
|
||||
credentials = ['primary', 'admin']
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(MiscPolicyActionsRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(MiscPolicyActionsRbacTest, cls).resource_setup()
|
||||
|
|
|
@ -32,6 +32,11 @@ LOG = log.getLogger(__name__)
|
|||
|
||||
class ComputeServersRbacTest(base.BaseV2ComputeRbacTest):
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ComputeServersRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(ComputeServersRbacTest, cls).setup_clients()
|
||||
|
|
|
@ -33,6 +33,11 @@ class ServerTagsRbacTest(rbac_base.BaseV2ComputeRbacTest):
|
|||
msg = "os-server-tags extension is not enabled."
|
||||
raise cls.skipException(msg)
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerTagsRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(ServerTagsRbacTest, cls).resource_setup()
|
||||
|
|
|
@ -36,6 +36,11 @@ LOG = logging.getLogger(__name__)
|
|||
# revisited at a later date.
|
||||
class ServerVolumeAttachmentRbacTest(rbac_base.BaseV2ComputeRbacTest):
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(ServerVolumeAttachmentRbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(ServerVolumeAttachmentRbacTest, cls).setup_clients()
|
||||
|
|
|
@ -256,6 +256,7 @@ class NetworksRbacTest(base.BaseNetworkRbacTest):
|
|||
with self.override_role():
|
||||
self._update_network(net_id=network['id'], router_external=True)
|
||||
|
||||
@decorators.skip_because(bug='2005489', bug_type='storyboard')
|
||||
@utils.requires_ext(extension='provider', service='network')
|
||||
@rbac_rule_validation.action(
|
||||
service="neutron",
|
||||
|
@ -281,6 +282,7 @@ class NetworksRbacTest(base.BaseNetworkRbacTest):
|
|||
"Plugin does not support updating provider attributes",
|
||||
str(exc))
|
||||
|
||||
@decorators.skip_because(bug='2005489', bug_type='storyboard')
|
||||
@utils.requires_ext(extension='provider', service='network')
|
||||
@rbac_rule_validation.action(
|
||||
service="neutron",
|
||||
|
@ -306,6 +308,7 @@ class NetworksRbacTest(base.BaseNetworkRbacTest):
|
|||
"Plugin does not support updating provider attributes",
|
||||
str(exc))
|
||||
|
||||
@decorators.skip_because(bug='2005489', bug_type='storyboard')
|
||||
@utils.requires_ext(extension='provider', service='network')
|
||||
@rbac_rule_validation.action(
|
||||
service="neutron",
|
||||
|
|
|
@ -36,14 +36,23 @@ class VolumesActionsV3RbacTest(rbac_base.BaseVolumeRbacTest):
|
|||
super(VolumesActionsV3RbacTest, cls).setup_clients()
|
||||
cls.image_client = cls.os_primary.image_client_v2
|
||||
|
||||
@classmethod
|
||||
def setup_credentials(cls):
|
||||
cls.set_network_resources(network=True, subnet=True, router=True)
|
||||
super(VolumesActionsV3RbacTest, cls).setup_credentials()
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(VolumesActionsV3RbacTest, cls).resource_setup()
|
||||
cls.volume = cls.create_volume()
|
||||
|
||||
def _create_server(self):
|
||||
tenant_network = self.get_tenant_network()
|
||||
server, _ = compute.create_test_server(
|
||||
self.os_primary, wait_until='ACTIVE')
|
||||
self.os_primary, tenant_network=tenant_network,
|
||||
wait_until='ACTIVE')
|
||||
self.addCleanup(waiters.wait_for_server_termination,
|
||||
self.servers_client, server['id'])
|
||||
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
|
||||
self.servers_client.delete_server, server['id'])
|
||||
return server
|
||||
|
|
Loading…
Reference in New Issue