diff --git a/gso/services/resource_manager.py b/gso/services/resource_manager.py index 6962eefee1315bd069843ecdc1d4b942de944561..61e359e300c3c6dbd168973fb2449571d84073fd 100644 --- a/gso/services/resource_manager.py +++ b/gso/services/resource_manager.py @@ -31,7 +31,7 @@ _DUMMY_INVENTORY = { } -def import_new_router(new_router_fqdn: str, oss_params=settings.OSSParams): +def import_new_router(new_router_fqdn: str, subscription_id: str, oss_params=settings.OSSParams): # TODO: this is a dummy implementation # TODO: specifiy if this should be an error (and if now, what it means) @@ -39,7 +39,7 @@ def import_new_router(new_router_fqdn: str, oss_params=settings.OSSParams): _DUMMY_INVENTORY[new_router_fqdn] = _dummy_router_interfaces() -def next_lag(router_fqdn: str, oss_params=settings.OSSParams) -> str: +def next_lag(router_fqdn: str, subscription_id: str, oss_params=settings.OSSParams) -> str: # TODO: this is a dummy implementation assert router_fqdn in _DUMMY_INVENTORY @@ -73,7 +73,7 @@ def _find_physical(router_fqdn: str, interface_name: str) -> dict: raise AssertionError(f"interface {interface_name} not found on {router_fqdn}") -def reserve_physical_interface(router_fqdn: str, interface_name: str, oss_params=settings.OSSParams): +def reserve_physical_interface(router_fqdn: str, interface_name: str, subscription_id: str, oss_params=settings.OSSParams): # TODO: this is a dummy implementation ifc = _find_physical(router_fqdn, interface_name) diff --git a/test/test_resource_manager.py b/test/test_resource_manager.py index 5258f4b80e7f12f85d0d194a7c2df3cbf40e2cc5..d81b5cacd8f0fac341899568840034defbf3dcb2 100644 --- a/test/test_resource_manager.py +++ b/test/test_resource_manager.py @@ -14,34 +14,46 @@ def _random_string(n=None, letters=string.ascii_letters + string.digits + string def test_new_router(): router_name = _random_string(10) assert router_name not in resource_manager._DUMMY_INVENTORY - resource_manager.import_new_router(new_router_fqdn=router_name) + resource_manager.import_new_router( + new_router_fqdn=router_name, + subscription_id=_random_string(10)) assert router_name in resource_manager._DUMMY_INVENTORY def test_new_lag(): router_name = list(resource_manager._DUMMY_INVENTORY.keys())[0] - new_lags = {resource_manager.next_lag(router_fqdn=router_name) for _ in range(10)} + new_lags = { + resource_manager.next_lag( + router_fqdn=router_name, subscription_id=_random_string(10)) + for _ in range(10)} assert len(new_lags) == 10 - assert new_lags <= set(resource_manager._DUMMY_INVENTORY[router_name]["lags"]) + assert new_lags <= set( + resource_manager._DUMMY_INVENTORY[router_name]["lags"]) def test_physical_allocation_lifecycle_happy(): router_name = list(resource_manager._DUMMY_INVENTORY.keys())[0] def _interfaces(): - return resource_manager.available_physical_interfaces(router_fqdn=router_name) + return resource_manager.available_physical_interfaces( + router_fqdn=router_name) initial_available = _interfaces() interface_name = initial_available[0] - resource_manager.reserve_physical_interface(router_fqdn=router_name, interface_name=interface_name) + resource_manager.reserve_physical_interface( + router_fqdn=router_name, + subscription_id=_random_string(10), + interface_name=interface_name) current_available = _interfaces() assert interface_name not in current_available - resource_manager.allocate_physical_interface(router_fqdn=router_name, interface_name=interface_name) - resource_manager.free_physical_interface(router_fqdn=router_name, interface_name=interface_name) + resource_manager.allocate_physical_interface( + router_fqdn=router_name, interface_name=interface_name) + resource_manager.free_physical_interface( + router_fqdn=router_name, interface_name=interface_name) current_available = _interfaces() assert interface_name in current_available