diff options
Diffstat (limited to 'osdf')
-rw-r--r-- | osdf/adapters/local_data/local_policies.py | 13 | ||||
-rw-r--r-- | osdf/optimizers/placementopt/conductor/translation.py | 21 |
2 files changed, 23 insertions, 11 deletions
diff --git a/osdf/adapters/local_data/local_policies.py b/osdf/adapters/local_data/local_policies.py index e722fe2..6e49388 100644 --- a/osdf/adapters/local_data/local_policies.py +++ b/osdf/adapters/local_data/local_policies.py @@ -33,11 +33,14 @@ def get_local_policies(local_policy_folder, local_policy_list, policy_id_list=No :return: get policies """ policies = [] - for fname in local_policy_list: # ugly removal of .json from file name - if policy_id_list and fname[:-5] not in policy_id_list: - continue - with open(os.path.join(local_policy_folder, fname)) as fid: - policies.append(json.load(fid)) + if policy_id_list: + for policy_id in policy_id_list: + with open(os.path.join(local_policy_folder, policy_id + ".json")) as fid: + policies.append(json.load(fid)) + else: + for fname in local_policy_list: + with open(os.path.join(local_policy_folder, fname)) as fid: + policies.append(json.load(fid)) return policies diff --git a/osdf/optimizers/placementopt/conductor/translation.py b/osdf/optimizers/placementopt/conductor/translation.py index 5f44c83..e703c36 100644 --- a/osdf/optimizers/placementopt/conductor/translation.py +++ b/osdf/optimizers/placementopt/conductor/translation.py @@ -221,12 +221,21 @@ def get_demand_properties(demand, policies): for policy_property in get_policy_properties(demand, policies): prop = dict(inventory_provider=policy_property['inventoryProvider'], inventory_type=policy_property['inventoryType'], - service_resource_id=demand['serviceResourceId']) - if 'attributes' in policy_property: - prop['attributes'] = get_augmented_policy_attributes(policy_property, demand) - for k1, v1, k2, v2 in policy_config_mapping['extra_fields']: - if k1 == v1: - prop[k2] = v2 + service_type=demand['serviceResourceId']) + attributes = policy_config_mapping['attributes'] + prop['attributes'] = { + 'customer-id': policy_property['customerId'], + 'orchestration-status': "", + 'model-invariant-id': demand['resourceModelInfo']['modelInvariantId'], + 'model-version-id': demand['resourceModelInfo']['modelVersionId'], + 'service-type': demand['serviceResourceId'], + 'equipment-role': policy_property['equipmentRole'] + } + # if 'attributes' in policy_property: + # prop['attributes'] = get_augmented_policy_attributes(policy_property, demand) + # for k1, v1, k2, v2 in policy_config_mapping['extra_fields']: + # if k1 == v1: + # prop[k2] = v2 prop.update(get_candidates_demands(demand)) # for excluded and partial-rehoming cases demand_properties.append(prop) return demand_properties |