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