def test_multiple_tenants(self): """ Tests api with multiple tenants to make sure object is only returned for the right tenant. """ tobj = {'name': 'test-tenant'} resp = api.post('tenant', data=tobj) assert resp.status_code in (200, 201) tapi = ApiSession(api.controller_ip, api.username, api.password, tenant=tobj['name'], verify=False) t_obj = tapi.get_object_by_name('tenant', tobj['name']) # created pool. log.info('tenant %s', t_obj) basic_vs_cfg = gSAMPLE_CONFIG["BasicVS"] pool_cfg = copy.deepcopy(basic_vs_cfg["pool_obj"]) pool_cfg['name'] = pool_cfg['name'] + '-test-tenant' resp = tapi.post('pool', data=pool_cfg) assert resp.status_code in (200, 201) # check pool was not created in tenant admin pname = pool_cfg['name'] resp = api.get_object_by_name('pool', pname) assert resp is None resp = tapi.get_object_by_name('pool', pname) assert resp resp = api.get_object_by_name('pool', pname, tenant_uuid=t_obj['uuid']) assert resp resp = api.get_object_by_name('pool', pname, tenant='test-tenant') assert resp resp = tapi.delete_by_name("pool", pname) assert resp.status_code in (200, 204) resp = api.get_object_by_name('pool', pname, tenant='test-tenant') assert resp is None resp = tapi.delete_by_name('tenant', 'test-tenant', tenant='admin') assert resp.status_code in (200, 204)
def test_multiple_tenants(self): """ Tests api with multiple tenants to make sure object is only returned for the right tenant. """ tobj = {'name': 'test-tenant'} resp = api.post('tenant', data=tobj) assert resp.status_code in (200, 201) tapi = ApiSession(controller_ip=api.avi_credentials.controller, username=api.avi_credentials.username, password=api.avi_credentials.password, tenant=tobj['name'], verify=False, data_log=api.data_log) t_obj = tapi.get_object_by_name('tenant', tobj['name']) # created pool. log.info('tenant %s', t_obj) basic_vs_cfg = gSAMPLE_CONFIG["BasicVS"] pool_cfg = copy.deepcopy(basic_vs_cfg["pool_obj"]) pool_cfg['name'] = pool_cfg['name'] + '-test-tenant' resp = tapi.post('pool', data=pool_cfg) assert resp.status_code in (200, 201) # check pool was not created in tenant admin pname = pool_cfg['name'] resp = api.get_object_by_name('pool', pname) assert resp is None resp = tapi.get_object_by_name('pool', pname) assert resp resp = api.get_object_by_name('pool', pname, tenant_uuid=t_obj['uuid']) assert resp resp = api.get_object_by_name('pool', pname, tenant='test-tenant') assert resp resp = tapi.delete_by_name("pool", pname) assert resp.status_code in (200, 204) resp = api.get_object_by_name('pool', pname, tenant='test-tenant') assert resp is None resp = tapi.delete_by_name('tenant', 'test-tenant', tenant='admin') assert resp.status_code in (200, 204)
parser.add_argument('-u', '--username', help='user name', default='admin') parser.add_argument('-p', '--password', help='password', default='admin') args = parser.parse_args() #print('parsed args', args) api_ssn = ApiSession(args.controller, args.username, args.password, args.tenant) api_utils = ApiUtils(api_ssn) entity_uuid = '*' if args.vs_name != '*': vs_obj = api_ssn.get_object_by_name('virtualservice', args.vs_name) entity_uuid = vs_obj['uuid'] mq = { 'metric_id': (args.metrics if args.metrics else 'l4_client.avg_bandwidth,l4_client.avg_complete_conns,l7_client.avg_complete_responses,l7_client.sum_get_reqs, l7_client.sum_post_reqs'), 'tenant': (args.tenant if args.tenant else 'admin'), 'step': args.step, 'limit': args.limit, 'entity_uuid': entity_uuid, 'pad_missing_data': False } rsp = api_utils.get_metrics_collection(tenant=args.tenant, metric_requests=[mq]) #print 'metrics query', mq print json.dumps(rsp, indent=2)