Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion src/aks-preview/azext_aks_preview/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@

from azext_aks_preview._consts import (
ADDONS,
CONST_MONITORING_ADDON_NAME
CONST_MONITORING_ADDON_NAME,
CONST_K8S_EXTENSION_NAME,
)

from azure.cli.command_modules.acs._helpers import map_azure_error_to_cli_error
Expand All @@ -28,6 +29,7 @@
FileOperationError,
InvalidArgumentValueError,
ResourceNotFoundError,
UnknownError,
)
from azure.core.exceptions import AzureError
from knack.log import get_logger
Expand Down Expand Up @@ -376,6 +378,28 @@ def check_is_monitoring_addon_enabled(addons, instance):
return is_monitoring_addon_enabled


def get_k8s_extension_module(module_name):
try:
# adding the installed extension in the path
from azure.cli.core.extension.operations import add_extension_to_path
add_extension_to_path(CONST_K8S_EXTENSION_NAME)
# import the extension module
from importlib import import_module
azext_custom = import_module(module_name)
return azext_custom
except ImportError:
raise UnknownError( # pylint: disable=raise-missing-from
"Please add CLI extension `k8s-extension` for performing Azure Extension operations.\n"
"Run command `az extension add --name k8s-extension`"
)


# TODO: Need to should source the set of allowed extensions from the extensions API at some point
def check_if_extension_type_is_in_allow_list(extension_type_name):
allowedListOfExtensions = ["microsoft.dataprotection.kubernetes", "microsoft.flux"]
return extension_type_name.lower() in allowedListOfExtensions


def filter_hard_taints(node_initialization_taints: List[str]) -> List[str]:
filtered_taints = []
for taint in node_initialization_taints:
Expand Down
Loading