Skip to content

Commit 5a7f176

Browse files
committed
Minor fixes
1 parent 515f021 commit 5a7f176

File tree

2 files changed

+76
-45
lines changed

2 files changed

+76
-45
lines changed

src/aks-preview/azext_aks_preview/azurecontainerstorage/_helpers.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from azext_aks_preview.azurecontainerstorage._consts import (
99
CONST_ACSTOR_ALL,
1010
CONST_ACSTOR_IO_ENGINE_LABEL_KEY,
11-
CONST_ACSTOR_K8S_EXTENSION_NAME,
1211
CONST_DISK_TYPE_EPHEMERAL_VOLUME_ONLY,
1312
CONST_DISK_TYPE_PV_WITH_ANNOTATION,
1413
CONST_EPHEMERAL_NVME_PERF_TIER_BASIC,
@@ -182,7 +181,7 @@ def get_extension_installed_and_cluster_configs(
182181
"managedClusters",
183182
)
184183

185-
is_extension_installed = extension.extension_type.lower() == CONST_ACSTOR_K8S_EXTENSION_NAME
184+
is_extension_installed = extension.extension_type.lower() == CONST_ACSTOR_V1_K8S_EXTENSION_NAME
186185
config_settings = extension.configuration_settings
187186

188187
if is_extension_installed and config_settings is not None:

src/aks-preview/azext_aks_preview/managed_cluster_decorator.py

Lines changed: 75 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3533,10 +3533,16 @@ def set_up_azure_container_storage(self, mc: ManagedCluster) -> ManagedCluster:
35333533
CONST_DISK_TYPE_EPHEMERAL_VOLUME_ONLY,
35343534
CONST_EPHEMERAL_NVME_PERF_TIER_STANDARD,
35353535
)
3536-
from azure.cli.command_modules.acs.azurecontainerstorage._helpers import (
3537-
generate_vm_sku_cache_for_region
3536+
3537+
vm_cache_generated = self.context.get_intermediate(
3538+
"vm_cache_generated",
3539+
default_value=False,
35383540
)
3539-
generate_vm_sku_cache_for_region(self.cmd.cli_ctx, self.context.get_location())
3541+
3542+
if not vm_cache_generated:
3543+
from azext_aks_preview.azurecontainerstorage._helpers import generate_vm_sku_cache_for_region
3544+
generate_vm_sku_cache_for_region(self.cmd.cli_ctx, self.context.get_location())
3545+
self.context.set_intermediate("vm_cache_generated", True, overwrite_exists=True)
35403546

35413547
default_ephemeral_disk_volume_type = CONST_DISK_TYPE_EPHEMERAL_VOLUME_ONLY
35423548
default_ephemeral_disk_nvme_perf_tier = CONST_EPHEMERAL_NVME_PERF_TIER_STANDARD
@@ -4138,20 +4144,20 @@ def postprocessing_after_mc_created(self, cluster: ManagedCluster) -> None:
41384144
is_called_from_extension=True,
41394145
)
41404146

4141-
# Add role assignments for automatic sku
4142-
if cluster.sku is not None and cluster.sku.name == "Automatic":
4143-
try:
4144-
user = get_graph_client(self.cmd.cli_ctx).signed_in_user_get()
4145-
except Exception as e: # pylint: disable=broad-except
4146-
logger.warning("Could not get signed in user: %s", str(e))
4147-
else:
4148-
self.context.external_functions._add_role_assignment_executor_new( # type: ignore # pylint: disable=protected-access
4149-
self.cmd,
4150-
"Azure Kubernetes Service RBAC Cluster Admin",
4151-
user["id"],
4152-
scope=cluster.id,
4153-
resolve_assignee=False,
4154-
)
4147+
# Add role assignments for automatic sku
4148+
if cluster.sku is not None and cluster.sku.name == "Automatic":
4149+
try:
4150+
user = get_graph_client(self.cmd.cli_ctx).signed_in_user_get()
4151+
except Exception as e: # pylint: disable=broad-except
4152+
logger.warning("Could not get signed in user: %s", str(e))
4153+
else:
4154+
self.context.external_functions._add_role_assignment_executor_new( # type: ignore # pylint: disable=protected-access
4155+
self.cmd,
4156+
"Azure Kubernetes Service RBAC Cluster Admin",
4157+
user["id"],
4158+
scope=cluster.id,
4159+
resolve_assignee=False,
4160+
)
41554161

41564162

41574163
class AKSPreviewManagedClusterUpdateDecorator(AKSManagedClusterUpdateDecorator):
@@ -4465,26 +4471,38 @@ def update_azure_container_storage(self, mc: ManagedCluster) -> ManagedCluster:
44654471
from azure.cli.command_modules.acs.azurecontainerstorage._helpers import (
44664472
get_extension_installed_and_cluster_configs
44674473
)
4468-
(
4469-
is_extension_installed,
4470-
is_azureDisk_enabled,
4471-
is_elasticSan_enabled,
4472-
is_ephemeralDisk_localssd_enabled,
4473-
is_ephemeralDisk_nvme_enabled,
4474-
current_core_value,
4475-
existing_ephemeral_disk_volume_type,
4476-
existing_perf_tier,
4477-
) = get_extension_installed_and_cluster_configs(
4478-
self.cmd,
4479-
self.context.get_resource_group_name(),
4480-
self.context.get_name(),
4481-
mc.agent_pool_profiles,
4474+
try:
4475+
(
4476+
is_extension_installed,
4477+
is_azureDisk_enabled,
4478+
is_elasticSan_enabled,
4479+
is_ephemeralDisk_localssd_enabled,
4480+
is_ephemeralDisk_nvme_enabled,
4481+
current_core_value,
4482+
existing_ephemeral_disk_volume_type,
4483+
existing_perf_tier,
4484+
) = get_extension_installed_and_cluster_configs(
4485+
self.cmd,
4486+
self.context.get_resource_group_name(),
4487+
self.context.get_name(),
4488+
mc.agent_pool_profiles,
4489+
)
4490+
except UnknownError as e:
4491+
logger.error("\nError fetching installed extension and cluster config: %s", e)
4492+
return mc
4493+
except Exception as ex: # pylint: disable=broad-except
4494+
logger.error("Exception fetching installed extension and cluster config: %s", ex)
4495+
return mc
4496+
4497+
vm_cache_generated = self.context.get_intermediate(
4498+
"vm_cache_generated",
4499+
default_value=False,
44824500
)
44834501

4484-
from azure.cli.command_modules.acs.azurecontainerstorage._helpers import (
4485-
generate_vm_sku_cache_for_region
4486-
)
4487-
generate_vm_sku_cache_for_region(self.cmd.cli_ctx, self.context.get_location())
4502+
if not vm_cache_generated:
4503+
from azext_aks_preview.azurecontainerstorage._helpers import generate_vm_sku_cache_for_region
4504+
generate_vm_sku_cache_for_region(self.cmd.cli_ctx, self.context.get_location())
4505+
self.context.set_intermediate("vm_cache_generated", True, overwrite_exists=True)
44884506

44894507
if enable_azure_container_storage:
44904508
from azure.cli.command_modules.acs.azurecontainerstorage._helpers import (
@@ -4566,13 +4584,29 @@ def update_azure_container_storage(self, mc: ManagedCluster) -> ManagedCluster:
45664584
)
45674585

45684586
if is_ephemeralDisk_nvme_enabled and ephemeral_disk_nvme_perf_tier is not None:
4569-
msg = (
4570-
"Changing ephemeralDisk NVMe performance tier may result in a temporary "
4571-
"interruption to the applications using Azure Container Storage. Do you "
4572-
"want to continue with this operation?"
4587+
# Adding this intermediate and check to ensure that the below
4588+
# message prompt doesn't appear twice when aks-preview extension
4589+
# is called from both update_mc_profile_preview and update_mc_profile_default.
4590+
is_azure_container_storage_perf_tier_op_set = self.context.get_intermediate(
4591+
"azure_container_storage_perf_tier_op_set",
4592+
default_value="default",
45734593
)
4574-
if not (self.context.get_yes() or prompt_y_n(msg, default="n")):
4575-
raise DecoratorEarlyExitException()
4594+
4595+
if is_azure_container_storage_perf_tier_op_set == "default":
4596+
msg = (
4597+
"Changing ephemeralDisk NVMe performance tier may result in a temporary "
4598+
"interruption to the applications using Azure Container Storage. Do you "
4599+
"want to continue with this operation?"
4600+
)
4601+
if not (self.context.get_yes() or prompt_y_n(msg, default="n")):
4602+
raise DecoratorEarlyExitException()
4603+
4604+
self.context.set_intermediate(
4605+
"azure_container_storage_perf_tier_op_set",
4606+
True,
4607+
overwrite_exists=True
4608+
)
4609+
45764610
# If the extension is already installed,
45774611
# we expect that the Azure Container Storage
45784612
# nodes are already labelled. Use those label
@@ -4697,7 +4731,6 @@ def update_azure_container_storage(self, mc: ManagedCluster) -> ManagedCluster:
46974731
overwrite_exists=True
46984732
)
46994733
self.context.set_intermediate("current_core_value", current_core_value, overwrite_exists=True)
4700-
47014734
else:
47024735
storage_pool_name = self.context.raw_param.get("storage_pool_name")
47034736
pool_sku = self.context.raw_param.get("storage_pool_sku")
@@ -6032,7 +6065,6 @@ def postprocessing_after_mc_created(self, cluster: ManagedCluster) -> None:
60326065
existing_ephemeral_nvme_perf_tier,
60336066
is_called_from_extension=True,
60346067
)
6035-
60366068
else:
60376069
self.context.external_functions.perform_disable_azure_container_storage(
60386070
self.cmd,

0 commit comments

Comments
 (0)