Skip to content

Commit

Permalink
Add force deletion
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathan-innis committed Sep 22, 2021
1 parent e651808 commit 180e98c
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 10 deletions.
2 changes: 1 addition & 1 deletion k8s-custom-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ stages:
echo "Installing helm3"
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh --version 3.6.3
./get_helm.sh --version v3.6.3
echo "Installing kubectl"
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
Expand Down
2 changes: 2 additions & 0 deletions src/k8s-extension/azext_k8s_extension/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,5 @@ def load_arguments(self, _):
c.argument('yes',
options_list=['--yes', '-y'],
help='Ignore confirmation prompts')
c.argument('force',
help='Specify whether to force delete the extension from the cluster.')
14 changes: 9 additions & 5 deletions src/k8s-extension/azext_k8s_extension/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
# pylint: disable=unused-argument,too-many-locals

import json
from knack.log import get_logger
from urllib.parse import urlparse
from knack.log import get_logger

from azure.cli.core.azclierror import ResourceNotFoundError, MutuallyExclusiveArgumentError, \
InvalidArgumentValueError, CommandNotFoundError, RequiredArgumentMissingError
Expand Down Expand Up @@ -148,7 +148,8 @@ def create_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c
extension_instance.identity, extension_instance.location = identity_object, location

# Try to create the resource
return sdk_no_wait(no_wait, client.begin_create, resource_group_name, cluster_rp, cluster_type, cluster_name, name, extension_instance)
return sdk_no_wait(no_wait, client.begin_create, resource_group_name,
cluster_rp, cluster_type, cluster_name, name, extension_instance)


def list_k8s_extension(client, resource_group_name, cluster_name, cluster_type):
Expand Down Expand Up @@ -195,7 +196,8 @@ def update_k8s_extension(client, resource_group_name, cluster_type, cluster_name
# return client.update(resource_group_name, cluster_rp, cluster_type, cluster_name, name, upd_extension)


def delete_k8s_extension(cmd, client, resource_group_name, cluster_name, name, cluster_type, no_wait=False, yes=False):
def delete_k8s_extension(cmd, client, resource_group_name, cluster_name, name, cluster_type,
no_wait=False, yes=False, force=False):
"""Delete an existing Kubernetes Extension.
"""
Expand All @@ -210,9 +212,11 @@ def delete_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c
extension_class = ExtensionFactory(extension.extension_type.lower())

# If there is any custom delete logic, this will call the logic
extension_class.Delete(cmd, client, resource_group_name, cluster_name, name, cluster_type, yes)
extension_class.Delete(cmd, client, resource_group_name, cluster_name,
name, cluster_type, yes)

return sdk_no_wait(no_wait, client.begin_delete, resource_group_name, cluster_rp, cluster_type, cluster_name, name)
return sdk_no_wait(no_wait, client.begin_delete, resource_group_name,
cluster_rp, cluster_type, cluster_name, name, force_delete=force)


def __create_identity(cmd, resource_group_name, cluster_name, cluster_type, cluster_rp):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import copy
from hashlib import md5
from typing import Any, Dict, List, Tuple
from azext_k8s_extension.partner_extensions.DefaultExtension import DefaultExtension

import azure.mgmt.relay
import azure.mgmt.relay.models
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
from ..vendored_sdks.models import ScopeCluster
from ..vendored_sdks.models import Scope

from .PartnerExtensionModel import PartnerExtensionModel
from .DefaultExtension import DefaultExtension

logger = get_logger(__name__)


class AzurePolicy(PartnerExtensionModel):
class AzurePolicy(DefaultExtension):
def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_type, extension_type,
scope, auto_upgrade_minor_version, release_train, version, target_namespace,
release_namespace, configuration_settings, configuration_protected_settings,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
# pylint: disable=redefined-outer-name
# pylint: disable=no-member

from azext_k8s_extension.partner_extensions.DefaultExtension import DefaultExtension
from knack.log import get_logger

from azure.cli.core.azclierror import InvalidArgumentValueError
Expand Down

0 comments on commit 180e98c

Please sign in to comment.