diff options
Diffstat (limited to 'osdf/optimizers/placementopt/conductor/api_builder.py')
-rw-r--r-- | osdf/optimizers/placementopt/conductor/api_builder.py | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/osdf/optimizers/placementopt/conductor/api_builder.py b/osdf/optimizers/placementopt/conductor/api_builder.py index 0a874f7..d8a2083 100644 --- a/osdf/optimizers/placementopt/conductor/api_builder.py +++ b/osdf/optimizers/placementopt/conductor/api_builder.py @@ -18,7 +18,6 @@ import copy import json -# from osdf.utils import data_mapping from jinja2 import Template from osdf.utils.programming_utils import list_flatten, dot_notation import osdf.optimizers.placementopt.conductor.translation as tr @@ -39,10 +38,10 @@ def conductor_api_builder(request_json, flat_policies: list, local_config, prov_ gp = group_policies(flat_policies) demand_vnf_name_list = [] - for placementDemand in request_json['placementInfo']['demandInfo']['placementDemand']: + for placementDemand in request_json['placementInfo']['placementDemands']: demand_vnf_name_list.append(placementDemand['resourceModuleName']) - demand_list = tr.gen_demands(request_json['placementInfo']['demandInfo'], gp['vnfPolicy']) + demand_list = tr.gen_demands(request_json, gp['vnfPolicy']) attribute_policy_list = tr.gen_attribute_policy(demand_vnf_name_list, gp['attribute']) distance_to_location_policy_list = tr.gen_distance_to_location_policy( demand_vnf_name_list, gp['distance_to_location']) @@ -60,7 +59,7 @@ def conductor_api_builder(request_json, flat_policies: list, local_config, prov_ reservation_policies = [x for x in reservation_policy_list if len(x) > 0] reservation_groups = list_flatten(reservation_policies) req_info = request_json['requestInfo'] - model_name = request_json['placementInfo']['serviceModelInfo']['modelName'] + model_name = request_json['serviceInfo']['serviceName'] service_type = model_name # service_type = data_mapping.get_service_type(model_name) service_info = local_config.get('service_info', {}).get(service_type, {}) @@ -71,6 +70,7 @@ def conductor_api_builder(request_json, flat_policies: list, local_config, prov_ subs_com_site_id = "" if 'subscriberInfo' in request_json['placementInfo']: subs_com_site_id = request_json['placementInfo']['subscriberInfo'].get('subscriberCommonSiteId', "") + rendered_req = None if service_type == 'vCPE': # data_mapping.normalize_user_params(order_info) rendered_req = templ.render( @@ -83,28 +83,10 @@ def conductor_api_builder(request_json, flat_policies: list, local_config, prov_ timeout=req_info['timeout'], limit=req_info['numSolutions'], serviceType=service_type, - serviceInstance=request_json['placementInfo']['serviceInstanceId'], + serviceInstance=request_json['serviceInfo']['serviceInstanceId'], provStatus = prov_status, chosenRegion=order_info.get('requestParameters',{}).get('lcpCloudRegionId'), json=json) - elif service_type == 'UNKNOWN': - rendered_req = templ.render( - requestType=request_type, - chosenComplex=subs_com_site_id, - demand_list=demand_list, - policy_groups=policy_groups, - reservation_groups=reservation_groups, - optimization_policies=optimization_policy_list, - name=req_info['requestId'], - timeout=req_info['timeout'], - limit=req_info['numSolutions'], - serviceType=service_type, - serviceInstance=request_json['placementInfo']['serviceInstanceId'], - provStatus = prov_status, - # process order data - bandwidth=dot_notation(order_info, service_info['bandwidth']), - bandwidth_unit=dot_notation(order_info, service_info['bandwidth_units']), - json=json) json_payload = json.dumps(json.loads(rendered_req)) # need this because template's JSON is ugly! return json_payload |