diff --git a/geant_service_orchestrator/services/provisioning_proxy.py b/geant_service_orchestrator/services/provisioning_proxy.py new file mode 100644 index 0000000000000000000000000000000000000000..96874ed8bb549bc5ab2407cf420a53bcafd827bf --- /dev/null +++ b/geant_service_orchestrator/services/provisioning_proxy.py @@ -0,0 +1,14 @@ +from geant_service_orchestrator.products.product_types.device \ + import DeviceBlock +from geant_service_orchestrator import settings +import requests + + +def provision_node( + node_subscription_params: DeviceBlock, + pp_params=settings.OSSParams.PROVISIONING_PROXY): + r = requests.get( + f'https://{pp_params.api_base}' + f'/api/version', + params=node_subscription_params.dict()) + r.raise_for_status() diff --git a/geant_service_orchestrator/settings.py b/geant_service_orchestrator/settings.py index a0c79368c937971dccf06b8cafdeb927d7cad62c..0846e5f2ae2f983f7216666df34a8388e0697853 100644 --- a/geant_service_orchestrator/settings.py +++ b/geant_service_orchestrator/settings.py @@ -33,9 +33,16 @@ class IPAMParams(BaseSettings): GEANT_IP: ServiceNetworkParams +class ProvisioningProxyParams(BaseSettings): + api_base: str + auth: str # FIXME: unfinished + api_version: int + + class OSSParams(BaseSettings): IPAM: IPAMParams RESOURCE_MANAGER_API_PREFIX: str # api prefix + PROVISIONING_PROXY: ProvisioningProxyParams def load_oss_params() -> OSSParams: