From 721ef13b26e8e3b1958469ffc6b16e1352c7bd49 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Tue, 28 Mar 2023 09:45:38 +0200 Subject: [PATCH] skeleton resource manager interface --- .../services/__init__.py | 0 .../services/resource_manager.py | 28 +++++++++++++++++++ requirements.txt | 1 + 3 files changed, 29 insertions(+) create mode 100644 geant_service_orchestrator/services/__init__.py create mode 100644 geant_service_orchestrator/services/resource_manager.py diff --git a/geant_service_orchestrator/services/__init__.py b/geant_service_orchestrator/services/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/geant_service_orchestrator/services/resource_manager.py b/geant_service_orchestrator/services/resource_manager.py new file mode 100644 index 00000000..f591e8a3 --- /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 5b078767..b575b478 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ orchestrator-core +requests pytest -- GitLab