def destroy_namespace(api: client.CoreV1Api, name): if len(api.list_namespace( field_selector=f'metadata.name={name}').items) == 1: logger.info(f'destroying namespace: {name}') api.delete_namespace(name=name) else: logger.info(f'cannot find namespace to destroy: {name}')
def delete_namespace(v1: CoreV1Api, namespace) -> None: """ Delete a namespace. :param v1: CoreV1Api :param namespace: namespace name :return: """ print(f"Delete a namespace: {namespace}") delete_options = client.V1DeleteOptions() delete_options.grace_period_seconds = 0 delete_options.propagation_policy = 'Foreground' v1.delete_namespace(namespace, delete_options) ensure_item_removal(v1.read_namespace, namespace) print(f"Namespace was removed with name '{namespace}'")
def delete_namespace(v1: CoreV1Api, namespace) -> None: """ Delete a namespace. :param v1: CoreV1Api :param namespace: namespace name :return: """ print(f"Delete a namespace: {namespace}") delete_options = client.V1DeleteOptions() delete_options.grace_period_seconds = 0 delete_options.propagation_policy = 'Foreground' v1.delete_namespace(namespace, delete_options) ensure_item_removal(v1.read_namespace, namespace) print(f"Namespace was removed with name '{namespace}'")
def delete_namespace(v1: CoreV1Api, namespace) -> None: """ Delete a namespace. :param v1: CoreV1Api :param namespace: namespace name :return: """ delete_options = { "grace_period_seconds": 0, "propagation_policy": "Foreground", } print(f"Delete a namespace: {namespace}") v1.delete_namespace(namespace, **delete_options) ensure_item_removal(v1.read_namespace, namespace) print(f"Namespace was removed with name '{namespace}'")
def delete_user_namespace( api: client.CoreV1Api, userspace_dc: dynamic.DynamicClient, user_name: str, expected_user_namespaces: Dict[str, str], namespaces: List[str], ) -> None: for user_ns in namespaces: if user_ns not in expected_user_namespaces.values(): delete_user_profile(user_profile=user_ns) logger.info(f"User {user_name} is not expected to be part of the {user_ns} namespace. Removing...") try: userspace_dc.delete(name=user_ns, namespace=user_ns) logger.info(f"Removed userspace custom resource {user_ns}") except ApiException as ae: logger.warning(f"Exception when trying to remove userspace custom resource {user_ns}") logger.warning(ae.body) try: api.delete_collection_namespaced_pod(namespace=user_ns, grace_period_seconds=0) api.delete_namespace(name=user_ns) logger.info(f"Removed namespace {user_ns}") except ApiException as ae: logger.warning(f"Exception when trying to remove user namespace {user_ns}") logger.warning(ae.body)