diff --git a/geant_service_orchestrator/services/__init__.py b/geant_service_orchestrator/services/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/geant_service_orchestrator/services/resource_manager.py b/geant_service_orchestrator/services/resource_manager.py new file mode 100644 index 0000000000000000000000000000000000000000..f591e8a3ea96e7ac0b25366d104e6aafd83a2e34 --- /dev/null +++ b/geant_service_orchestrator/services/resource_manager.py @@ -0,0 +1,28 @@ +from geant_service_orchestrator import settings +import requests + + +def import_new_router(router_name, oss_params=settings.OSSParams): + r = requests.post( + f'{oss_params.RESOURCE_MANAGER_API_PREFIX}' + f'/api/interfaces/initialize-router/{router_name}') + r.raise_for_status() + + +def next_lag(router_name, oss_params=settings.OSSParams): + r = requests.post( + f'{oss_params.RESOURCE_MANAGER_API_PREFIX}' + f'/api/interfaces/next-lag/{router_name}') + r.raise_for_status() + response = r.json() + return response['name'] + + +def next_physical(router_name, lag_name, oss_params=settings.OSSParams): + # TODO: speed needed (if first interface) + r = requests.post( + f'{oss_params.RESOURCE_MANAGER_API_PREFIX}' + f'/api/interfaces/next-physical/{router_name}/{lag_name}') + r.raise_for_status() + response = r.json() + return response['name'] diff --git a/requirements.txt b/requirements.txt index 5b0787674542104bfce569a6a6c79d9ee40b2351..b575b478f50d48470257314b85f5d13a3aea56c7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ orchestrator-core +requests pytest