From 5b93c13b773d9a1bea46e142653f68f44f4705b1 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Tue, 12 Nov 2024 12:07:30 +0100 Subject: [PATCH] Add osmclient commands for cluster deregistration Change-Id: I8e230910f25c0f9359bae9501a26702795631f7c Signed-off-by: garciadeblas --- osmclient/cli_commands/cluster.py | 15 +++++++++++++++ osmclient/scripts/osm.py | 1 + osmclient/sol005/cluster.py | 9 +++++++++ 3 files changed, 25 insertions(+) diff --git a/osmclient/cli_commands/cluster.py b/osmclient/cli_commands/cluster.py index 45f8eb3..8fce6ac 100755 --- a/osmclient/cli_commands/cluster.py +++ b/osmclient/cli_commands/cluster.py @@ -271,3 +271,18 @@ def cluster_register( cluster["description"] = description cluster["bootstrap"] = bootstrap ctx.obj.cluster.register(name, cluster) + + +@click.command(name="cluster-deregister", short_help="deregisters a K8s cluster") +@click.argument("name") +@click.option( + "--force", is_flag=True, help="forces the deletion from the DB (not recommended)" +) +@click.pass_context +def cluster_deregister(ctx, name, force): + """deregisters a K8s cluster + + NAME: name or ID of the K8s cluster to be deregistered + """ + logger.debug("") + ctx.obj.cluster.deregister(name, force=force) diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py index 85bf3ce..0aff0a5 100755 --- a/osmclient/scripts/osm.py +++ b/osmclient/scripts/osm.py @@ -198,6 +198,7 @@ def cli(): cli_osm.add_command(cluster.cluster_get_credentials) cli_osm.add_command(cluster.cluster_get_kubeconfig) cli_osm.add_command(cluster.cluster_register) + cli_osm.add_command(cluster.cluster_deregister) cli_osm.add_command(netslice_instance.nsi_create1) cli_osm.add_command(netslice_instance.nsi_create2) diff --git a/osmclient/sol005/cluster.py b/osmclient/sol005/cluster.py index 897fd66..2bbc157 100644 --- a/osmclient/sol005/cluster.py +++ b/osmclient/sol005/cluster.py @@ -98,6 +98,15 @@ class Cluster(GenericOSMAPIObject): endpoint = f"{self._apiBase}/register" self.create(name, cluster, None, endpoint=endpoint) + def deregister(self, name, force): + """ + Deregisters a K8s cluster + """ + self._logger.debug("") + item = self.get(name) + endpoint = f"{self._apiBase}/{item['_id']}/deregister" + self.create(name, {}, None, endpoint=endpoint) + def upgrade(self, name, cluster_changes): """ Upgrades a K8s cluster -- 2.25.1