From 146a346568e415ffd89ef9df297509dd81eea754 Mon Sep 17 00:00:00 2001 From: "ying.yunlong" Date: Wed, 27 Sep 2017 13:22:40 +0800 Subject: Fix vfc-lcm/pub/toscautil_new pep8 issue Change-Id: Iab9838991391ac16639d430291c6727e79935303 Issue-ID: VFC-456 Signed-off-by: ying.yunlong --- lcm/pub/utils/jobutil.py | 4 +- lcm/pub/utils/toscautil_new.py | 124 ++++++++++++++++++++++++++++------------- 2 files changed, 86 insertions(+), 42 deletions(-) diff --git a/lcm/pub/utils/jobutil.py b/lcm/pub/utils/jobutil.py index ae8ecacf..7a8c5edc 100644 --- a/lcm/pub/utils/jobutil.py +++ b/lcm/pub/utils/jobutil.py @@ -43,7 +43,7 @@ class JobUtil(object): @staticmethod def query_job_status(job_id, index_id=-1): - #logger.info("Query job status, jobid =[%s], responseid [%d]" % (job_id, index_id)) + # logger.info("Query job status, jobid =[%s], responseid [%d]" % (job_id, index_id)) jobs = [] if index_id < 0: row = JobStatusModel.objects.filter(jobid=job_id).order_by("-indexid").first() @@ -53,7 +53,7 @@ class JobUtil(object): [jobs.append(job) for job in JobStatusModel.objects.filter(jobid=job_id).order_by("-indexid") if job.indexid > index_id] - #logger.info("Query job status, rows=%s" % str(jobs)) + # logger.info("Query job status, rows=%s" % str(jobs)) return jobs @staticmethod diff --git a/lcm/pub/utils/toscautil_new.py b/lcm/pub/utils/toscautil_new.py index 1b01989d..995d5228 100644 --- a/lcm/pub/utils/toscautil_new.py +++ b/lcm/pub/utils/toscautil_new.py @@ -14,6 +14,7 @@ import json + def safe_get(key_val, key): return key_val[key] if key in key_val else "" @@ -36,8 +37,7 @@ def find_related_node(node_id, src_json_model, requirement_name): related_nodes = [] for model_tpl in safe_get(src_json_model, "node_templates"): for rt in safe_get(model_tpl, 'requirement_templates'): - if safe_get(rt, 'name') == requirement_name and \ - safe_get(rt, 'target_node_template_name') == node_id: + if safe_get(rt, 'name') == requirement_name and safe_get(rt, 'target_node_template_name') == node_id: related_nodes.append(model_tpl['name']) return related_nodes @@ -46,17 +46,19 @@ def convert_props(src_node, dest_node): if 'properties' in src_node and src_node['properties']: for prop_name, prop_info in src_node['properties'].items(): if 'value' in prop_info: - dest_node['properties'][prop_name] = prop_info['value'] + dest_node['properties'][prop_name] = prop_info['value'] def convert_metadata(src_json): return src_json['metadata'] if 'metadata' in src_json else {} + def convert_factor_unit(value): if isinstance(value, (str, unicode)): return value return "%s %s" % (value["factor"], value["unit"]) + def convert_inputs(src_json): inputs = {} if 'inputs' in src_json: @@ -74,20 +76,28 @@ def convert_inputs(src_json): def convert_vnf_node(src_node, src_json_model): - vnf_node = {'type': src_node['type_name'], 'vnf_id': src_node['template_name'], - 'description': '', 'properties': {}, 'dependencies': [], 'networks': []} + vnf_node = { + 'type': src_node['type_name'], + 'vnf_id': src_node['template_name'], + 'description': '', + 'properties': {}, + 'dependencies': [], + 'networks': [] + } convert_props(src_node, vnf_node) for model_tpl in safe_get(src_json_model, "node_templates"): if model_tpl['name'] != vnf_node['vnf_id']: continue - vnf_node['dependencies'] = [{ - 'key_name': requirement['name'], - 'vl_id': requirement['target_node_template_name']} for \ - requirement in safe_get(model_tpl, 'requirement_templates') if \ - safe_get(requirement, 'target_capability_name') == 'virtual_linkable'] - vnf_node['networks'] = [requirement['target_node_template_name'] for \ - requirement in safe_get(model_tpl, 'requirement_templates') if \ - safe_get(requirement, 'name') == 'dependency'] + vnf_node['dependencies'] = [ + { + 'key_name': requirement['name'], + 'vl_id': requirement['target_node_template_name'] + } for requirement in safe_get(model_tpl, 'requirement_templates') + if safe_get(requirement, 'target_capability_name') == 'virtual_linkable' + ] + vnf_node['networks'] = [requirement['target_node_template_name'] for + requirement in safe_get(model_tpl, 'requirement_templates') if + safe_get(requirement, 'name') == 'dependency'] return vnf_node @@ -141,8 +151,12 @@ def convert_router_node(src_node, src_node_list): def convert_fp_node(src_node, src_node_list, src_json_model): - fp_node = {'fp_id': src_node['template_name'], 'description': '', - 'properties': {}, 'forwarder_list': []} + fp_node = { + 'fp_id': src_node['template_name'], + 'description': '', + 'properties': {}, + 'forwarder_list': [] + } convert_props(src_node, fp_node) for relation in safe_get(src_node, 'relationships'): if safe_get(relation, 'name') != 'forwarder': @@ -168,8 +182,12 @@ def convert_fp_node(src_node, src_node_list, src_json_model): def convert_vnffg_group(src_group, src_group_list, src_node_list): - vnffg = {'vnffg_id': src_group['template_name'], 'description': '', - 'properties': {}, 'members': []} + vnffg = { + 'vnffg_id': src_group['template_name'], + 'description': '', + 'properties': {}, + 'members': [] + } convert_props(src_group, vnffg) for member_node_id in src_group['member_node_ids']: vnffg['members'].append(find_node_name(member_node_id, src_node_list)) @@ -177,32 +195,49 @@ def convert_vnffg_group(src_group, src_group_list, src_node_list): def convert_imagefile_node(src_node, src_node_list): - image_node = {'image_file_id': src_node['template_name'], 'description': '', - 'properties': {}} + image_node = { + 'image_file_id': src_node['template_name'], + 'description': '', + 'properties': {} + } convert_props(src_node, image_node) return image_node def convert_localstorage_node(src_node, src_node_list): - localstorage_node = {'local_storage_id': src_node['template_name'], 'description': '', - 'properties': {}} + localstorage_node = { + 'local_storage_id': src_node['template_name'], + 'description': '', + 'properties': {} + } convert_props(src_node, localstorage_node) return localstorage_node + def convert_volumestorage_node(src_node, src_node_list): volumestorage_node = { - 'volume_storage_id': src_node['id'], - 'description': "", + 'volume_storage_id': src_node['id'], + 'description': "", 'properties': {}} convert_props(src_node, volumestorage_node) volumestorage_node["properties"]["size"] = convert_factor_unit( volumestorage_node["properties"]["size_of_storage"]) return volumestorage_node + def convert_vdu_node(src_node, src_node_list, src_json_model): - vdu_node = {'vdu_id': src_node['template_name'], 'description': '', 'properties': {}, - 'image_file': '', 'local_storages': [], 'dependencies': [], 'nfv_compute': {}, - 'vls': [], 'artifacts': [], 'volume_storages': []} + vdu_node = { + 'vdu_id': src_node['template_name'], + 'description': '', + 'properties': {}, + 'image_file': '', + 'local_storages': [], + 'dependencies': [], + 'nfv_compute': {}, + 'vls': [], + 'artifacts': [], + 'volume_storages': [] + } convert_props(src_node, vdu_node) for relation in src_node.get('relationships', ''): @@ -226,8 +261,8 @@ def convert_vdu_node(src_node, src_node_list, src_json_model): if prop_name == "virtual_cpu": vdu_node['nfv_compute']['num_cpus'] = prop_info["value"]["num_virtual_cpu"] if "virtual_cpu_clock" in prop_info["value"]: - vdu_node['nfv_compute']['cpu_frequency'] = convert_factor_unit( - prop_info["value"]["virtual_cpu_clock"]) + vdu_node['nfv_compute']['cpu_frequency'] =\ + convert_factor_unit(prop_info["value"]["virtual_cpu_clock"]) elif prop_name == "virtual_memory": vdu_node['nfv_compute']['mem_size'] = convert_factor_unit( prop_info["value"]["virtual_mem_size"]) @@ -251,8 +286,12 @@ def convert_vdu_node(src_node, src_node_list, src_json_model): vdu_node['vls'].append(vl_node_name) for item in safe_get(src_node, 'artifacts'): - artifact = {'artifact_name': item['name'], 'type': item['type_name'], - 'file': item['source_path'], 'properties': {}} + artifact = { + 'artifact_name': item['name'], + 'type': item['type_name'], + 'file': item['source_path'], + 'properties': {} + } convert_props(item, artifact) for key in artifact['properties']: if 'factor' in artifact['properties'][key] and 'unit' in artifact['properties'][key]: @@ -265,11 +304,17 @@ def convert_vdu_node(src_node, src_node_list, src_json_model): def convert_exposed_node(src_json, src_nodes, exposed): for item in safe_get(safe_get(src_json, 'substitution'), 'requirements'): - exposed['external_cps'].append({'key_name': item['mapped_name'], - "cp_id": find_node_name(item['node_id'], src_nodes)}) + external_cps = { + 'key_name': item['mapped_name'], + "cp_id": find_node_name(item['node_id'], src_nodes) + } + exposed['external_cps'].append(external_cps) for item in safe_get(safe_get(src_json, 'substitution'), 'capabilities'): - exposed['forward_cps'].append({'key_name': item['mapped_name'], - "cp_id": find_node_name(item['node_id'], src_nodes)}) + forward_cps = { + 'key_name': item['mapped_name'], + "cp_id": find_node_name(item['node_id'], src_nodes) + } + exposed['forward_cps'].append(forward_cps) def convert_vnffgs(src_json_inst, src_nodes): @@ -281,6 +326,7 @@ def convert_vnffgs(src_json_inst, src_nodes): vnffgs.append(convert_vnffg_group(group, src_groups, src_nodes)) return vnffgs + def merge_imagefile_node(img_nodes, vdu_nodes): for vdu_node in vdu_nodes: for artifact in vdu_node.get("artifacts", []): @@ -295,6 +341,7 @@ def merge_imagefile_node(img_nodes, vdu_nodes): "properties": artifact["properties"] }) + def convert_common(src_json, target_json): if isinstance(src_json, (unicode, str)): src_json_dict = json.loads(src_json) @@ -315,7 +362,7 @@ def convert_common(src_json, target_json): def convert_nsd_model(src_json): target_json = {'vnfs': [], 'pnfs': [], 'fps': []} src_json_inst, src_json_model = convert_common(src_json, target_json) - + src_nodes = src_json_inst['nodes'] for node in src_nodes: type_name = node['type_name'] @@ -363,12 +410,13 @@ def convert_vnfd_model(src_json): target_json['cps'].append(convert_cp_node(node, src_nodes, 'VNFD')) elif type_name.endswith('.Router'): target_json['routers'].append(convert_router_node(node, src_nodes)) - + target_json['vnf_exposed'] = {'external_cps': [], 'forward_cps': []} convert_exposed_node(src_json_inst, src_nodes, target_json['vnf_exposed']) merge_imagefile_node(target_json['image_files'], target_json['vdus']) return json.dumps(target_json) + if __name__ == '__main__': src_json = json.dumps({ "instance": { @@ -1452,7 +1500,3 @@ if __name__ == '__main__': } }) print convert_vnfd_model(src_json) - - - - -- cgit 1.2.3-korg From 1f793abcf7eee69d6d115ed1940b3c6b12989b64 Mon Sep 17 00:00:00 2001 From: "ying.yunlong" Date: Wed, 27 Sep 2017 13:38:28 +0800 Subject: Fix vfc-lcm/pub/activiti pep8 issue Change-Id: I3d0a9a7fb38643646f5f60840307fdd6b61b9a9b Issue-ID: VFC-456 Signed-off-by: ying.yunlong --- lcm/pub/msapi/activiti.py | 31 ++++++++++++++++++------------- lcm/pub/msapi/catalog.py | 4 +++- lcm/pub/msapi/extsys.py | 2 ++ lcm/pub/msapi/nslcm.py | 3 ++- lcm/pub/msapi/sdc_run_catalog.py | 1 + lcm/pub/msapi/vnfmdriver.py | 9 +++++---- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/lcm/pub/msapi/activiti.py b/lcm/pub/msapi/activiti.py index b3a12205..5044bd49 100644 --- a/lcm/pub/msapi/activiti.py +++ b/lcm/pub/msapi/activiti.py @@ -23,32 +23,37 @@ filename:formdata ================================= Output: { - "status": "int", - "message": "string", - "deployedId": "string", - "processId": "string" + "status": "int", + "message": "string", + "deployedId": "string", + "processId": "string" } """ + + def deploy_workflow(file_path): file_name = file_path.split("/")[-1] file_data = { - 'file': open(file_path, 'rb'), + 'file': open(file_path, 'rb'), 'filename': file_name} ret = restcall.upload_by_msb("api/workflow/v1/package", "POST", file_data) if ret[0] != 0: raise NSLCMException("Status code is %s, detail is %s.", ret[2], ret[1]) return json.JSONDecoder().decode(ret[1]) + """ Input: None ================================= Output: { - "status": "int", - "message": "string", + "status": "int", + "message": "string", } """ + + def undeploy_workflow(deploy_id): uri = "api/workflow/v1/package/{deployId}".format(deployId=deploy_id) ret = restcall.req_by_msb(uri, "DELETE") @@ -60,21 +65,21 @@ def undeploy_workflow(deploy_id): """ Input: { - "processId": "string", - "params": "Map" + "processId": "string", + "params": "Map" } ================================= Output: { - "status": "int", - "message": "string", + "status": "int", + "message": "string", } """ + + def exec_workflow(content): content_str = json.JSONEncoder().encode(content) ret = restcall.req_by_msb("api/workflow/v1/process/instance", "POST", content_str) if ret[0] != 0: raise NSLCMException("Status code is %s, detail is %s.", ret[2], ret[1]) return json.JSONDecoder().decode(ret[1]) - - diff --git a/lcm/pub/msapi/catalog.py b/lcm/pub/msapi/catalog.py index db54a781..ebefcab1 100644 --- a/lcm/pub/msapi/catalog.py +++ b/lcm/pub/msapi/catalog.py @@ -83,6 +83,7 @@ def get_process_id(name, srv_template_id): return item['processId'] raise NSLCMException('service[%s,%s] process id not exist' % (name, srv_template_id)) + def get_servicetemplate_id(nsd_id): ret = req_by_msb('/api/catalog/v1/servicetemplates', 'GET') if ret[0] != 0: @@ -92,7 +93,8 @@ def get_servicetemplate_id(nsd_id): if stpl.get("id", "") == nsd_id: return stpl["serviceTemplateId"] raise NSLCMException('servicetemplate(%s) does not exist.' % nsd_id) - + + def get_servicetemplate(nsd_id): ret = req_by_msb('/api/catalog/v1/servicetemplates', 'GET') if ret[0] != 0: diff --git a/lcm/pub/msapi/extsys.py b/lcm/pub/msapi/extsys.py index 0214406b..0d423b6d 100644 --- a/lcm/pub/msapi/extsys.py +++ b/lcm/pub/msapi/extsys.py @@ -49,12 +49,14 @@ def get_vim_by_id(vim_id): vim_info = convert_vim_info(vim_info_aai) return vim_info + def split_vim_to_owner_region(vim_id): split_vim = vim_id.split('_') cloud_owner = split_vim[0] cloud_region = "".join(split_vim[1:]) return cloud_owner, cloud_region + def convert_vim_info(vim_info_aai): vim_id = vim_info_aai["cloud-owner"] + "_" + vim_info_aai["cloud-region-id"] esr_system_info = ignore_case_get(ignore_case_get(vim_info_aai, "esr-system-info-list"), "esr-system-info") diff --git a/lcm/pub/msapi/nslcm.py b/lcm/pub/msapi/nslcm.py index 70cb7086..44d8f843 100644 --- a/lcm/pub/msapi/nslcm.py +++ b/lcm/pub/msapi/nslcm.py @@ -19,6 +19,7 @@ from lcm.pub.utils.restcall import req_by_msb logger = logging.getLogger(__name__) + def call_from_ns_cancel_resource(res_type, instid): method = "DELETE" if res_type == 'vl': @@ -33,4 +34,4 @@ def call_from_ns_cancel_resource(res_type, instid): req_param = {} ret = req_by_msb(uri, method, json.dumps(req_param)) logger.info("[NS terminate] call vnfm [%s] result:%s" % (res_type, ret)) - return ret \ No newline at end of file + return ret diff --git a/lcm/pub/msapi/sdc_run_catalog.py b/lcm/pub/msapi/sdc_run_catalog.py index cf84dff1..45383c25 100644 --- a/lcm/pub/msapi/sdc_run_catalog.py +++ b/lcm/pub/msapi/sdc_run_catalog.py @@ -29,6 +29,7 @@ def parse_nsd(csar_id, input_parameters=[]): raise NSLCMException("Failed to parsernsd of CSAR(%s) from catalog." % csar_id) return json.JSONDecoder().decode(ret[1]) + def parse_vnfd(csar_id, input_parameters=[]): req_param = json.JSONEncoder().encode({"csarId": csar_id, "inputs": input_parameters}) ret = req_by_msb("/api/catalog/v1/parservnfd", "POST", req_param) diff --git a/lcm/pub/msapi/vnfmdriver.py b/lcm/pub/msapi/vnfmdriver.py index 9e88e2de..096462be 100644 --- a/lcm/pub/msapi/vnfmdriver.py +++ b/lcm/pub/msapi/vnfmdriver.py @@ -15,9 +15,8 @@ import json import logging from lcm.pub.exceptions import NSLCMException -from lcm.pub.utils.restcall import req_by_msb -from lcm.pub.utils.values import ignore_case_get from lcm.pub.msapi.extsys import get_vnfm_by_id +from lcm.pub.utils.restcall import req_by_msb logger = logging.getLogger(__name__) @@ -31,6 +30,7 @@ def send_nf_init_request(vnfm_inst_id, req_param): raise NSLCMException('Failed to send nf init request to VNFM(%s)' % vnfm_inst_id) return json.JSONDecoder().decode(ret[1]) + def send_nf_terminate_request(vnfm_inst_id, vnf_inst_id, req_param): vnfm = get_vnfm_by_id(vnfm_inst_id) uri = '/api/%s/v1/%s/vnfs/%s/terminate' % (vnfm["type"], vnfm_inst_id, vnf_inst_id) @@ -40,11 +40,11 @@ def send_nf_terminate_request(vnfm_inst_id, vnf_inst_id, req_param): raise NSLCMException('Failed to send nf terminate request to VNFM(%s)' % vnfm_inst_id) return json.JSONDecoder().decode(ret[1]) if ret[1] else {} + def query_vnfm_job(vnfm_inst_id, job_id, response_id=0): vnfm = get_vnfm_by_id(vnfm_inst_id) retry_time = 3 - uri = '/api/%s/v1/%s/jobs/%s?responseId=%s' % (vnfm["type"], - vnfm_inst_id, job_id, response_id) + uri = '/api/%s/v1/%s/jobs/%s?responseId=%s' % (vnfm["type"], vnfm_inst_id, job_id, response_id) while retry_time > 0: rsp = req_by_msb(uri, "GET") if str(rsp[2]) == '404': @@ -59,6 +59,7 @@ def query_vnfm_job(vnfm_inst_id, job_id, response_id=0): raise NSLCMException('Failed to query job from VNFM!') return True, json.JSONDecoder().decode(rsp[1]) + def send_nf_scaling_request(vnfm_inst_id, vnf_inst_id, req_param): vnfm = get_vnfm_by_id(vnfm_inst_id) uri = '/api/%s/v1/%s/vnfs/%s/scale' % (vnfm["type"], vnfm_inst_id, vnf_inst_id) -- cgit 1.2.3-korg