diff --git a/osmclient/cli_commands/cluster.py b/osmclient/cli_commands/cluster.py index 45f8eb323bd4a94bb38dd2b8edb5465a9c12af16..8fce6ac1897c1c5c59f775b9674291fb3afa2db3 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 85bf3cee49cd7b3b1fbcc0328a81ae745a927e06..0aff0a597f4d68af24f1e2048dfbfbad96ddee5c 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 897fd66980f6e268ca7681bcbae2ecf9d390e15c..2bbc1570e90491c92862841cd699bede3e926ef8 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