Loading service-resource-manager-implementation/src/controllers/edge_cloud_management_controller.py +15 −40 Changes for service-resource-manager-implementation/src/controllers/edge_cloud_management_controller.py: 15 added lines, 40 removed lines. Original line number Diff line number Diff line import connexion import logging import uuid from os import environ from sunrise6g_opensdk import Sdk as sdkclient logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) # --------------------------------------------------------------------- # Adapter initialization # --------------------------------------------------------------------- edgecloud_adapter = None if environ.get("EDGE_CLOUD_ADAPTER_NAME"): edgecloud_adapter_name = environ["EDGE_CLOUD_ADAPTER_NAME"] edgecloud_adapter_base_url = environ.get("ADAPTER_BASE_URL") edgecloud_adapter_specs = { "client_name": edgecloud_adapter_name, "base_url": edgecloud_adapter_base_url, } edgecloud_adapter_specs.update(environ) import connexion logger.info("Creating edge cloud adapter with env: %s", edgecloud_adapter_specs) from src.services.tf_sdk import get_client adapters = sdkclient.create_adapters_from( adapter_specs={"edgecloud": edgecloud_adapter_specs} ) edgecloud_adapter = adapters.get("edgecloud") if edgecloud_adapter is None: raise RuntimeError("Edge cloud adapter could not be initialized") logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) # --------------------------------------------------------------------- # Helpers: normalize adapter responses Loading Loading @@ -99,7 +74,7 @@ def register_service_function(body=None): payload = connexion.request.get_json() if not payload.get("appId"): payload["appId"] = str(uuid.uuid4()) response = edgecloud_adapter.onboard_app(payload) response = get_client().onboard_app(payload) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to register service function") Loading @@ -108,7 +83,7 @@ def register_service_function(body=None): def get_service_function(service_function_id: str): try: response = edgecloud_adapter.get_onboarded_app(service_function_id) response = get_client().get_onboarded_app(service_function_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to get service function") Loading @@ -117,7 +92,7 @@ def get_service_function(service_function_id: str): def get_service_functions(): try: response = edgecloud_adapter.get_all_onboarded_apps() response = get_client().get_all_onboarded_apps() return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to list service functions") Loading @@ -126,7 +101,7 @@ def get_service_functions(): def deregister_service_function(service_function_id: str): try: response = edgecloud_adapter.delete_onboarded_app(service_function_id) response = get_client().delete_onboarded_app(service_function_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to deregister service function") Loading @@ -143,9 +118,9 @@ def deploy_service_function(): try: body = connexion.request.get_json() response = edgecloud_adapter.deploy_app( response = get_client().deploy_app( body.get("appId"), body.get("appZones") body.get("appZones"), ) return _safe_http_json_response(response) Loading @@ -160,7 +135,7 @@ def deploy_service_function(): def delete_deployed_service_function(app_id: str): try: response = edgecloud_adapter.undeploy_app(app_id) response = get_client().undeploy_app(app_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to undeploy service function") Loading @@ -169,7 +144,7 @@ def delete_deployed_service_function(app_id: str): def get_deployed_service_function(app_id: str): try: response = edgecloud_adapter.get_deployed_app(app_id=app_id) response = get_client().get_deployed_app(app_id=app_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to get deployed service function") Loading @@ -178,7 +153,7 @@ def get_deployed_service_function(app_id: str): def get_deployed_service_functions(): try: response = edgecloud_adapter.get_all_deployed_apps() response = get_client().get_all_deployed_apps() return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to list deployed service functions") Loading @@ -194,7 +169,7 @@ def get_nodes(): Normalizes the HTTP response and ensures edgeCloudRegion is always present. """ try: response = edgecloud_adapter.get_edge_cloud_zones() response = get_client().get_edge_cloud_zones() data, status = _safe_http_json_response(response) return _ensure_edge_cloud_region(data), status except Exception as e: Loading @@ -208,7 +183,7 @@ def node_details(node_id: str): Normalizes the HTTP response and ensures edgeCloudRegion is always present. """ try: response = edgecloud_adapter.get_edge_cloud_zones_details(zone_id=node_id) response = get_client().get_edge_cloud_zones_details(zone_id=node_id) data, status = _safe_http_json_response(response) return _ensure_edge_cloud_region(data), status except Exception as e: Loading service-resource-manager-implementation/src/services/tf_sdk.py 0 → 100644 +38 −0 Changes for service-resource-manager-implementation/src/services/tf_sdk.py: 38 added lines, 0 removed lines. Original line number Diff line number Diff line import logging from os import environ from sunrise6g_opensdk import Sdk as sdkclient logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) client = None def create_client(): if environ.get("EDGE_CLOUD_ADAPTER_NAME"): edgecloud_adapter_name = environ["EDGE_CLOUD_ADAPTER_NAME"] edgecloud_adapter_base_url = environ.get("ADAPTER_BASE_URL") edgecloud_adapter_specs = { "client_name": edgecloud_adapter_name, "base_url": edgecloud_adapter_base_url, } edgecloud_adapter_specs.update(environ) logger.info("Creating edge cloud adapter with env: %s", edgecloud_adapter_specs) adapters = sdkclient.create_adapters_from( adapter_specs={"edgecloud": edgecloud_adapter_specs} ) edgecloud_adapter = adapters.get("edgecloud") if edgecloud_adapter is None: raise RuntimeError("Edge cloud adapter could not be initialized") return edgecloud_adapter def get_client(): global client if client is None: client = create_client() return client No newline at end of file Loading
service-resource-manager-implementation/src/controllers/edge_cloud_management_controller.py +15 −40 Changes for service-resource-manager-implementation/src/controllers/edge_cloud_management_controller.py: 15 added lines, 40 removed lines. Original line number Diff line number Diff line import connexion import logging import uuid from os import environ from sunrise6g_opensdk import Sdk as sdkclient logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) # --------------------------------------------------------------------- # Adapter initialization # --------------------------------------------------------------------- edgecloud_adapter = None if environ.get("EDGE_CLOUD_ADAPTER_NAME"): edgecloud_adapter_name = environ["EDGE_CLOUD_ADAPTER_NAME"] edgecloud_adapter_base_url = environ.get("ADAPTER_BASE_URL") edgecloud_adapter_specs = { "client_name": edgecloud_adapter_name, "base_url": edgecloud_adapter_base_url, } edgecloud_adapter_specs.update(environ) import connexion logger.info("Creating edge cloud adapter with env: %s", edgecloud_adapter_specs) from src.services.tf_sdk import get_client adapters = sdkclient.create_adapters_from( adapter_specs={"edgecloud": edgecloud_adapter_specs} ) edgecloud_adapter = adapters.get("edgecloud") if edgecloud_adapter is None: raise RuntimeError("Edge cloud adapter could not be initialized") logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) # --------------------------------------------------------------------- # Helpers: normalize adapter responses Loading Loading @@ -99,7 +74,7 @@ def register_service_function(body=None): payload = connexion.request.get_json() if not payload.get("appId"): payload["appId"] = str(uuid.uuid4()) response = edgecloud_adapter.onboard_app(payload) response = get_client().onboard_app(payload) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to register service function") Loading @@ -108,7 +83,7 @@ def register_service_function(body=None): def get_service_function(service_function_id: str): try: response = edgecloud_adapter.get_onboarded_app(service_function_id) response = get_client().get_onboarded_app(service_function_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to get service function") Loading @@ -117,7 +92,7 @@ def get_service_function(service_function_id: str): def get_service_functions(): try: response = edgecloud_adapter.get_all_onboarded_apps() response = get_client().get_all_onboarded_apps() return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to list service functions") Loading @@ -126,7 +101,7 @@ def get_service_functions(): def deregister_service_function(service_function_id: str): try: response = edgecloud_adapter.delete_onboarded_app(service_function_id) response = get_client().delete_onboarded_app(service_function_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to deregister service function") Loading @@ -143,9 +118,9 @@ def deploy_service_function(): try: body = connexion.request.get_json() response = edgecloud_adapter.deploy_app( response = get_client().deploy_app( body.get("appId"), body.get("appZones") body.get("appZones"), ) return _safe_http_json_response(response) Loading @@ -160,7 +135,7 @@ def deploy_service_function(): def delete_deployed_service_function(app_id: str): try: response = edgecloud_adapter.undeploy_app(app_id) response = get_client().undeploy_app(app_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to undeploy service function") Loading @@ -169,7 +144,7 @@ def delete_deployed_service_function(app_id: str): def get_deployed_service_function(app_id: str): try: response = edgecloud_adapter.get_deployed_app(app_id=app_id) response = get_client().get_deployed_app(app_id=app_id) return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to get deployed service function") Loading @@ -178,7 +153,7 @@ def get_deployed_service_function(app_id: str): def get_deployed_service_functions(): try: response = edgecloud_adapter.get_all_deployed_apps() response = get_client().get_all_deployed_apps() return _safe_http_json_response(response) except Exception as e: logger.exception("Failed to list deployed service functions") Loading @@ -194,7 +169,7 @@ def get_nodes(): Normalizes the HTTP response and ensures edgeCloudRegion is always present. """ try: response = edgecloud_adapter.get_edge_cloud_zones() response = get_client().get_edge_cloud_zones() data, status = _safe_http_json_response(response) return _ensure_edge_cloud_region(data), status except Exception as e: Loading @@ -208,7 +183,7 @@ def node_details(node_id: str): Normalizes the HTTP response and ensures edgeCloudRegion is always present. """ try: response = edgecloud_adapter.get_edge_cloud_zones_details(zone_id=node_id) response = get_client().get_edge_cloud_zones_details(zone_id=node_id) data, status = _safe_http_json_response(response) return _ensure_edge_cloud_region(data), status except Exception as e: Loading
service-resource-manager-implementation/src/services/tf_sdk.py 0 → 100644 +38 −0 Changes for service-resource-manager-implementation/src/services/tf_sdk.py: 38 added lines, 0 removed lines. Original line number Diff line number Diff line import logging from os import environ from sunrise6g_opensdk import Sdk as sdkclient logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) client = None def create_client(): if environ.get("EDGE_CLOUD_ADAPTER_NAME"): edgecloud_adapter_name = environ["EDGE_CLOUD_ADAPTER_NAME"] edgecloud_adapter_base_url = environ.get("ADAPTER_BASE_URL") edgecloud_adapter_specs = { "client_name": edgecloud_adapter_name, "base_url": edgecloud_adapter_base_url, } edgecloud_adapter_specs.update(environ) logger.info("Creating edge cloud adapter with env: %s", edgecloud_adapter_specs) adapters = sdkclient.create_adapters_from( adapter_specs={"edgecloud": edgecloud_adapter_specs} ) edgecloud_adapter = adapters.get("edgecloud") if edgecloud_adapter is None: raise RuntimeError("Edge cloud adapter could not be initialized") return edgecloud_adapter def get_client(): global client if client is None: client = create_client() return client No newline at end of file