diff --git a/src/codeflare_sdk/cluster/auth.py b/src/codeflare_sdk/cluster/auth.py index 41c5d7e3c..a57abbc34 100644 --- a/src/codeflare_sdk/cluster/auth.py +++ b/src/codeflare_sdk/cluster/auth.py @@ -74,6 +74,8 @@ def login(self) -> str: error_msg = osp.result.err() if "The server uses a certificate signed by unknown authority" in error_msg: return "Error: certificate auth failure, please set `skip_tls=True` in TokenAuthentication" + elif "invalid" in error_msg: + raise PermissionError(error_msg) else: return error_msg return response.out() @@ -82,7 +84,8 @@ def logout(self) -> str: """ This function is used to logout of an OpenShift cluster. """ - response = oc.invoke("logout") + args = [f"--token={self.token}", f"--server={self.server}:6443"] + response = oc.invoke("logout", args) return response.out() diff --git a/src/codeflare_sdk/cluster/cluster.py b/src/codeflare_sdk/cluster/cluster.py index 30ad8b4df..3f172aa6b 100644 --- a/src/codeflare_sdk/cluster/cluster.py +++ b/src/codeflare_sdk/cluster/cluster.py @@ -96,9 +96,6 @@ def up(self): Applies the AppWrapper yaml, pushing the resource request onto the MCAD queue. """ - resp = self.config.auth.login() - if "invalid" in resp: - raise PermissionError(resp) namespace = self.config.namespace try: with oc.project(namespace): @@ -135,7 +132,6 @@ def down(self): print("Cluster not found, have you run cluster.up() yet?") else: raise osp - self.config.auth.logout() def status( self, print_to_console: bool = True diff --git a/src/codeflare_sdk/cluster/config.py b/src/codeflare_sdk/cluster/config.py index 4d54b4612..c3b4eb2e1 100644 --- a/src/codeflare_sdk/cluster/config.py +++ b/src/codeflare_sdk/cluster/config.py @@ -47,4 +47,3 @@ class ClusterConfiguration: instascale: bool = False envs: dict = field(default_factory=dict) image: str = "ghcr.io/foundation-model-stack/base:ray2.1.0-py38-gpu-pytorch1.12.0cu116-20221213-193103" - auth: Authentication = Authentication() diff --git a/tests/unit_test.py b/tests/unit_test.py index f7548e19d..36901b1b1 100644 --- a/tests/unit_test.py +++ b/tests/unit_test.py @@ -121,7 +121,10 @@ def test_token_auth_login_logout(mocker): "login", ["--token=testtoken", "--server=testserver:6443"], ) - assert token_auth.logout() == ("logout",) + assert token_auth.logout() == ( + "logout", + ["--token=testtoken", "--server=testserver:6443"], + ) def test_token_auth_login_tls(mocker): @@ -198,7 +201,6 @@ def test_config_creation(): gpu=7, instascale=True, machine_types=["cpu.small", "gpu.large"], - auth=TokenAuthentication(token="testtoken", server="testserver"), ) assert config.name == "unit-test-cluster" and config.namespace == "ns" @@ -213,7 +215,6 @@ def test_config_creation(): assert config.template == f"{parent}/src/codeflare_sdk/templates/new-template.yaml" assert config.instascale assert config.machine_types == ["cpu.small", "gpu.large"] - assert config.auth.__class__ == TokenAuthentication return config