From 0f17192e0519be6ca4f177e161f278161d6a607c Mon Sep 17 00:00:00 2001 From: sangitaray2021 <82883570+sangitaray2021@users.noreply.github.com> Date: Sat, 2 Apr 2022 03:34:16 +0530 Subject: [PATCH 1/2] added default identity support for microsoft.azurebackup.backupagent (#115) --- src/k8s-extension/azext_k8s_extension/custom.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index abff15a0246..eb0955dabe8 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -47,6 +47,7 @@ def ExtensionFactory(extension_name): "microsoft.openservicemesh": OpenServiceMesh, "microsoft.azureml.kubernetes": AzureMLKubernetes, "microsoft.dapr": Dapr, + "microsoft.azurebackup.backupagent": DefaultExtension, } # Return the extension if we find it in the map, else return the default From c7cd06307a1fa4331337146f5f1e854820c28c1a Mon Sep 17 00:00:00 2001 From: nshankar13 Date: Fri, 1 Apr 2022 11:39:12 -0400 Subject: [PATCH 2/2] Change extension validation logic osm-arc Signed-off-by: nshankar13 --- .../partner_extensions/OpenServiceMesh.py | 32 +++++++++++++++---- .../tests/latest/test_open_service_mesh.py | 1 - 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index f3ad45bb177..b1ad6694530 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -7,6 +7,7 @@ # pylint: disable=redefined-outer-name # pylint: disable=no-member +import json from knack.log import get_logger from azure.cli.core.azclierror import InvalidArgumentValueError @@ -51,7 +52,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t # NOTE-2: Return a valid Extension object, Instance name and flag for Identity create_identity = True - _validate_tested_distro(cmd, resource_group_name, cluster_name, version) + _validate_tested_distro(cmd, resource_group_name, cluster_name, version, release_train) extension = Extension( extension_type=extension_type, @@ -67,15 +68,12 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t return extension, name, create_identity -def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): +def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version, extension_release_train): field_unavailable_error = '\"testedDistros\" field unavailable for version {0} of microsoft.openservicemesh, ' \ 'cannot determine if this Kubernetes distribution has been properly tested'.format(extension_version) - logger.debug('Input version: %s', version) - if version.parse(str(extension_version)) <= version.parse("0.8.3"): - logger.warning(field_unavailable_error) - return + logger.debug('Input version: %s', extension_version) subscription_id = get_subscription_id(cmd.cli_ctx) resources = cf_resources(cmd.cli_ctx, subscription_id) @@ -84,8 +82,30 @@ def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, exte '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) resource = resources.get_by_id(cluster_resource_id, '2021-10-01') + cluster_location = resource.location cluster_distro = resource.properties['distribution'].lower() + if extension_version is None and extension_release_train != "staging": + if str(cluster_location) == "eastus2euap": + ring = "canary" + else: + ring = "batch1" + + if extension_release_train is None: + extension_release_train = "stable" + + req_url = 'https://mcr.microsoft.com/v2/oss/openservicemesh/{0}/{1}/osm-arc/tags/list'\ + .format(ring, extension_release_train) + req = requests.get(url=req_url) + req_json = json.loads(req.text) + tags = req_json['tags'] + + extension_version = tags[len(tags) - 1] + + if version.parse(str(extension_version)) <= version.parse("0.8.3"): + logger.warning(field_unavailable_error) + return + if cluster_distro == "general": logger.warning('Unable to determine if distro has been tested for microsoft.openservicemesh, ' 'kubernetes distro: \"general\"') diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py index b087be716d8..a27e1adcef9 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py @@ -5,7 +5,6 @@ # pylint: disable=protected-access -import os import unittest from azure.cli.core.azclierror import InvalidArgumentValueError