From a96e12002cff6faa0762c639eb13f6b533917d87 Mon Sep 17 00:00:00 2001 From: Bavneet Singh Date: Wed, 20 Jul 2022 17:46:15 -0700 Subject: [PATCH 1/6] [k8s-configuration] add support for provisionedClusters --- src/k8s-configuration/HISTORY.rst | 4 ++ .../azext_k8s_configuration/_params.py | 7 ++- .../azext_k8s_configuration/consts.py | 3 + .../providers/FluxConfigurationProvider.py | 55 +++++++++++-------- .../SourceControlConfigurationProvider.py | 15 ++--- .../azext_k8s_configuration/utils.py | 16 +++++- 6 files changed, 69 insertions(+), 31 deletions(-) diff --git a/src/k8s-configuration/HISTORY.rst b/src/k8s-configuration/HISTORY.rst index ad3edc7053a..a6e3e4067f4 100644 --- a/src/k8s-configuration/HISTORY.rst +++ b/src/k8s-configuration/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +1.5.2 +++++++++++++++++++ +* Add support for Microsoft.HybridContainerService ProvisionedClusters + 1.5.1 ++++++++++++++++++ * Bump pycryptodome to 3.14.1 to support Python 3.10 diff --git a/src/k8s-configuration/azext_k8s_configuration/_params.py b/src/k8s-configuration/azext_k8s_configuration/_params.py index d763f1c3ee2..39bced78119 100644 --- a/src/k8s-configuration/azext_k8s_configuration/_params.py +++ b/src/k8s-configuration/azext_k8s_configuration/_params.py @@ -37,9 +37,14 @@ def load_arguments(self, _): c.argument( "cluster_type", options_list=["--cluster-type", "-t"], - arg_type=get_enum_type(["connectedClusters", "managedClusters"]), + arg_type=get_enum_type(["connectedClusters", "managedClusters", "provisionedClusters"]), help="Specify Arc connected clusters or AKS managed clusters.", ) + c.argument( + "cluster_resource_provider", + options_list=['--cluster-resource-provider', '--cluster-rp'], + help='Cluster Resource Provider name for this clusterType (Required for provisionedClusters)' + ) with self.argument_context("k8s-configuration flux") as c: c.argument( diff --git a/src/k8s-configuration/azext_k8s_configuration/consts.py b/src/k8s-configuration/azext_k8s_configuration/consts.py index a4210dd61e9..933f1bfc26f 100644 --- a/src/k8s-configuration/azext_k8s_configuration/consts.py +++ b/src/k8s-configuration/azext_k8s_configuration/consts.py @@ -233,14 +233,17 @@ CONNECTED_CLUSTER_TYPE = "connectedclusters" MANAGED_CLUSTER_TYPE = "managedclusters" APPLIANCE_TYPE = "appliances" +PROVISIONED_CLUSTER_TYPE = "provisionedclusters" MANAGED_CLUSTER_RP = "Microsoft.ContainerService" CONNECTED_CLUSTER_RP = "Microsoft.Kubernetes" APPLIANCE_RP = "Microsoft.ResourceConnector" +HYBRIDCONTAINERSERVICE_RP = "microsoft.hybridcontainerservice" CONNECTED_CLUSTER_API_VERSION = "2021-10-01" MANAGED_CLUSTER_API_VERSION = "2021-10-01" APPLIANCE_API_VERSION = "2021-10-31-preview" +HYBRIDCONTAINERSERVICE_API_VERSION = "2021-09-01-preview" KUBERNETES_MAX_NAME_SIZE = 63 diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py index e0a99697efa..bd1e334464c 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py @@ -63,11 +63,11 @@ logger = get_logger(__name__) -def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): +def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None): """Get an existing Kubernetes Source Control Configuration.""" # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) try: config = client.get( @@ -108,9 +108,9 @@ def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, na raise ex -def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name): +def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name, cluster_resource_provider=None): # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) @@ -150,10 +150,11 @@ def create_config( suspend=False, kustomization=None, no_wait=False, + cluster_resource_provider=None, ): # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) factory = source_kind_generator_factory( @@ -263,14 +264,15 @@ def update_config( kustomization=None, no_wait=False, yes=False, + cluster_resource_provider=None, ): # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) if not kind: kind = convert_to_cli_source_kind(config.source_kind) @@ -364,10 +366,11 @@ def create_kustomization( prune=None, force=None, no_wait=False, + cluster_resource_provider=None, ): # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) # Pre-Validation @@ -376,7 +379,7 @@ def create_kustomization( validate_duration("--retry-interval", retry_interval) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) if kustomization_name in current_config.kustomizations: raise ValidationError( @@ -424,10 +427,11 @@ def update_kustomization( prune=None, force=None, no_wait=False, + cluster_resource_provider=None, ): # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) # Pre-Validation @@ -436,7 +440,7 @@ def update_kustomization( validate_duration("--retry-interval", retry_interval) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) if kustomization_name not in current_config.kustomizations: raise ValidationError( @@ -478,17 +482,18 @@ def delete_kustomization( kustomization_name, no_wait=False, yes=False, + cluster_resource_provider=None, ): # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) # Confirmation message for deletes user_confirmation_factory(cmd, yes) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) if kustomization_name not in current_config.kustomizations: raise ValidationError( @@ -519,13 +524,14 @@ def delete_kustomization( def list_kustomization( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None ): # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) return current_config.kustomizations @@ -538,12 +544,13 @@ def show_kustomization( cluster_name, name, kustomization_name, + cluster_resource_provider=None, ): - + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) if kustomization_name not in current_config.kustomizations: raise ValidationError( @@ -554,11 +561,12 @@ def show_kustomization( def list_deployed_object( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None ): + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_rp ) return current_config.statuses @@ -573,10 +581,12 @@ def show_deployed_object( object_name, object_namespace, object_kind, + cluster_resource_provider=None, ): + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) current_config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) for status in current_config.statuses: @@ -604,19 +614,20 @@ def delete_config( force=False, no_wait=False, yes=False, + cluster_resource_provider=None, ): # Confirmation message for deletes user_confirmation_factory(cmd, yes) # Get Resource Provider to call - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) validate_cc_registration(cmd) config = None try: config = show_config( - cmd, client, resource_group_name, cluster_type, cluster_name, name + cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=cluster_rp ) except HttpResponseError: logger.warning( diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py index 7687a61e8d4..bc5a6593aba 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py @@ -28,12 +28,12 @@ logger = get_logger(__name__) -def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): +def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) # Determine ClusterRP - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) try: extension = client.get( resource_group_name, cluster_rp, cluster_type, cluster_name, name @@ -64,19 +64,19 @@ def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, na raise ex -def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name): +def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name, cluster_resource_provider=None): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) -def delete_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): +def delete_config(cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) return client.begin_delete( resource_group_name, cluster_rp, cluster_type, cluster_name, name ) @@ -105,11 +105,12 @@ def create_config( ssh_known_hosts_file="", enable_helm_operator=None, helm_operator_params="", + cluster_resource_provider=None ): """Create a new Kubernetes Source Control Configuration.""" # Determine ClusterRP - cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) # Determine operatorInstanceName if operator_instance_name is None: diff --git a/src/k8s-configuration/azext_k8s_configuration/utils.py b/src/k8s-configuration/azext_k8s_configuration/utils.py index 7999145934e..cf24b7dca5d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/utils.py +++ b/src/k8s-configuration/azext_k8s_configuration/utils.py @@ -11,11 +11,25 @@ from azure.cli.core.azclierror import ( MutuallyExclusiveArgumentError, InvalidArgumentValueError, + RequiredArgumentMissingError, ) from . import consts -def get_cluster_rp_api_version(cluster_type) -> Tuple[str, str]: +def get_cluster_rp_api_version(cluster_type, cluster_rp) -> Tuple[str, str]: + if cluster_type.lower() == consts.PROVISIONED_CLUSTER_TYPE: + if cluster_rp is None or cluster_rp.strip() == "": + raise RequiredArgumentMissingError( + "Error! Cluster Resource Provider value is required for Cluster Type '{}'".format(cluster_type) + ) + if cluster_rp.lower() == consts.HYBRIDCONTAINERSERVICE_RP: + return ( + consts.HYBRIDCONTAINERSERVICE_RP, + consts.HYBRIDCONTAINERSERVICE_API_VERSION, + ) + raise InvalidArgumentValueError( + "Error! Cluster type '{}' and Cluster Resource Provider '{}' combination is not supported".format(cluster_type, cluster_rp) + ) if cluster_type.lower() == consts.CONNECTED_CLUSTER_TYPE: return consts.CONNECTED_CLUSTER_RP, consts.CONNECTED_CLUSTER_API_VERSION if cluster_type.lower() == consts.APPLIANCE_TYPE: From f5c3cd345786d6b81f0417fe0246faec3db14788 Mon Sep 17 00:00:00 2001 From: Bavneet Singh Date: Wed, 20 Jul 2022 18:01:51 -0700 Subject: [PATCH 2/6] resolve cli errors --- src/k8s-configuration/HISTORY.rst | 4 ---- .../providers/FluxConfigurationProvider.py | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/k8s-configuration/HISTORY.rst b/src/k8s-configuration/HISTORY.rst index a6e3e4067f4..ad3edc7053a 100644 --- a/src/k8s-configuration/HISTORY.rst +++ b/src/k8s-configuration/HISTORY.rst @@ -3,10 +3,6 @@ Release History =============== -1.5.2 -++++++++++++++++++ -* Add support for Microsoft.HybridContainerService ProvisionedClusters - 1.5.1 ++++++++++++++++++ * Bump pycryptodome to 3.14.1 to support Python 3.10 diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py index bd1e334464c..8324cbc350f 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py @@ -749,7 +749,7 @@ def __add_identity( if cluster_type.lower() == consts.MANAGED_CLUSTER_TYPE: return extension_instance - cluster_rp, parent_api_version = get_cluster_rp_api_version(cluster_type) + cluster_rp, parent_api_version = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_rp) cluster_resource_id = ( "/subscriptions/{0}/resourceGroups/{1}/providers/{2}/{3}/{4}".format( From 91c76e2f361987b099af1836981aeb6319f44c83 Mon Sep 17 00:00:00 2001 From: Bavneet Singh Date: Wed, 27 Jul 2022 12:51:24 -0700 Subject: [PATCH 3/6] remove sourceControlConfiguration support for provisionedClusters --- .../azext_k8s_configuration/_params.py | 6 +++--- .../SourceControlConfigurationProvider.py | 15 +++++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/k8s-configuration/azext_k8s_configuration/_params.py b/src/k8s-configuration/azext_k8s_configuration/_params.py index 39bced78119..c0c2dbba0fc 100644 --- a/src/k8s-configuration/azext_k8s_configuration/_params.py +++ b/src/k8s-configuration/azext_k8s_configuration/_params.py @@ -38,15 +38,15 @@ def load_arguments(self, _): "cluster_type", options_list=["--cluster-type", "-t"], arg_type=get_enum_type(["connectedClusters", "managedClusters", "provisionedClusters"]), - help="Specify Arc connected clusters or AKS managed clusters.", + help="Specify Arc connected clusters or AKS managed clusters or HCI provisioned clusters.", ) + + with self.argument_context("k8s-configuration flux") as c: c.argument( "cluster_resource_provider", options_list=['--cluster-resource-provider', '--cluster-rp'], help='Cluster Resource Provider name for this clusterType (Required for provisionedClusters)' ) - - with self.argument_context("k8s-configuration flux") as c: c.argument( "name", options_list=["--name", "-n"], diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py index bc5a6593aba..75a02c2036b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py @@ -28,12 +28,12 @@ logger = get_logger(__name__) -def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None): +def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) # Determine ClusterRP - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) try: extension = client.get( resource_group_name, cluster_rp, cluster_type, cluster_name, name @@ -64,19 +64,19 @@ def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, na raise ex -def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name, cluster_resource_provider=None): +def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) -def delete_config(cmd, client, resource_group_name, cluster_type, cluster_name, name, cluster_resource_provider=None): +def delete_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) return client.begin_delete( resource_group_name, cluster_rp, cluster_type, cluster_name, name ) @@ -105,12 +105,11 @@ def create_config( ssh_known_hosts_file="", enable_helm_operator=None, helm_operator_params="", - cluster_resource_provider=None ): """Create a new Kubernetes Source Control Configuration.""" # Determine ClusterRP - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=cluster_resource_provider) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) # Determine operatorInstanceName if operator_instance_name is None: From 6b195d3e599ea7523454f1259a35358d4014a35e Mon Sep 17 00:00:00 2001 From: Bavneet Singh Date: Wed, 27 Jul 2022 12:59:33 -0700 Subject: [PATCH 4/6] code cleanup --- .../providers/SourceControlConfigurationProvider.py | 8 ++++---- src/k8s-configuration/azext_k8s_configuration/utils.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py index 75a02c2036b..7687a61e8d4 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py @@ -33,7 +33,7 @@ def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, na validate_cc_registration(cmd) # Determine ClusterRP - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) try: extension = client.get( resource_group_name, cluster_rp, cluster_type, cluster_name, name @@ -68,7 +68,7 @@ def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name): # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) @@ -76,7 +76,7 @@ def delete_config(cmd, client, resource_group_name, cluster_type, cluster_name, # Validate that the subscription is registered to Microsoft.KubernetesConfiguration validate_cc_registration(cmd) - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) return client.begin_delete( resource_group_name, cluster_rp, cluster_type, cluster_name, name ) @@ -109,7 +109,7 @@ def create_config( """Create a new Kubernetes Source Control Configuration.""" # Determine ClusterRP - cluster_rp, _ = get_cluster_rp_api_version(cluster_type=cluster_type, cluster_rp=None) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) # Determine operatorInstanceName if operator_instance_name is None: diff --git a/src/k8s-configuration/azext_k8s_configuration/utils.py b/src/k8s-configuration/azext_k8s_configuration/utils.py index cf24b7dca5d..6d85a433739 100644 --- a/src/k8s-configuration/azext_k8s_configuration/utils.py +++ b/src/k8s-configuration/azext_k8s_configuration/utils.py @@ -16,7 +16,7 @@ from . import consts -def get_cluster_rp_api_version(cluster_type, cluster_rp) -> Tuple[str, str]: +def get_cluster_rp_api_version(cluster_type, cluster_rp=None) -> Tuple[str, str]: if cluster_type.lower() == consts.PROVISIONED_CLUSTER_TYPE: if cluster_rp is None or cluster_rp.strip() == "": raise RequiredArgumentMissingError( From 86d63e2e1bb150b78f946a0c6c2730033c826065 Mon Sep 17 00:00:00 2001 From: Bavneet Singh Date: Fri, 29 Jul 2022 10:48:23 -0700 Subject: [PATCH 5/6] updates hybridcontainerservice api version --- src/k8s-configuration/azext_k8s_configuration/consts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k8s-configuration/azext_k8s_configuration/consts.py b/src/k8s-configuration/azext_k8s_configuration/consts.py index 933f1bfc26f..cf022906c5b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/consts.py +++ b/src/k8s-configuration/azext_k8s_configuration/consts.py @@ -243,7 +243,7 @@ CONNECTED_CLUSTER_API_VERSION = "2021-10-01" MANAGED_CLUSTER_API_VERSION = "2021-10-01" APPLIANCE_API_VERSION = "2021-10-31-preview" -HYBRIDCONTAINERSERVICE_API_VERSION = "2021-09-01-preview" +HYBRIDCONTAINERSERVICE_API_VERSION = "2022-05-01-preview" KUBERNETES_MAX_NAME_SIZE = 63 From e95eefac5c2b12435af5828954fb64e23af3b391 Mon Sep 17 00:00:00 2001 From: Bavneet Singh Date: Tue, 2 Aug 2022 12:09:49 -0700 Subject: [PATCH 6/6] change description for cluster_type --- src/k8s-configuration/azext_k8s_configuration/_params.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k8s-configuration/azext_k8s_configuration/_params.py b/src/k8s-configuration/azext_k8s_configuration/_params.py index c0c2dbba0fc..7ef8abe1ad0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/_params.py +++ b/src/k8s-configuration/azext_k8s_configuration/_params.py @@ -38,7 +38,7 @@ def load_arguments(self, _): "cluster_type", options_list=["--cluster-type", "-t"], arg_type=get_enum_type(["connectedClusters", "managedClusters", "provisionedClusters"]), - help="Specify Arc connected clusters or AKS managed clusters or HCI provisioned clusters.", + help="Specify Arc connected clusters or AKS managed clusters or provisioned clusters.", ) with self.argument_context("k8s-configuration flux") as c: