diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index f50aba90bca..5e5d4336899 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -3418,7 +3418,7 @@ def aks_disable_addons(cmd, client, resource_group_name, name, addons, no_wait=F if addons == "monitoring" and CONST_MONITORING_ADDON_NAME in instance.addon_profiles and \ instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled and \ CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ - instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]: + str(instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]).lower() == 'true': # remove the DCR association because otherwise the DCR can't be deleted _ensure_container_insights_for_monitoring( cmd, @@ -3465,7 +3465,7 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ if CONST_MONITORING_ADDON_NAME in instance.addon_profiles and instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled: if CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ - instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]: + str(instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]).lower() == 'true': if not msi_auth: raise ArgumentUsageError("--enable-msi-auth-for-monitoring can not be used on clusters with service principal auth.") else: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index c54257888b2..876ba3418c3 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -1306,11 +1306,33 @@ def test_aks_create_with_monitoring_legacy_auth(self, resource_group, resource_g '--generate-ssh-keys --enable-managed-identity ' \ '--enable-addons monitoring ' \ '--node-count 1 ' - self.cmd(create_cmd, checks=[ + response = self.cmd(create_cmd, checks=[ self.check('addonProfiles.omsagent.enabled', True), self.exists('addonProfiles.omsagent.config.logAnalyticsWorkspaceResourceID'), self.check('addonProfiles.omsagent.config.useAADAuth', 'False') - ]) + ]).get_output_in_json() + + # make sure a DCR was not created + + cluster_resource_id = response["id"] + subscription = cluster_resource_id.split("/")[2] + workspace_resource_id = response["addonProfiles"]["omsagent"]["config"]["logAnalyticsWorkspaceResourceID"] + workspace_name = workspace_resource_id.split("/")[-1] + workspace_resource_group = workspace_resource_id.split("/")[4] + + try: + # check that the DCR was created + dataCollectionRuleName = f"DCR-{workspace_name}" + dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" + get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' + self.cmd(get_cmd, checks=[ + self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + ]) + + assert False + except Exception as err: + pass # this is expected + # make sure monitoring can be smoothly disabled self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 7c41e65e76f..fa4e30ceeb1 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open as open1 from setuptools import setup, find_packages -VERSION = "0.5.20" +VERSION = "0.5.21" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers',