Ejemplo n.º 1
0
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}'")
Ejemplo n.º 3
0
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}'")
Ejemplo n.º 4
0
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}'")
Ejemplo n.º 5
0
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)