def list(self, filter=None):
"""Returns a list of NS
"""
+ self._client.get_token()
filter_string = ''
if filter:
filter_string = '?{}'.format(filter)
def get(self, name):
"""Returns an NS based on name or id
"""
+ self._client.get_token()
if utils.validate_uuid4(name):
for ns in self.list():
if name == ns['_id']:
raise NotFound("ns {} not found".format(name))
def get_individual(self, name):
+ self._client.get_token()
ns_id = name
if not utils.validate_uuid4(name):
for ns in self.list():
break
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, ns_id))
#resp = self._http.get_cmd('{}/{}/nsd_content'.format(self._apiBase, ns_id))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("ns {} not found".format(name))
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
ns['_id'], querystring))
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code == 202:
if wait and resp:
resp = json.loads(resp)
def create(self, nsd_name, nsr_name, account, config=None,
ssh_keys=None, description='default description',
admin_status='ENABLED', wait=False):
-
+ self._client.get_token()
nsd = self._client.nsd.get(nsd_name)
vim_account_id = {}
with open(pubkeyfile, 'r') as f:
ns['ssh_keys'].append(f.read())
if config:
- ns_config = yaml.load(config)
+ ns_config = yaml.safe_load(config)
if "vim-network-name" in ns_config:
ns_config["vld"] = ns_config.pop("vim-network-name")
if "vld" in ns_config:
if wim_account is not None:
ns['wimAccountId'] = get_wim_account_id(wim_account)
- # print yaml.safe_dump(ns)
+ # print(yaml.safe_dump(ns))
try:
self._apiResource = '/ns_instances_content'
self._apiBase = '{}{}{}'.format(self._apiName,
self._http.set_http_header(http_header)
http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
postfields_dict=ns)
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
message="failed to create ns: {} nsd: {}\nerror:\n{}".format(
nsr_name,
nsd_name,
- exc.message)
+ str(exc))
raise ClientException(message)
def list_op(self, name, filter=None):
http_code, resp = self._http.get2_cmd('{}?nsInstanceId={}'.format(
self._apiBase, ns['_id'],
filter_string) )
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 200:
if resp:
resp = json.loads(resp)
except ClientException as exc:
message="failed to get operation list of NS {}:\nerror:\n{}".format(
name,
- exc.message)
+ str(exc))
raise ClientException(message)
def get_op(self, operationId):
"""Returns the status of an operation
"""
+ self._client.get_token()
try:
self._apiResource = '/ns_lcm_op_occs'
self._apiBase = '{}{}{}'.format(self._apiName,
self._apiVersion, self._apiResource)
http_code, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase, operationId))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 200:
if resp:
resp = json.loads(resp)
except ClientException as exc:
message="failed to get status of operation {}:\nerror:\n{}".format(
operationId,
- exc.message)
+ str(exc))
raise ClientException(message)
def exec_op(self, name, op_name, op_data=None, wait=False):
self._apiBase = '{}{}{}'.format(self._apiName,
self._apiVersion, self._apiResource)
endpoint = '{}/{}/{}'.format(self._apiBase, ns['_id'], op_name)
- #print 'OP_NAME: {}'.format(op_name)
- #print 'OP_DATA: {}'.format(json.dumps(op_data))
+ #print('OP_NAME: {}'.format(op_name))
+ #print('OP_DATA: {}'.format(json.dumps(op_data)))
http_code, resp = self._http.post_cmd(endpoint=endpoint, postfields_dict=op_data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
except ClientException as exc:
message="failed to exec operation {}:\nerror:\n{}".format(
name,
- exc.message)
+ str(exc))
raise ClientException(message)
def scale_vnf(self, ns_name, vnf_name, scaling_group, scale_in, scale_out, wait=False):
"""Scales a VNF by adding/removing VDUs
"""
+ self._client.get_token()
try:
op_data={}
op_data["scaleType"] = "SCALE_VNF"
self.exec_op(ns_name, op_name='scale', op_data=op_data, wait=wait)
except ClientException as exc:
message="failed to scale vnf {} of ns {}:\nerror:\n{}".format(
- vnf_name, ns_name, exc.message)
+ vnf_name, ns_name, str(exc))
raise ClientException(message)
def create_alarm(self, alarm):
+ self._client.get_token()
data = {}
data["create_alarm_request"] = {}
data["create_alarm_request"]["alarm_create_request"] = alarm
try:
http_code, resp = self._http.post_cmd(endpoint='/test/message/alarm_request',
postfields_dict=data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
#resp = json.loads(resp)
print('Alarm created')
except ClientException as exc:
message="failed to create alarm: alarm {}\n{}".format(
alarm,
- exc.message)
+ str(exc))
raise ClientException(message)
def delete_alarm(self, name):
+ self._client.get_token()
data = {}
data["delete_alarm_request"] = {}
data["delete_alarm_request"]["alarm_delete_request"] = {}
try:
http_code, resp = self._http.post_cmd(endpoint='/test/message/alarm_request',
postfields_dict=data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
#resp = json.loads(resp)
print('Alarm deleted')
except ClientException as exc:
message="failed to delete alarm: alarm {}\n{}".format(
name,
- exc.message)
+ str(exc))
raise ClientException(message)
def export_metric(self, metric):
+ self._client.get_token()
data = {}
data["read_metric_data_request"] = metric
try:
http_code, resp = self._http.post_cmd(endpoint='/test/message/metric_request',
postfields_dict=data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
#resp = json.loads(resp)
return 'Metric exported'
except ClientException as exc:
message="failed to export metric: metric {}\n{}".format(
metric,
- exc.message)
+ str(exc))
raise ClientException(message)
def get_field(self, ns_name, field):