diff --git a/releasenotes/notes/network-swap-to-project_id-a1d7fdf6c5e1cf44.yaml b/releasenotes/notes/network-swap-to-project_id-a1d7fdf6c5e1cf44.yaml new file mode 100644 index 0000000000..4cf0c765ef --- /dev/null +++ b/releasenotes/notes/network-swap-to-project_id-a1d7fdf6c5e1cf44.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + [`blueprint blueprint adopt-oslo-versioned-objects-for-db `_] + Any reference to "tenant_id" in Network objects is replaced with + "project_id". diff --git a/tempest/api/network/admin/test_floating_ips_admin_actions.py b/tempest/api/network/admin/test_floating_ips_admin_actions.py index adc4dda69c..7d410194ec 100644 --- a/tempest/api/network/admin/test_floating_ips_admin_actions.py +++ b/tempest/api/network/admin/test_floating_ips_admin_actions.py @@ -93,7 +93,7 @@ class FloatingIPAdminTestJSON(base.BaseAdminNetworkTest): # Creates a floating IP body = self.admin_floating_ips_client.create_floatingip( floating_network_id=self.ext_net_id, - tenant_id=self.network['tenant_id'], + project_id=self.network['project_id'], port_id=self.port['id']) created_floating_ip = body['floatingip'] self.addCleanup( @@ -101,7 +101,7 @@ class FloatingIPAdminTestJSON(base.BaseAdminNetworkTest): self.floating_ips_client.delete_floatingip, created_floating_ip['id']) self.assertIsNotNone(created_floating_ip['id']) - self.assertIsNotNone(created_floating_ip['tenant_id']) + self.assertIsNotNone(created_floating_ip['project_id']) self.assertIsNotNone(created_floating_ip['floating_ip_address']) self.assertEqual(created_floating_ip['port_id'], self.port['id']) self.assertEqual(created_floating_ip['floating_network_id'], @@ -116,8 +116,8 @@ class FloatingIPAdminTestJSON(base.BaseAdminNetworkTest): self.assertEqual(shown_floating_ip['id'], created_floating_ip['id']) self.assertEqual(shown_floating_ip['floating_network_id'], self.ext_net_id) - self.assertEqual(shown_floating_ip['tenant_id'], - self.network['tenant_id']) + self.assertEqual(shown_floating_ip['project_id'], + self.network['project_id']) self.assertEqual(shown_floating_ip['floating_ip_address'], created_floating_ip['floating_ip_address']) self.assertEqual(shown_floating_ip['port_id'], self.port['id']) diff --git a/tempest/api/network/admin/test_metering_extensions.py b/tempest/api/network/admin/test_metering_extensions.py index 5063fef351..942b66c535 100644 --- a/tempest/api/network/admin/test_metering_extensions.py +++ b/tempest/api/network/admin/test_metering_extensions.py @@ -121,7 +121,7 @@ class MeteringTestJSON(base.BaseAdminNetworkTest): metering_label = body['metering_label'] self.assertEqual(self.metering_label['id'], metering_label['id']) self.assertEqual(self.metering_label['tenant_id'], - metering_label['tenant_id']) + metering_label['project_id']) self.assertEqual(self.metering_label['name'], metering_label['name']) self.assertEqual(self.metering_label['description'], metering_label['description']) diff --git a/tempest/api/network/admin/test_negative_quotas.py b/tempest/api/network/admin/test_negative_quotas.py index 0db038d6cd..3562d6fbf6 100644 --- a/tempest/api/network/admin/test_negative_quotas.py +++ b/tempest/api/network/admin/test_negative_quotas.py @@ -58,12 +58,12 @@ class QuotasNegativeTest(base.BaseAdminNetworkTest): # Create two networks n1 = self.admin_networks_client.create_network( - tenant_id=self.project['id']) + project_id=self.project['id']) self.addCleanup(test_utils.call_and_ignore_notfound_exc, self.admin_networks_client.delete_network, n1['network']['id']) n2 = self.admin_networks_client.create_network( - tenant_id=self.project['id']) + project_id=self.project['id']) self.addCleanup(test_utils.call_and_ignore_notfound_exc, self.admin_networks_client.delete_network, n2['network']['id']) @@ -73,7 +73,7 @@ class QuotasNegativeTest(base.BaseAdminNetworkTest): lib_exc.Conflict, r"Quota exceeded for resources: \['network'\].*"): n3 = self.admin_networks_client.create_network( - tenant_id=self.project['id']) + project_id=self.project['id']) self.addCleanup(test_utils.call_and_ignore_notfound_exc, self.admin_networks_client.delete_network, n3['network']['id']) diff --git a/tempest/api/network/admin/test_quotas.py b/tempest/api/network/admin/test_quotas.py index ef5ebb6b85..8b7bfb1b96 100644 --- a/tempest/api/network/admin/test_quotas.py +++ b/tempest/api/network/admin/test_quotas.py @@ -67,7 +67,7 @@ class QuotasTest(base.BaseAdminNetworkTest): non_default_quotas = self.admin_quotas_client.list_quotas() found = False for qs in non_default_quotas['quotas']: - if qs['tenant_id'] == project_id: + if qs['project_id'] == project_id: found = True self.assertTrue(found) @@ -81,7 +81,7 @@ class QuotasTest(base.BaseAdminNetworkTest): self.admin_quotas_client.reset_quotas(project_id) non_default_quotas = self.admin_quotas_client.list_quotas() for q in non_default_quotas['quotas']: - self.assertNotEqual(project_id, q['tenant_id']) + self.assertNotEqual(project_id, q['project_id']) quota_set = self.admin_quotas_client.show_quotas(project_id)['quota'] default_quotas = self.admin_quotas_client.show_default_quotas( project_id)['quota'] diff --git a/tempest/api/network/admin/test_routers.py b/tempest/api/network/admin/test_routers.py index 41f97d863b..417eb70185 100644 --- a/tempest/api/network/admin/test_routers.py +++ b/tempest/api/network/admin/test_routers.py @@ -63,11 +63,11 @@ class RoutersAdminTest(base.BaseAdminNetworkTest): name = data_utils.rand_name('router-') create_body = self.admin_routers_client.create_router( - name=name, tenant_id=project_id) + name=name, project_id=project_id) self.addCleanup(test_utils.call_and_ignore_notfound_exc, self.admin_routers_client.delete_router, create_body['router']['id']) - self.assertEqual(project_id, create_body['router']['tenant_id']) + self.assertEqual(project_id, create_body['router']['project_id']) @decorators.idempotent_id('847257cc-6afd-4154-b8fb-af49f5670ce8') @utils.requires_ext(extension='ext-gw-mode', service='network') diff --git a/tempest/api/network/admin/test_routers_dvr.py b/tempest/api/network/admin/test_routers_dvr.py index 270f802dd1..291581cd44 100644 --- a/tempest/api/network/admin/test_routers_dvr.py +++ b/tempest/api/network/admin/test_routers_dvr.py @@ -106,14 +106,14 @@ class RoutersTestDVR(base.BaseAdminNetworkTest): attribute will be set to True """ name = data_utils.rand_name('router') - tenant_id = self.routers_client.tenant_id + project_id = self.routers_client.project_id # router needs to be in admin state down in order to be upgraded to DVR # l3ha routers are not upgradable to dvr, make it explicitly non ha router = self.admin_routers_client.create_router(name=name, distributed=False, admin_state_up=False, ha=False, - tenant_id=tenant_id) + project_id=project_id) router_id = router['router']['id'] self.addCleanup(test_utils.call_and_ignore_notfound_exc, self.admin_routers_client.delete_router, router_id) diff --git a/tempest/api/network/test_floating_ips.py b/tempest/api/network/test_floating_ips.py index aaa5497f11..abcbbf7668 100644 --- a/tempest/api/network/test_floating_ips.py +++ b/tempest/api/network/test_floating_ips.py @@ -83,7 +83,7 @@ class FloatingIPTestJSON(base.BaseNetworkTest): self.floating_ips_client.delete_floatingip, created_floating_ip['id']) self.assertIsNotNone(created_floating_ip['id']) - self.assertIsNotNone(created_floating_ip['tenant_id']) + self.assertIsNotNone(created_floating_ip['project_id']) self.assertIsNotNone(created_floating_ip['floating_ip_address']) self.assertEqual(created_floating_ip['port_id'], self.ports[0]['id']) self.assertEqual(created_floating_ip['floating_network_id'], @@ -97,8 +97,8 @@ class FloatingIPTestJSON(base.BaseNetworkTest): self.assertEqual(shown_floating_ip['id'], created_floating_ip['id']) self.assertEqual(shown_floating_ip['floating_network_id'], self.ext_net_id) - self.assertEqual(shown_floating_ip['tenant_id'], - created_floating_ip['tenant_id']) + self.assertEqual(shown_floating_ip['project_id'], + created_floating_ip['project_id']) self.assertEqual(shown_floating_ip['floating_ip_address'], created_floating_ip['floating_ip_address']) self.assertEqual(shown_floating_ip['port_id'], self.ports[0]['id']) diff --git a/tempest/api/network/test_ports.py b/tempest/api/network/test_ports.py index 10121de881..c4ad72088a 100644 --- a/tempest/api/network/test_ports.py +++ b/tempest/api/network/test_ports.py @@ -192,9 +192,9 @@ class PortsTestJSON(sec_base.BaseSecGroupTest): port_list = self.ports_client.list_ports(fixed_ips=fixed_ips) # Check that we got the desired port ports = port_list['ports'] - tenant_ids = set([port['tenant_id'] for port in ports]) - self.assertEqual(len(tenant_ids), 1, - 'Ports from multiple tenants are in the list resp') + project_ids = set([port['project_id'] for port in ports]) + self.assertEqual(len(project_ids), 1, + 'Ports from multiple projects are in the list resp') port_ids = [port['id'] for port in ports] fixed_ips = [port['fixed_ips'] for port in ports] port_net_ids = [port['network_id'] for port in ports] diff --git a/tempest/lib/common/rest_client.py b/tempest/lib/common/rest_client.py index 431a0a01e5..1d524f0037 100644 --- a/tempest/lib/common/rest_client.py +++ b/tempest/lib/common/rest_client.py @@ -21,6 +21,7 @@ import time import jsonschema from oslo_log import log as logging +from oslo_log import versionutils from oslo_serialization import jsonutils as json import six from six.moves import urllib @@ -176,6 +177,15 @@ class RestClient(object): """ return self.auth_provider.credentials.tenant_name + @property + def project_id(self): + """The project id being used for requests + + :rtype: string + :return: The project id being used for requests + """ + return self.auth_provider.credentials.tenant_id + @property def tenant_id(self): """The tenant/project id being used for requests @@ -183,7 +193,12 @@ class RestClient(object): :rtype: string :return: The tenant/project id being used for requests """ - return self.auth_provider.credentials.tenant_id + # NOTE(ralonsoh): this property should be deprecated, reference + # blueprint adopt-oslo-versioned-objects-for-db. + versionutils.report_deprecated_feature( + self.LOG, '"tenant_id" property is deprecated for removal, use ' + '"project_id" instead') + return self.project_id @property def password(self): diff --git a/tempest/lib/services/network/quotas_client.py b/tempest/lib/services/network/quotas_client.py index 997d20120f..96cc65da24 100644 --- a/tempest/lib/services/network/quotas_client.py +++ b/tempest/lib/services/network/quotas_client.py @@ -12,11 +12,33 @@ # License for the specific language governing permissions and limitations # under the License. +import functools + from tempest.lib.services.network import base +def _warning_deprecate_tenant_id(func): + @functools.wraps(func) + def inner(*args, **kwargs): + _self = args[0] + # check length of arg to know whether 'tenant_id' is passed as + # positional arg or kwargs. + if len(args) < 2: + if 'tenant_id' in kwargs: + _self.LOG.warning( + 'positional arg name "tenant_id" is deprecated, for ' + 'removal, please start using "project_id" instead') + elif 'project_id' in kwargs: + # fallback to deprecated name till deprecation phase. + kwargs['tenant_id'] = kwargs.pop('project_id') + + return func(*args, **kwargs) + return inner + + class QuotasClient(base.BaseNetworkClient): + @_warning_deprecate_tenant_id def update_quotas(self, tenant_id, **kwargs): """Update quota for a project. @@ -28,12 +50,14 @@ class QuotasClient(base.BaseNetworkClient): uri = '/quotas/%s' % tenant_id return self.update_resource(uri, put_body) + @_warning_deprecate_tenant_id def reset_quotas(self, tenant_id): # noqa # NOTE: This noqa is for passing T111 check and we cannot rename # to keep backwards compatibility. uri = '/quotas/%s' % tenant_id return self.delete_resource(uri) + @_warning_deprecate_tenant_id def show_quotas(self, tenant_id, **fields): """Show quota for a project. @@ -54,11 +78,13 @@ class QuotasClient(base.BaseNetworkClient): uri = '/quotas' return self.list_resources(uri, **filters) + @_warning_deprecate_tenant_id def show_default_quotas(self, tenant_id): """List default quotas for a project.""" uri = '/quotas/%s/default' % tenant_id return self.show_resource(uri) + @_warning_deprecate_tenant_id def show_quota_details(self, tenant_id): """Show quota details for a project.""" uri = '/quotas/%s/details.json' % tenant_id diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py index 85917715a0..e78643c642 100644 --- a/tempest/scenario/manager.py +++ b/tempest/scenario/manager.py @@ -868,15 +868,15 @@ class NetworkScenarioTest(ScenarioTest): raise cls.skipException('Neutron not available') def _create_network(self, networks_client=None, - tenant_id=None, + project_id=None, namestart='network-smoke-', port_security_enabled=True, **net_dict): if not networks_client: networks_client = self.networks_client - if not tenant_id: - tenant_id = networks_client.tenant_id + if not project_id: + project_id = networks_client.project_id name = data_utils.rand_name(namestart) - network_kwargs = dict(name=name, tenant_id=tenant_id) + network_kwargs = dict(name=name, project_id=project_id) if net_dict: network_kwargs.update(net_dict) # Neutron disables port security by default so we have to check the @@ -901,14 +901,14 @@ class NetworkScenarioTest(ScenarioTest): if not subnets_client: subnets_client = self.subnets_client - def cidr_in_use(cidr, tenant_id): + def cidr_in_use(cidr, project_id): """Check cidr existence :returns: True if subnet with cidr already exist in tenant False else """ cidr_in_use = self.os_admin.subnets_client.list_subnets( - tenant_id=tenant_id, cidr=cidr)['subnets'] + project_id=project_id, cidr=cidr)['subnets'] return len(cidr_in_use) != 0 ip_version = kwargs.pop('ip_version', 4) @@ -927,13 +927,13 @@ class NetworkScenarioTest(ScenarioTest): # blocks until an unallocated block is found. for subnet_cidr in tenant_cidr.subnet(num_bits): str_cidr = str(subnet_cidr) - if cidr_in_use(str_cidr, tenant_id=network['tenant_id']): + if cidr_in_use(str_cidr, project_id=network['project_id']): continue subnet = dict( name=data_utils.rand_name(namestart), network_id=network['id'], - tenant_id=network['tenant_id'], + project_id=network['project_id'], cidr=str_cidr, ip_version=ip_version, **kwargs @@ -1015,7 +1015,7 @@ class NetworkScenarioTest(ScenarioTest): kwargs = { 'floating_network_id': external_network_id, 'port_id': port_id, - 'tenant_id': thing['tenant_id'], + 'tenant_id': thing.get('project_id') or thing['tenant_id'], 'fixed_ip_address': ip4, } if CONF.network.subnet_id: @@ -1122,18 +1122,18 @@ class NetworkScenarioTest(ScenarioTest): self.fail(msg) def _create_security_group(self, security_group_rules_client=None, - tenant_id=None, + project_id=None, namestart='secgroup-smoke', security_groups_client=None): if security_group_rules_client is None: security_group_rules_client = self.security_group_rules_client if security_groups_client is None: security_groups_client = self.security_groups_client - if tenant_id is None: - tenant_id = security_groups_client.tenant_id + if project_id is None: + project_id = security_groups_client.project_id secgroup = self._create_empty_security_group( namestart=namestart, client=security_groups_client, - tenant_id=tenant_id) + project_id=project_id) # Add rules to the security group rules = self._create_loginable_secgroup_rule( @@ -1141,11 +1141,11 @@ class NetworkScenarioTest(ScenarioTest): secgroup=secgroup, security_groups_client=security_groups_client) for rule in rules: - self.assertEqual(tenant_id, rule['tenant_id']) + self.assertEqual(project_id, rule['project_id']) self.assertEqual(secgroup['id'], rule['security_group_id']) return secgroup - def _create_empty_security_group(self, client=None, tenant_id=None, + def _create_empty_security_group(self, client=None, project_id=None, namestart='secgroup-smoke'): """Create a security group without rules. @@ -1153,23 +1153,23 @@ class NetworkScenarioTest(ScenarioTest): - IPv4 egress to any - IPv6 egress to any - :param tenant_id: secgroup will be created in this tenant + :param project_id: secgroup will be created in this project :returns: the created security group """ if client is None: client = self.security_groups_client - if not tenant_id: - tenant_id = client.tenant_id + if not project_id: + project_id = client.project_id sg_name = data_utils.rand_name(namestart) sg_desc = sg_name + " description" sg_dict = dict(name=sg_name, description=sg_desc) - sg_dict['tenant_id'] = tenant_id + sg_dict['project_id'] = project_id result = client.create_security_group(**sg_dict) secgroup = result['security_group'] self.assertEqual(secgroup['name'], sg_name) - self.assertEqual(tenant_id, secgroup['tenant_id']) + self.assertEqual(project_id, secgroup['project_id']) self.assertEqual(secgroup['description'], sg_desc) self.addCleanup(test_utils.call_and_ignore_notfound_exc, @@ -1178,15 +1178,15 @@ class NetworkScenarioTest(ScenarioTest): def _create_security_group_rule(self, secgroup=None, sec_group_rules_client=None, - tenant_id=None, + project_id=None, security_groups_client=None, **kwargs): """Create a rule from a dictionary of rule parameters. Create a rule in a secgroup. if secgroup not defined will search for - default secgroup in tenant_id. + default secgroup in project_id. :param secgroup: the security group. - :param tenant_id: if secgroup not passed -- the tenant in which to + :param project_id: if secgroup not passed -- the tenant in which to search for default secgroup :param kwargs: a dictionary containing rule parameters: for example, to allow incoming ssh: @@ -1201,18 +1201,18 @@ class NetworkScenarioTest(ScenarioTest): sec_group_rules_client = self.security_group_rules_client if security_groups_client is None: security_groups_client = self.security_groups_client - if not tenant_id: - tenant_id = security_groups_client.tenant_id + if not project_id: + project_id = security_groups_client.project_id if secgroup is None: - # Get default secgroup for tenant_id + # Get default secgroup for project_id default_secgroups = security_groups_client.list_security_groups( - name='default', tenant_id=tenant_id)['security_groups'] - msg = "No default security group for tenant %s." % (tenant_id) + name='default', project_id=project_id)['security_groups'] + msg = "No default security group for project %s." % (project_id) self.assertNotEmpty(default_secgroups, msg) secgroup = default_secgroups[0] ruleset = dict(security_group_id=secgroup['id'], - tenant_id=secgroup['tenant_id']) + project_id=secgroup['project_id']) ruleset.update(kwargs) sg_rule = sec_group_rules_client.create_security_group_rule(**ruleset) @@ -1278,7 +1278,7 @@ class NetworkScenarioTest(ScenarioTest): return rules - def _get_router(self, client=None, tenant_id=None): + def _get_router(self, client=None, project_id=None): """Retrieve a router for the given tenant id. If a public router has been configured, it will be returned. @@ -1289,8 +1289,8 @@ class NetworkScenarioTest(ScenarioTest): """ if not client: client = self.routers_client - if not tenant_id: - tenant_id = client.tenant_id + if not project_id: + project_id = client.project_id router_id = CONF.network.public_router_id network_id = CONF.network.public_network_id if router_id: @@ -1300,7 +1300,7 @@ class NetworkScenarioTest(ScenarioTest): router = client.create_router( name=data_utils.rand_name(self.__class__.__name__ + '-router'), admin_state_up=True, - tenant_id=tenant_id, + project_id=project_id, external_gateway_info=dict(network_id=network_id))['router'] self.addCleanup(test_utils.call_and_ignore_notfound_exc, client.delete_router, router['id']) @@ -1311,14 +1311,14 @@ class NetworkScenarioTest(ScenarioTest): def create_networks(self, networks_client=None, routers_client=None, subnets_client=None, - tenant_id=None, dns_nameservers=None, + project_id=None, dns_nameservers=None, port_security_enabled=True, **net_dict): """Create a network with a subnet connected to a router. The baremetal driver is a special case since all nodes are on the same shared network. - :param tenant_id: id of tenant to create resources in. + :param project_id: id of project to create resources in. :param dns_nameservers: list of dns servers to send to subnet. :param port_security_enabled: whether or not port_security is enabled :param net_dict: a dict containing experimental network information in @@ -1343,11 +1343,11 @@ class NetworkScenarioTest(ScenarioTest): else: network = self._create_network( networks_client=networks_client, - tenant_id=tenant_id, + project_id=project_id, port_security_enabled=port_security_enabled, **net_dict) router = self._get_router(client=routers_client, - tenant_id=tenant_id) + project_id=project_id) subnet_kwargs = dict(network=network, subnets_client=subnets_client) # use explicit check because empty list is a valid option diff --git a/tempest/scenario/test_network_basic_ops.py b/tempest/scenario/test_network_basic_ops.py index d8584ec88b..7c8f9f48e8 100644 --- a/tempest/scenario/test_network_basic_ops.py +++ b/tempest/scenario/test_network_basic_ops.py @@ -321,7 +321,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest): internal_ips = ( p['fixed_ips'][0]['ip_address'] for p in self.os_admin.ports_client.list_ports( - tenant_id=server['tenant_id'], + project_id=server['tenant_id'], network_id=network['id'])['ports'] if p['device_owner'].startswith('network') or p['device_owner'].startswith('compute') diff --git a/tempest/scenario/test_security_groups_basic_ops.py b/tempest/scenario/test_security_groups_basic_ops.py index 9cbd831872..3fc93e4aa4 100644 --- a/tempest/scenario/test_security_groups_basic_ops.py +++ b/tempest/scenario/test_security_groups_basic_ops.py @@ -176,7 +176,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest): cls.primary_tenant = cls.TenantProperties(cls.os_primary) cls.alt_tenant = cls.TenantProperties(cls.os_alt) for tenant in [cls.primary_tenant, cls.alt_tenant]: - cls.tenants[tenant.creds.tenant_id] = tenant + cls.tenants[tenant.creds.project_id] = tenant cls.floating_ip_access = not CONF.network.public_router_id @@ -199,14 +199,14 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest): def _create_tenant_security_groups(self, tenant): access_sg = self._create_empty_security_group( namestart='secgroup_access-', - tenant_id=tenant.creds.tenant_id, + project_id=tenant.creds.project_id, client=tenant.manager.security_groups_client ) # don't use default secgroup since it allows in-project traffic def_sg = self._create_empty_security_group( namestart='secgroup_general-', - tenant_id=tenant.creds.tenant_id, + project_id=tenant.creds.project_id, client=tenant.manager.security_groups_client ) tenant.security_groups.update(access=access_sg, default=def_sg) @@ -536,7 +536,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest): # Create empty security group and add icmp rule in it new_sg = self._create_empty_security_group( namestart='secgroup_new-', - tenant_id=new_tenant.creds.tenant_id, + project_id=new_tenant.creds.project_id, client=new_tenant.manager.security_groups_client) icmp_rule = dict( protocol='icmp', diff --git a/tempest/tests/lib/services/network/test_quotas_client.py b/tempest/tests/lib/services/network/test_quotas_client.py index aa6c1a1554..7dce4e1929 100644 --- a/tempest/tests/lib/services/network/test_quotas_client.py +++ b/tempest/tests/lib/services/network/test_quotas_client.py @@ -52,7 +52,7 @@ class TestQuotasClient(base.BaseServiceTest): } } - FAKE_QUOTA_TENANT_ID = "bab7d5c60cd041a0a36f7c4b6e1dd978" + FAKE_QUOTA_PROJECT_ID = "bab7d5c60cd041a0a36f7c4b6e1dd978" FAKE_QUOTA_DETAILS = { "quota": { @@ -115,7 +115,7 @@ class TestQuotasClient(base.BaseServiceTest): self.FAKE_PROJECT_QUOTAS, bytes_body, 200, - tenant_id=self.FAKE_QUOTA_TENANT_ID) + project_id=self.FAKE_QUOTA_PROJECT_ID) def _test_show_default_quotas(self, bytes_body=False): self.check_service_client_function( @@ -124,7 +124,7 @@ class TestQuotasClient(base.BaseServiceTest): self.FAKE_PROJECT_QUOTAS, bytes_body, 200, - tenant_id=self.FAKE_QUOTA_TENANT_ID) + project_id=self.FAKE_QUOTA_PROJECT_ID) def _test_update_quotas(self, bytes_body=False): self.check_service_client_function( @@ -133,7 +133,7 @@ class TestQuotasClient(base.BaseServiceTest): self.FAKE_PROJECT_QUOTAS, bytes_body, 200, - tenant_id=self.FAKE_QUOTA_TENANT_ID) + project_id=self.FAKE_QUOTA_PROJECT_ID) def _test_show_quota_details(self, bytes_body=False): self.check_service_client_function( @@ -142,7 +142,7 @@ class TestQuotasClient(base.BaseServiceTest): self.FAKE_QUOTA_DETAILS, bytes_body, 200, - tenant_id=self.FAKE_QUOTA_TENANT_ID) + project_id=self.FAKE_QUOTA_PROJECT_ID) def test_reset_quotas(self): self.check_service_client_function( @@ -150,7 +150,7 @@ class TestQuotasClient(base.BaseServiceTest): "tempest.lib.common.rest_client.RestClient.delete", {}, status=204, - tenant_id=self.FAKE_QUOTA_TENANT_ID) + project_id=self.FAKE_QUOTA_PROJECT_ID) def test_list_quotas_with_str_body(self): self._test_list_quotas()