diff --git a/gso/oss-params-example.json b/gso/oss-params-example.json index 98ee26d5e8212038c0b972f01a2f78d0a75aedfd..86e65d7f4309d2729d08bbcd7ada03b12ec0955f 100644 --- a/gso/oss-params-example.json +++ b/gso/oss-params-example.json @@ -1,4 +1,7 @@ { + "GENERAL": { + "public_hostname": "https://gap.geant.org" + }, "RESOURCE_MANAGER_API_PREFIX": "http://localhost:44444", "IPAM": { "INFOBLOX": { @@ -22,4 +25,4 @@ "auth": "Bearer <token>", "api_version": 1123 } -} \ No newline at end of file +} diff --git a/gso/services/provisioning_proxy.py b/gso/services/provisioning_proxy.py index ec282b84bba0fcd3e39d0729fd3760312de9d1c7..d1dd1864e3b935d0fc5e688ce50aae751891ed52 100644 --- a/gso/services/provisioning_proxy.py +++ b/gso/services/provisioning_proxy.py @@ -1,9 +1,8 @@ import logging -from gso.products.product_types.device \ - import DeviceBlock +from gso.products.product_types.device import DeviceBlock from gso import settings -# import requests +import requests logger = logging.getLogger(__name__) @@ -17,8 +16,13 @@ def provision_node( logger.debug(f'[disabled] provisioning node {node_subscription_params}') - # r = requests.get( - # f'https://{pp_params.api_base}' - # f'/api/version', - # params=node_subscription_params.dict()) - # r.raise_for_status() + parameters = { + 'callback': oss.GENERAL.public_hostname, # TODO: implement + 'device': node_subscription_params.dict() + } + + r = requests.post( + f'https://{pp_params.api_base}' + f'/api/device', + params=parameters) + r.raise_for_status() diff --git a/gso/settings.py b/gso/settings.py index 0846e5f2ae2f983f7216666df34a8388e0697853..a5e13d6c7367d9e17230a5bc58bade7d3a9185da 100644 --- a/gso/settings.py +++ b/gso/settings.py @@ -4,6 +4,10 @@ import os from pydantic import BaseSettings +class GeneralParams: + public_hostname: str + + class InfoBloxParams(BaseSettings): scheme: str wapi_version: str @@ -40,6 +44,7 @@ class ProvisioningProxyParams(BaseSettings): class OSSParams(BaseSettings): + GENERAL: GeneralParams IPAM: IPAMParams RESOURCE_MANAGER_API_PREFIX: str # api prefix PROVISIONING_PROXY: ProvisioningProxyParams