def delete(ctx, name): try: client = ctx.obj['client'] cluster = Cluster(client) result = cluster.delete_cluster(name) stdout(result, ctx) except Exception as e: stderr(e, ctx)
def test_04_cluster_delete(self): logged_in_org = self.client.get_org() assert self.config['vcd']['org'] == logged_in_org.get('name') cluster = Cluster(self.client) result = cluster.delete_cluster(self.config['vcd']['cluster_name']) task = self.client.get_resource(result['task_href']) task = self.client.get_task_monitor().wait_for_status(task) assert task.get('status') == TaskStatus.SUCCESS.value
def delete(ctx, name): """Delete a Kubernetes cluster.""" try: restore_session(ctx) client = ctx.obj['client'] cluster = Cluster(client) result = cluster.delete_cluster(name) stdout(result, ctx) except Exception as e: stderr(e, ctx)
def cluster_delete(ctx, name, vdc, org, force=False, k8_runtime=None, cluster_id=None): # noqa: E501 """Delete a Kubernetes cluster. \b Example vcd cse cluster delete mycluster --yes Delete cluster 'mycluster' without prompting. '--vdc' option can be used for faster command execution. \b vcd cse cluster delete mycluster --force Force delete the native entity type cluster regardless of the state of the cluster. Force delete removes Runtime Defined Entity, vApp and DNAT rule, if any, that represents the cluster. \b vcd cse cluster delete --id urn:vcloud:entity:cse:nativeCluster:1.0.0:0632c7c7-a613-427c-b4fc-9f1247da5561 Delete cluster with cluster ID 'urn:vcloud:entity:cse:nativeCluster:1.0.0:0632c7c7-a613-427c-b4fc-9f1247da5561'. (--id option is supported only applicable for api version >= 35) """ # noqa: E501 CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) if not (cluster_id or name): # --id is not required when working with api version 33 and 34 raise Exception("Please specify cluster name (or) cluster Id. " "Note that '--id' flag is applicable for API versions >= 35 only.") # noqa: E501 client = ctx.obj['client'] if client_utils.is_cli_for_tkg_s_only(): if k8_runtime in shared_constants.CSE_SERVER_RUNTIMES: # Cannot run the command as cse cli is enabled only for native raise CseServerNotRunningError() k8_runtime = shared_constants.ClusterEntityKind.TKG_S.value cluster = Cluster(client, k8_runtime=k8_runtime) if not client.is_sysadmin() and org is None: org = ctx.obj['profiles'].get('org_in_use') if force: result = cluster.force_delete_cluster( name, cluster_id=cluster_id, org=org, vdc=vdc ) else: result = cluster.delete_cluster( name, cluster_id=cluster_id, org=org, vdc=vdc) if len(result) == 0: # TODO(CLI): Update message to use vcd task wait instead click.secho(f"Delete cluster operation has been initiated on " f"{name}, please check the status using" f" 'vcd cse cluster info {name}'.", fg='yellow') stdout(result, ctx) CLIENT_LOGGER.debug(result) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e), exc_info=True)
def cluster_delete(ctx, name, vdc, org, k8_runtime=None, cluster_id=None): """Delete a Kubernetes cluster. \b Example vcd cse cluster delete mycluster --yes Delete cluster 'mycluster' without prompting. '--vdc' option can be used for faster command execution. \b vcd cse cluster delete --id urn:vcloud:entity:cse:nativeCluster:1.0.0:0632c7c7-a613-427c-b4fc-9f1247da5561 Delete cluster with cluster ID 'urn:vcloud:entity:cse:nativeCluster:1.0.0:0632c7c7-a613-427c-b4fc-9f1247da5561'. (--id option is suported only applicable for api version >= 35) """ # noqa: E501 CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') try: client_utils.cse_restore_session(ctx) if not (cluster_id or name): # --id is not required when working with api version 33 and 34 raise Exception( "Please specify cluster name (or) cluster Id. " "Note that '--id' flag is applicable for API versions >= 35 only." ) # noqa: E501 client = ctx.obj['client'] if client_utils.is_cli_for_tkg_only(): if k8_runtime in [ shared_constants.ClusterEntityKind.NATIVE.value, shared_constants.ClusterEntityKind.TKG_PLUS.value ]: # noqa: E501 # Cannot run the command as cse cli is enabled only for native raise CseServerNotRunningError() k8_runtime = shared_constants.ClusterEntityKind.TKG.value cluster = Cluster(client, k8_runtime=k8_runtime) if not client.is_sysadmin() and org is None: org = ctx.obj['profiles'].get('org_in_use') result = cluster.delete_cluster(name, cluster_id=cluster_id, org=org, vdc=vdc) if len(result) == 0: click.secho( f"Delete cluster operation has been initiated on " f"{name}, please check the status using" f" 'vcd cse cluster info {name}'.", fg='yellow') stdout(result, ctx) CLIENT_LOGGER.debug(result) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def cluster_delete(ctx, name, vdc, org): """Delete a Kubernetes cluster.""" try: restore_session(ctx) client = ctx.obj['client'] cluster = Cluster(client) if not client.is_sysadmin() and org is None: org = ctx.obj['profiles'].get('org_in_use') result = cluster.delete_cluster(name, org, vdc) # result is empty for delete cluster operation on PKS-managed clusters. # In that specific case, below check helps to print out a meaningful # message to users. if len(result) == 0: click.secho(f"Delete cluster operation has been initiated on " f"{name}, please check the status using" f" 'vcd cse cluster info {name}'.", fg='yellow') stdout(result, ctx) except Exception as e: stderr(e, ctx)