예제 #1
0
    def get_tenant_name(self, tenant_id=None):
        """Returns tenant name from context or db.

        If tenant id stored in context matches requested one,
        then return tenant name from context.
        If incoming tenant_id is different from context one then query db.
        """
        tenant_id_in_query = tenant_id or self.tenant_id
        if tenant_id_in_query:
            if self.context.tenant_name and (self.context.tenant_id
                                             == tenant_id_in_query):
                return self.context.tenant_name

            if self.grid_config.tenant_name_persistence:
                tenant = dbi.get_tenant(self.context.session,
                                        tenant_id_in_query)
                if tenant:
                    return tenant.tenant_name

        if self.grid_config.tenant_name_persistence:
            # Try resync with keystone if still no tenant name is found
            if km.sync_tenants_from_keystone(self.context):
                tenant = dbi.get_tenant(self.context.session,
                                        tenant_id_in_query)
                if tenant:
                    return tenant.tenant_name
        else:
            tenants = km.get_all_tenants()
            for tenant in tenants:
                if tenant.id == tenant_id_in_query:
                    return tenant.name
        return None
예제 #2
0
    def get_tenant_name(self, tenant_id=None):
        """Returns tenant name from context or db.

        If tenant id stored in context matches requested one,
        then return tenant name from context.
        If incoming tenant_id is different from context one then query db.
        """
        tenant_id_in_query = tenant_id or self.tenant_id
        if tenant_id_in_query:
            if self.context.tenant_name and (
                    self.context.tenant_id == tenant_id_in_query):
                return self.context.tenant_name

            if self.grid_config.tenant_name_persistence:
                tenant = dbi.get_tenant(self.context.session,
                                        tenant_id_in_query)
                if tenant:
                    return tenant.tenant_name

        if self.grid_config.tenant_name_persistence:
            # Try resync with keystone if still no tenant name is found
            if km.sync_tenants_from_keystone(self.context,
                                             self.context.auth_token):
                tenant = dbi.get_tenant(self.context.session,
                                        tenant_id_in_query)
                if tenant:
                    return tenant.tenant_name
        else:
            tenants = km.get_all_tenants(self.context.auth_token)
            for tenant in tenants:
                if tenant.id == tenant_id_in_query:
                    return tenant.name
        return None
    def test_add_or_update_tenant(self):
        tenants = {'tenant-id1': 'tenant-name1'}
        self._create_tenants(tenants)
        new_tenant_name = 'tenant-name-updated'
        infoblox_db.add_or_update_tenant(self.ctx.session,
                                         'tenant-id1', new_tenant_name)
        tenant = infoblox_db.get_tenant(self.ctx.session, 'tenant-id1')
        self.assertEqual(new_tenant_name, tenant.tenant_name)

        infoblox_db.add_or_update_tenant(self.ctx.session,
                                         'tenant-id2', 'tenant-name2')
        tenant = infoblox_db.get_tenant(self.ctx.session, 'tenant-id2')
        self.assertEqual('tenant-name2', tenant.tenant_name)
예제 #4
0
    def test_add_or_update_tenant(self):
        tenants = {'tenant-id1': 'tenant-name1'}
        self._create_tenants(tenants)
        new_tenant_name = 'tenant-name-updated'
        infoblox_db.add_or_update_tenant(self.ctx.session, 'tenant-id1',
                                         new_tenant_name)
        tenant = infoblox_db.get_tenant(self.ctx.session, 'tenant-id1')
        self.assertEqual(new_tenant_name, tenant.tenant_name)

        infoblox_db.add_or_update_tenant(self.ctx.session, 'tenant-id2',
                                         'tenant-name2')
        tenant = infoblox_db.get_tenant(self.ctx.session, 'tenant-id2')
        self.assertEqual('tenant-name2', tenant.tenant_name)
 def test_add_and_get_tenant(self):
     tenants = {'tenant-id': 'tenant-name'}
     self._create_tenants(tenants)
     tenant = infoblox_db.get_tenant(self.ctx.session, 'tenant-id')
     self.assertEqual('tenant-name', tenant.tenant_name)
예제 #6
0
 def test_add_and_get_tenant(self):
     tenants = {'tenant-id': 'tenant-name'}
     self._create_tenants(tenants)
     tenant = infoblox_db.get_tenant(self.ctx.session, 'tenant-id')
     self.assertEqual('tenant-name', tenant.tenant_name)