Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
    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)