Loading src/adapters/tf_adapter/application_deployment_management.py +12 −12 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ from models.mongo_document import OriginatingOperatorPlatform from models.mongo_document import OriginatingApplicationOnboardingManagement from models.mongo_document import OriginatingApplicationDeploymentManagement from adapters.error import APIError from clients import tf_sdk from clients import srm def get_all_app_instances(federation_context_id, app_id, app_provider_id, bearer_token=None, partner_api_root=None): # noqa: E501 Loading Loading @@ -131,9 +131,9 @@ def get_app_instance_details(federation_context_id, app_id, app_instance_id, zon # Check if exist instance id at Edge Cloud Platform try: response = tf_sdk.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) if response.status_code != 200: raise APIError(500, f"Error: {response.status_code} from tf_sdk. {response.content}") raise APIError(500, f"Error: {response.status_code} from srm. {response.content}") except APIError: raise # Re-raise APIError as-is except Exception as error: Loading @@ -141,7 +141,7 @@ def get_app_instance_details(federation_context_id, app_id, app_instance_id, zon # Check if exist zone id at Edge Cloud Platform try: if not tf_sdk.get_zone_by_zone_id(zone_id): if not srm.get_zone_by_zone_id(zone_id): raise APIError(422, "Zone Id not found at Edge Cloud Platform") except APIError: raise # Re-raise APIError as-is Loading Loading @@ -242,7 +242,7 @@ def install_app(federation_context_id, body, bearer_token=None, partner_api_root instance_id = "" instance_id_data = {} try: response = tf_sdk.post_app_command(body.to_gsma_input()) response = srm.post_app_command(body.to_gsma_input()) if response.status_code != 202: raise APIError(500, f"Error {response.status_code} - {response.content}") instance_id_data = response.json() Loading @@ -264,7 +264,7 @@ def install_app(federation_context_id, body, bearer_token=None, partner_api_root if originating_ad_objects: # if not is possible to create deployment in FM, delete the app command created try: response = tf_sdk.delete_app(body.app_id, instance_id, zone_id) response = srm.delete_app(body.app_id, instance_id, zone_id) if response.status_code != 200: raise APIError(500, f"Unable to delete app in tf_sdk when is not possible create deployment in FM. " f"Error {response.status_code} - {response.content}") Loading Loading @@ -341,11 +341,11 @@ def remove_app(federation_context_id, app_id, app_instance_id, zone_id, bearer_t "appId, appInstanceId and zoneId") # Check if exist instance id at Edge Cloud Platform and delete response = tf_sdk.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) if response.status_code == 200 or response.status_code == 503: # Delete Application command at Edge Cloud Platform try: response = tf_sdk.delete_app(app_id, app_instance_id, zone_id) response = srm.delete_app(app_id, app_instance_id, zone_id) if response.status_code == 200: # Delete Application Deployment originating_ad_objects.delete() Loading Loading @@ -385,7 +385,7 @@ def fill_application_deployment_mongo_document(federation_context_id, instance_i def check_zone_and_flavour(body): correct = True zone_data = tf_sdk.get_zone_by_zone_id(body.zone_info.zone_id) zone_data = srm.get_zone_by_zone_id(body.zone_info.zone_id) if not zone_data: return False Loading Loading @@ -443,7 +443,7 @@ def get_list_zones_instances(instances_deployment): def check_flavour_in_tf_sdk(flavour_id): exist = False zone_data = tf_sdk.get_zones() zone_data = srm.get_zones() if not zone_data: return False Loading @@ -465,7 +465,7 @@ def find_instance_state(app_id, instance_id, zone_id): instance_state = "" try: response = tf_sdk.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) if response.status_code != 200: return f"Error {response.status_code} - {response.content}" data = response.json() Loading @@ -480,7 +480,7 @@ def create_response_instance_details(app_id, instance_id, zone_id): response_data = "" try: response = tf_sdk.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) data = response.json() if isinstance(data, dict): Loading src/adapters/tf_adapter/application_onboarding_management.py +5 −5 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ from models.mongo_document import OriginatingApplicationOnboardingManagementUpda from models.mongo_document import OriginatingZoneInfo from models.mongo_document import OriginatingApplicationDeploymentManagement from adapters.error import APIError from clients import tf_sdk from clients import srm def delete_app(federation_context_id, app_id, bearer_token=None, partner_api_root=None): # noqa: E501 Loading Loading @@ -65,7 +65,7 @@ def delete_app(federation_context_id, app_id, bearer_token=None, partner_api_roo # Delete onboarding at edgecloud_client try: response = tf_sdk.delete_onboarding(app_id) response = srm.delete_onboarding(app_id) if response.status_code == 200: # Delete all the onboarding updates related to onboarding application obj_onboarding = originating_ao_objects.get() Loading Loading @@ -142,7 +142,7 @@ def onboard_application(body, federation_context_id, bearer_token=None, partner_ # Create onboarding at Edge Cloud Platform try: response = tf_sdk.post_onboarding(body.to_gsma_input()) response = srm.post_onboarding(body.to_gsma_input()) if response.status_code == 200: # Convert the original model instance to the MongoEngine document onboarding_data = fill_application_onboarding_mongo_document(federation_context_id, body) Loading Loading @@ -206,7 +206,7 @@ def update_application(body, federation_context_id, app_id, bearer_token=None, p # Update onboarding at Edge Cloud Platform # Retrieve JSON try: response = tf_sdk.update_onboarding(app_id, body.to_gsma_input()) response = srm.update_onboarding(app_id, body.to_gsma_input()) if response.status_code == 200: # Update onboarding in FM # Convert the original model instance to the MongoEngine document Loading Loading @@ -370,7 +370,7 @@ def check_deployment_zones(federation_context_id, body): # Check if exist deployment zones in Edge Cloud Platform for acs in body.app_deployment_zones: # Check if exist Zone Id in i2edge zone_data = tf_sdk.get_zone_by_zone_id(acs) zone_data = srm.get_zone_by_zone_id(acs) if not zone_data: return False Loading src/adapters/tf_adapter/artefact_management.py +3 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ from models.mongo_document import OriginatingOperatorPlatform from models.mongo_document import OriginatingArtefactManagement from models.mongo_document import OriginatingApplicationOnboardingManagement from clients import artefact_manager from clients import tf_sdk from clients import srm from configparser import ConfigParser import os Loading Loading @@ -132,7 +132,7 @@ def remove_artefact(federation_context_id, artefact_id, bearer_token=None, partn raise APIError(409, "Unable to remove Artefact. There are application onboardings dependent. Remove it and try again ") try: response = tf_sdk.delete_artefact(artefact_id) response = srm.delete_artefact(artefact_id) if response.status_code != 200: raise APIError(422, f"Unable to delete artefact from Edge Cloud Platform. Response: {response.content}") except Exception as error: Loading Loading @@ -272,7 +272,7 @@ def upload_artefact(body, federation_context_id, bearer_token=None, partner_api_ # Onboarding artefact to Edge Cloud Platform try: response = tf_sdk.onboarding_artefact(body.to_gsma_input()) response = srm.onboarding_artefact(body.to_gsma_input()) print(f"DEBUG: ECP response status: {response.status_code}, body: {response.text}") if response.status_code not in [200, 201]: response_data = response.json() Loading src/adapters/tf_adapter/availability_zone_info_synchronization.py +4 −4 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ from models.mongo_document import OriginatingOperatorPlatform from models.mongo_document import OriginatingZoneInfo from models.mongo_document import OriginatingApplicationOnboardingManagement from adapters.error import APIError from clients import tf_sdk from clients import srm def get_zone_data(federation_context_id, zone_id, bearer_token=None, partner_api_root=None): # noqa: E501 Loading Loading @@ -57,7 +57,7 @@ def get_zone_data(federation_context_id, zone_id, bearer_token=None, partner_api # Check if exist Zone at Edge Cloud Platform try: response_data = tf_sdk.get_zone_by_zone_id(zone_id) response_data = srm.get_zone_by_zone_id(zone_id) resource = response_data.get("computeResourceQuotaLimits") for d in resource: huge = d.get("hugepages") Loading Loading @@ -215,7 +215,7 @@ def zone_unsubscribe(federation_context_id, zone_id, bearer_token=None, partner_ def check_availability_zones(accepted_availability_zones): # Get the zones list from Edge Cloud Platform zones = tf_sdk.get_list_zones() zones = srm.get_list_zones() # Creates an array only with zone id from zones list zone_id_array = [] # zones = zones.json() Loading @@ -240,7 +240,7 @@ def check_availability_zones(accepted_availability_zones): def get_info_availability_zones_from_zones_edge_cloud_platform(availability_zones): # Retrieve zones from Edge Cloud Platform info_zones_list = tf_sdk.get_zones() info_zones_list = srm.get_zones() zones_for_federation = [] # Loop zones assigned to our federation Loading src/adapters/tf_adapter/federation_management.py +14 −10 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ from models.mongo_document import OriginatingOperatorPlatformUpdate from models.mongo_document import OriginatingZoneInfo from models.mongo_document import OriginatingArtefactManagement from adapters.error import APIError from clients import tf_sdk from clients import srm CONFIG = ConfigParser() config_file = os.environ.get("FM_CONFIG_FILE", "conf/config.cfg") Loading Loading @@ -363,11 +363,13 @@ def prepare_offered_availability_zones(): offered_zones_array = [] # Get the zones list from Edge Cloud Platform zones = tf_sdk.get_list_zones() zones = srm.get_list_zones() for zone in zones: # If the zone value is a dict, is a correct zone, else there is an issue and returns a str if isinstance(zone, dict): geolocation = zone.get("geolocation").replace("_", ",") geolocation = zone.get("geolocation") if geolocation: geolocation = geolocation.replace("_", ",") array_numbers = geolocation.split(",") numberone = float(array_numbers[0]) Loading @@ -376,10 +378,12 @@ def prepare_offered_availability_zones(): numbertwo_4 = f"{numbertwo:.4f}" geolocation = f"{numberone_4},{numbertwo_4}" # 4 decimals else: geolocation = "0.0000,0.0000" zone_data = { "zoneId": zone.get("zoneId"), "geographyDetails": zone.get("geographyDetails"), "geographyDetails": zone.get("geographyDetails") or "unknown", "geolocation": geolocation } offered_zones_array.append(zone_data) Loading Loading
src/adapters/tf_adapter/application_deployment_management.py +12 −12 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ from models.mongo_document import OriginatingOperatorPlatform from models.mongo_document import OriginatingApplicationOnboardingManagement from models.mongo_document import OriginatingApplicationDeploymentManagement from adapters.error import APIError from clients import tf_sdk from clients import srm def get_all_app_instances(federation_context_id, app_id, app_provider_id, bearer_token=None, partner_api_root=None): # noqa: E501 Loading Loading @@ -131,9 +131,9 @@ def get_app_instance_details(federation_context_id, app_id, app_instance_id, zon # Check if exist instance id at Edge Cloud Platform try: response = tf_sdk.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) if response.status_code != 200: raise APIError(500, f"Error: {response.status_code} from tf_sdk. {response.content}") raise APIError(500, f"Error: {response.status_code} from srm. {response.content}") except APIError: raise # Re-raise APIError as-is except Exception as error: Loading @@ -141,7 +141,7 @@ def get_app_instance_details(federation_context_id, app_id, app_instance_id, zon # Check if exist zone id at Edge Cloud Platform try: if not tf_sdk.get_zone_by_zone_id(zone_id): if not srm.get_zone_by_zone_id(zone_id): raise APIError(422, "Zone Id not found at Edge Cloud Platform") except APIError: raise # Re-raise APIError as-is Loading Loading @@ -242,7 +242,7 @@ def install_app(federation_context_id, body, bearer_token=None, partner_api_root instance_id = "" instance_id_data = {} try: response = tf_sdk.post_app_command(body.to_gsma_input()) response = srm.post_app_command(body.to_gsma_input()) if response.status_code != 202: raise APIError(500, f"Error {response.status_code} - {response.content}") instance_id_data = response.json() Loading @@ -264,7 +264,7 @@ def install_app(federation_context_id, body, bearer_token=None, partner_api_root if originating_ad_objects: # if not is possible to create deployment in FM, delete the app command created try: response = tf_sdk.delete_app(body.app_id, instance_id, zone_id) response = srm.delete_app(body.app_id, instance_id, zone_id) if response.status_code != 200: raise APIError(500, f"Unable to delete app in tf_sdk when is not possible create deployment in FM. " f"Error {response.status_code} - {response.content}") Loading Loading @@ -341,11 +341,11 @@ def remove_app(federation_context_id, app_id, app_instance_id, zone_id, bearer_t "appId, appInstanceId and zoneId") # Check if exist instance id at Edge Cloud Platform and delete response = tf_sdk.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, app_instance_id, zone_id) if response.status_code == 200 or response.status_code == 503: # Delete Application command at Edge Cloud Platform try: response = tf_sdk.delete_app(app_id, app_instance_id, zone_id) response = srm.delete_app(app_id, app_instance_id, zone_id) if response.status_code == 200: # Delete Application Deployment originating_ad_objects.delete() Loading Loading @@ -385,7 +385,7 @@ def fill_application_deployment_mongo_document(federation_context_id, instance_i def check_zone_and_flavour(body): correct = True zone_data = tf_sdk.get_zone_by_zone_id(body.zone_info.zone_id) zone_data = srm.get_zone_by_zone_id(body.zone_info.zone_id) if not zone_data: return False Loading Loading @@ -443,7 +443,7 @@ def get_list_zones_instances(instances_deployment): def check_flavour_in_tf_sdk(flavour_id): exist = False zone_data = tf_sdk.get_zones() zone_data = srm.get_zones() if not zone_data: return False Loading @@ -465,7 +465,7 @@ def find_instance_state(app_id, instance_id, zone_id): instance_state = "" try: response = tf_sdk.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) if response.status_code != 200: return f"Error {response.status_code} - {response.content}" data = response.json() Loading @@ -480,7 +480,7 @@ def create_response_instance_details(app_id, instance_id, zone_id): response_data = "" try: response = tf_sdk.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) response = srm.get_app_by_zone_app_instance_id(app_id, instance_id, zone_id) data = response.json() if isinstance(data, dict): Loading
src/adapters/tf_adapter/application_onboarding_management.py +5 −5 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ from models.mongo_document import OriginatingApplicationOnboardingManagementUpda from models.mongo_document import OriginatingZoneInfo from models.mongo_document import OriginatingApplicationDeploymentManagement from adapters.error import APIError from clients import tf_sdk from clients import srm def delete_app(federation_context_id, app_id, bearer_token=None, partner_api_root=None): # noqa: E501 Loading Loading @@ -65,7 +65,7 @@ def delete_app(federation_context_id, app_id, bearer_token=None, partner_api_roo # Delete onboarding at edgecloud_client try: response = tf_sdk.delete_onboarding(app_id) response = srm.delete_onboarding(app_id) if response.status_code == 200: # Delete all the onboarding updates related to onboarding application obj_onboarding = originating_ao_objects.get() Loading Loading @@ -142,7 +142,7 @@ def onboard_application(body, federation_context_id, bearer_token=None, partner_ # Create onboarding at Edge Cloud Platform try: response = tf_sdk.post_onboarding(body.to_gsma_input()) response = srm.post_onboarding(body.to_gsma_input()) if response.status_code == 200: # Convert the original model instance to the MongoEngine document onboarding_data = fill_application_onboarding_mongo_document(federation_context_id, body) Loading Loading @@ -206,7 +206,7 @@ def update_application(body, federation_context_id, app_id, bearer_token=None, p # Update onboarding at Edge Cloud Platform # Retrieve JSON try: response = tf_sdk.update_onboarding(app_id, body.to_gsma_input()) response = srm.update_onboarding(app_id, body.to_gsma_input()) if response.status_code == 200: # Update onboarding in FM # Convert the original model instance to the MongoEngine document Loading Loading @@ -370,7 +370,7 @@ def check_deployment_zones(federation_context_id, body): # Check if exist deployment zones in Edge Cloud Platform for acs in body.app_deployment_zones: # Check if exist Zone Id in i2edge zone_data = tf_sdk.get_zone_by_zone_id(acs) zone_data = srm.get_zone_by_zone_id(acs) if not zone_data: return False Loading
src/adapters/tf_adapter/artefact_management.py +3 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ from models.mongo_document import OriginatingOperatorPlatform from models.mongo_document import OriginatingArtefactManagement from models.mongo_document import OriginatingApplicationOnboardingManagement from clients import artefact_manager from clients import tf_sdk from clients import srm from configparser import ConfigParser import os Loading Loading @@ -132,7 +132,7 @@ def remove_artefact(federation_context_id, artefact_id, bearer_token=None, partn raise APIError(409, "Unable to remove Artefact. There are application onboardings dependent. Remove it and try again ") try: response = tf_sdk.delete_artefact(artefact_id) response = srm.delete_artefact(artefact_id) if response.status_code != 200: raise APIError(422, f"Unable to delete artefact from Edge Cloud Platform. Response: {response.content}") except Exception as error: Loading Loading @@ -272,7 +272,7 @@ def upload_artefact(body, federation_context_id, bearer_token=None, partner_api_ # Onboarding artefact to Edge Cloud Platform try: response = tf_sdk.onboarding_artefact(body.to_gsma_input()) response = srm.onboarding_artefact(body.to_gsma_input()) print(f"DEBUG: ECP response status: {response.status_code}, body: {response.text}") if response.status_code not in [200, 201]: response_data = response.json() Loading
src/adapters/tf_adapter/availability_zone_info_synchronization.py +4 −4 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ from models.mongo_document import OriginatingOperatorPlatform from models.mongo_document import OriginatingZoneInfo from models.mongo_document import OriginatingApplicationOnboardingManagement from adapters.error import APIError from clients import tf_sdk from clients import srm def get_zone_data(federation_context_id, zone_id, bearer_token=None, partner_api_root=None): # noqa: E501 Loading Loading @@ -57,7 +57,7 @@ def get_zone_data(federation_context_id, zone_id, bearer_token=None, partner_api # Check if exist Zone at Edge Cloud Platform try: response_data = tf_sdk.get_zone_by_zone_id(zone_id) response_data = srm.get_zone_by_zone_id(zone_id) resource = response_data.get("computeResourceQuotaLimits") for d in resource: huge = d.get("hugepages") Loading Loading @@ -215,7 +215,7 @@ def zone_unsubscribe(federation_context_id, zone_id, bearer_token=None, partner_ def check_availability_zones(accepted_availability_zones): # Get the zones list from Edge Cloud Platform zones = tf_sdk.get_list_zones() zones = srm.get_list_zones() # Creates an array only with zone id from zones list zone_id_array = [] # zones = zones.json() Loading @@ -240,7 +240,7 @@ def check_availability_zones(accepted_availability_zones): def get_info_availability_zones_from_zones_edge_cloud_platform(availability_zones): # Retrieve zones from Edge Cloud Platform info_zones_list = tf_sdk.get_zones() info_zones_list = srm.get_zones() zones_for_federation = [] # Loop zones assigned to our federation Loading
src/adapters/tf_adapter/federation_management.py +14 −10 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ from models.mongo_document import OriginatingOperatorPlatformUpdate from models.mongo_document import OriginatingZoneInfo from models.mongo_document import OriginatingArtefactManagement from adapters.error import APIError from clients import tf_sdk from clients import srm CONFIG = ConfigParser() config_file = os.environ.get("FM_CONFIG_FILE", "conf/config.cfg") Loading Loading @@ -363,11 +363,13 @@ def prepare_offered_availability_zones(): offered_zones_array = [] # Get the zones list from Edge Cloud Platform zones = tf_sdk.get_list_zones() zones = srm.get_list_zones() for zone in zones: # If the zone value is a dict, is a correct zone, else there is an issue and returns a str if isinstance(zone, dict): geolocation = zone.get("geolocation").replace("_", ",") geolocation = zone.get("geolocation") if geolocation: geolocation = geolocation.replace("_", ",") array_numbers = geolocation.split(",") numberone = float(array_numbers[0]) Loading @@ -376,10 +378,12 @@ def prepare_offered_availability_zones(): numbertwo_4 = f"{numbertwo:.4f}" geolocation = f"{numberone_4},{numbertwo_4}" # 4 decimals else: geolocation = "0.0000,0.0000" zone_data = { "zoneId": zone.get("zoneId"), "geographyDetails": zone.get("geographyDetails"), "geographyDetails": zone.get("geographyDetails") or "unknown", "geolocation": geolocation } offered_zones_array.append(zone_data) Loading