Skip to content

Commit 69e0108

Browse files
author
Jianping Zeng
committed
resolve conflicts
2 parents 9ac30b5 + 242db56 commit 69e0108

28 files changed

Lines changed: 181484 additions & 3439 deletions

src/aks-preview/HISTORY.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ To release a new version, please select a new version number (usually plus 1 to
1212
Pending
1313
+++++++
1414

15-
18.0.0b6
15+
18.0.0b7
1616
+++++++
1717
* Add `--max-blocked-nodes` to the `az aks nodepool add/update/upgrade` commands.
1818

19+
18.0.0b6
20+
+++++++
21+
* Quality improvements for `az aks extension` and `az aks extension type` command groups
22+
1923
18.0.0b5
2024
+++++++
2125
* Add option `Ubuntu2204` and `Ubuntu2404` to `--os-sku` for `az aks nodepool add` and `az aks nodepool update`.

src/aks-preview/azext_aks_preview/_help.py

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3441,17 +3441,17 @@
34413441
short-summary: JSON file path for configuration-protected-settings
34423442
long-summary: JSON file path for configuration-protected-settings. If not specified, default value is None
34433443
examples:
3444-
- name: Install K8s extension on AKS cluster with required parameters
3444+
- name: Install Cluster extension on AKS cluster with required parameters
34453445
text: az aks extension create --resource-group my-resource-group \
34463446
--cluster-name mycluster --name myextension --extension-type microsoft.flux
3447-
- name: Install K8s extension with optional parameter configuration settings
3447+
- name: Install Cluster extension with optional parameter configuration settings
34483448
text: az aks extension create --resource-group abc --cluster-name test --name flux \
34493449
--extension-type microsoft.flux --config useKubeletIdentity=true
34503450
"""
34513451

34523452
helps['aks extension delete'] = """
34533453
type: command
3454-
short-summary: Delete a Kubernetes Extension.
3454+
short-summary: Delete a Cluster Extension.
34553455
parameters:
34563456
- name: --resource-group -g
34573457
type: string
@@ -3472,18 +3472,18 @@
34723472
long-summary: Specify whether to force delete the extension from the cluster \
34733473
If not specified, default value is false
34743474
examples:
3475-
- name: Delete an existing Kubernetes extension on AKS cluster
3475+
- name: Delete an existing Cluster extension on AKS cluster
34763476
text: az aks extension delete --resource-group resource-group --cluster-name cluster --name ext
3477-
- name: Delete an existing Kubernetes extension on AKS cluster with optional parameters
3477+
- name: Delete an existing Cluster extension on AKS cluster with optional parameters
34783478
text: az aks extension delete --resource-group resource-group --cluster-name cluster --name ext \
34793479
--yes --force
34803480
"""
34813481

34823482
helps['aks extension update'] = """
34833483
type: command
3484-
short-summary: Update mutable properties of a Kubernetes Extension.
3484+
short-summary: Update mutable properties of a Cluster Extension.
34853485
long-summary: For update to ConfigSettings and ConfigProtectedSettings, please \
3486-
refer to documentation of the cluster extension service to check update to these \
3486+
refer to documentation of the Cluster extension service to check update to these \
34873487
properties is supported before updating these properties. \
34883488
The output includes secrets that you must protect. Be sure that you do not include these secrets in your \
34893489
source control. Also verify that no secrets are present in the logs of your command or script. \
@@ -3521,10 +3521,10 @@
35213521
short-summary: Ignores confirmation prompt.
35223522
long-summary: Ignores confirmation prompt. If not specified, default value is false
35233523
examples:
3524-
- name: Update K8s extension on AKS cluster
3524+
- name: Update Cluster extension on AKS cluster
35253525
text: az aks extension update --resource-group my-resource-group \
35263526
--cluster-name mycluster --name myextension
3527-
- name: Update K8s extension on AKS cluster with optional parameters included
3527+
- name: Update Cluster extension on AKS cluster with optional parameters included
35283528
text: az aks extension update --resource-group my-resource-group \
35293529
--cluster-name mycluster --name myextension \
35303530
--configuration-settings settings-key=settings-value \
@@ -3535,8 +3535,8 @@
35353535

35363536
helps['aks extension list'] = """
35373537
type: command
3538-
short-summary: List Kubernetes Extensions
3539-
long-summary: List all Kubernetes Extensions in a cluster, including their properties. \
3538+
short-summary: List Cluster Extensions
3539+
long-summary: List all Cluster Extensions in a cluster, including their properties. \
35403540
The output includes secrets that you must protect. Be sure that you do not include these secrets in your \
35413541
source control. Also verify that no secrets are present in the logs of your command or script. \
35423542
For additional information, see http://aka.ms/clisecrets.
@@ -3548,14 +3548,14 @@
35483548
type: string
35493549
short-summary: Name of the AKS cluster
35503550
examples:
3551-
- name: List all Kubernetes Extensions on a cluster
3551+
- name: List all Cluster Extensions on a cluster
35523552
text: az aks extension list --resource-group <group> --cluster-name <name>
35533553
"""
35543554

35553555
helps['aks extension show'] = """
35563556
type: command
3557-
short-summary: Show a Kubernetes Extension
3558-
long-summary: Show a Kubernetes Extension including its properties. \
3557+
short-summary: Show a Cluster Extension
3558+
long-summary: Show a Cluster Extension including its properties. \
35593559
The output includes secrets that you must protect. Be sure that you do not include these secrets in your \
35603560
source control. Also verify that no secrets are present in the logs of your command or script. \
35613561
For additional information, see http://aka.ms/clisecrets.
@@ -3570,7 +3570,7 @@
35703570
type: string
35713571
short-summary: Name of the extension instance
35723572
examples:
3573-
- name: Show details of a Kubernetes Extension
3573+
- name: Show details of a Cluster Extension
35743574
text: az aks extension show --resource-group my-resource-group \
35753575
--cluster-name mycluster --name myextension
35763576
"""
@@ -3583,7 +3583,7 @@
35833583

35843584
helps['aks extension type show'] = """
35853585
type: command
3586-
short-summary: Show properties for a K8s Extension Type. The properties used for filtering include kubernetes version, location of the cluster.
3586+
short-summary: Show properties for a Cluster Extension Type. The properties used for filtering include kubernetes version, location of the cluster.
35873587
parameters:
35883588
- name: --extension-type -t
35893589
type: string
@@ -3602,16 +3602,16 @@
36023602
long-summary: Location of where we want to retrieve the extension type. If not specified, default value is None
36033603
36043604
examples:
3605-
- name: Show properties for a K8s Extension Type for an existing cluster by cluster
3605+
- name: Show properties for a Cluster Extension Type for an existing cluster by cluster
36063606
text: az aks extension type show --resource-group my-resource-group\
36073607
--cluster-name mycluster --extension-type <type>
3608-
- name: Show properties for a K8s Extension Type in a location
3608+
- name: Show properties for a Cluster Extension Type in a location
36093609
text: az aks extension type show --location eastus --extension-type type
36103610
"""
36113611

36123612
helps['aks extension type list'] = """
36133613
type: command
3614-
short-summary: List available K8s Extension Types. The properties used for filtering include kubernetes version, location of the cluster.
3614+
short-summary: List available Cluster Extension Types. The properties used for filtering include kubernetes version, location of the cluster.
36153615
parameters:
36163616
- name: --resource-group -g
36173617
type: string
@@ -3629,10 +3629,10 @@
36293629
type: string
36303630
short-summary: Specify the release train for the K8s extension type
36313631
examples:
3632-
- name: List available K8s Extension Types for an existing cluster
3632+
- name: List available Cluster Extension Types for an existing cluster
36333633
text: az aks extension type list --resource-group my-resource-group \
36343634
--cluster-name mycluster
3635-
- name: List available K8s Extension Types in a region
3635+
- name: List available Cluster Extension Types in a region
36363636
text: az aks extension type list --location eastus
36373637
"""
36383638

@@ -3644,7 +3644,7 @@
36443644

36453645
helps['aks extension type version show'] = """
36463646
type: command
3647-
short-summary: Show properties associated with a K8s Extension Type version. The properties used for filtering include kubernetes version, location of the cluster.
3647+
short-summary: Show properties associated with a Cluster Extension Type version. The properties used for filtering include kubernetes version, location of the cluster.
36483648
parameters:
36493649
- name: --resource-group -g
36503650
type: string
@@ -3665,16 +3665,16 @@
36653665
short-summary: Location of where we want to retrieve the extension type
36663666
long-summary: Location of where we want to retrieve the extension type. If not specified, default value is None
36673667
examples:
3668-
- name: Show properties for a K8s Extension Type version for an existing cluster
3668+
- name: Show properties for a Cluster Extension Type version for an existing cluster
36693669
text: az aks extension type version show --resource-group my-resource-group \
36703670
--cluster-name mycluster --extension-type type --version 1.0.0
3671-
- name: Show properties for a K8s Extension Type version for a location
3671+
- name: Show properties for a Cluster Extension Type version for a location
36723672
text: az aks extension type version show --location eastus --extension-type <type> --version 1.0.0
36733673
"""
36743674

36753675
helps['aks extension type version list'] = """
36763676
type: command
3677-
short-summary: List available K8s Extension Type versions. The properties used for filtering include kubernetes version, location of the cluster.
3677+
short-summary: List available Cluster Extension Type versions. The properties used for filtering include kubernetes version, location of the cluster.
36783678
parameters:
36793679
- name: --resource-group -g
36803680
type: string
@@ -3692,10 +3692,10 @@
36923692
short-summary: Location of where we want to retrieve the extension type
36933693
long-summary: Location of where we want to retrieve the extension type. If not specified, default value is None
36943694
examples:
3695-
- name: List available K8s Extension Types for an existing cluster
3695+
- name: List available Cluster Extension Types for an existing cluster
36963696
text: az aks extension type version list --resource-group my-resource-group \
36973697
--cluster-name mycluster --extension-type <type>
3698-
- name: List available K8s Extension Types in a region
3698+
- name: List available Cluster Extension Types in a region
36993699
text: az aks extension type version list --location eastus --extension-type <type>
37003700
"""
37013701

src/aks-preview/azext_aks_preview/_helpers.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,8 +403,8 @@ def _check_if_extension_type_is_in_allow_list(extension_type_name):
403403

404404
def raise_validation_error_if_extension_type_not_in_allow_list(extension_type_name):
405405
if not _check_if_extension_type_is_in_allow_list(extension_type_name):
406-
raise ValidationError(f"Failed to get extension type version by cluster for {extension_type_name.lower()} " +
407-
f"as it is not in allowed list of extension types {allowed_extensions}")
406+
raise ValidationError(f"Operation failed as extension type {extension_type_name.lower()} " +
407+
f"is not in allowed list of extension types {allowed_extensions}")
408408

409409

410410
def filter_hard_taints(node_initialization_taints: List[str]) -> List[str]:
@@ -442,3 +442,9 @@ def get_all_extensions_in_allow_list(result):
442442
if _check_if_extension_type_is_in_allow_list(obj.extension_type.lower()):
443443
output.append(obj)
444444
return output
445+
446+
447+
def get_extension_in_allow_list(result):
448+
if _check_if_extension_type_is_in_allow_list(result.extension_type.lower()):
449+
return result
450+
return None

src/aks-preview/azext_aks_preview/_params.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,8 @@
216216
validate_gateway_prefix_size,
217217
validate_max_unavailable,
218218
validate_max_blocked_nodes,
219-
validate_location_cluster_name_resource_group_mutually_exclusive,
220219
validate_resource_group_parameter,
220+
validate_location_resource_group_cluster_parameters,
221221
)
222222
from azext_aks_preview.azurecontainerstorage._consts import (
223223
CONST_ACSTOR_ALL,
@@ -2495,14 +2495,14 @@ def load_arguments(self, _):
24952495
help='Name of resource group.')
24962496
c.argument('cluster_name',
24972497
options_list=['--cluster-name', '-c'],
2498-
validator=validate_location_cluster_name_resource_group_mutually_exclusive,
2498+
validator=validate_location_resource_group_cluster_parameters,
24992499
help='Name of the Kubernetes cluster')
25002500
c.argument('extension_type',
25012501
options_list=['--extension-type', '-t'],
25022502
help='Name of the extension type.')
25032503
c.argument('location',
25042504
options_list=['--location', '-l'],
2505-
validator=validate_location_cluster_name_resource_group_mutually_exclusive,
2505+
validator=validate_location_resource_group_cluster_parameters,
25062506
help='Name of the location. Values from: `az account list-locations`')
25072507

25082508
# Reference: https://learn.microsoft.com/en-us/cli/azure/k8s-extension/extension-types?view=azure-cli-latest
@@ -2513,14 +2513,14 @@ def load_arguments(self, _):
25132513
help='Name of resource group.')
25142514
c.argument('cluster_name',
25152515
options_list=['--cluster-name', '-c'],
2516-
validator=validate_location_cluster_name_resource_group_mutually_exclusive,
2516+
validator=validate_location_resource_group_cluster_parameters,
25172517
help='Name of the Kubernetes cluster')
25182518
c.argument('extension_type',
25192519
options_list=['--extension-type', '-t'],
25202520
help='Name of the extension type.')
25212521
c.argument('location',
25222522
options_list=['--location', '-l'],
2523-
validator=validate_location_cluster_name_resource_group_mutually_exclusive,
2523+
validator=validate_location_resource_group_cluster_parameters,
25242524
help='Name of the location. Values from: `az account list-locations`')
25252525
c.argument('version',
25262526
help='Version for the extension type.')

src/aks-preview/azext_aks_preview/_validators.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -951,19 +951,25 @@ def validate_gateway_prefix_size(namespace):
951951
raise CLIError("--gateway-prefix-size must be in the range [28, 31]")
952952

953953

954-
def validate_location_cluster_name_resource_group_mutually_exclusive(namespace):
955-
"""Validates that location, cluster name, and resource group name are not specified at the same time"""
954+
def validate_resource_group_parameter(namespace):
955+
"""Validates that if the user specified the cluster name, resource group name is also specified and vice versa"""
956+
if namespace.resource_group_name and not namespace.cluster_name:
957+
raise RequiredArgumentMissingError("Please specify --cluster")
958+
if not namespace.resource_group_name and namespace.cluster_name:
959+
raise RequiredArgumentMissingError("Please specify --resource-group")
960+
961+
962+
def validate_location_resource_group_cluster_parameters(namespace):
963+
"""Validates location or cluster details are specified and not mutually exclusive"""
956964
location = namespace.location
957965
resource_group_name = namespace.resource_group_name
958966
cluster_name = namespace.cluster_name
967+
if location and (resource_group_name or cluster_name):
968+
raise RequiredArgumentMissingError(
969+
"You must specify --location or --resource-group and --cluster."
970+
)
971+
959972
if location and resource_group_name and cluster_name:
960973
raise MutuallyExclusiveArgumentError(
961974
"Cannot specify --location and --resource-group and --cluster at the same time."
962975
)
963-
964-
965-
def validate_resource_group_parameter(namespace):
966-
if namespace.resource_group_name and not namespace.cluster_name:
967-
raise RequiredArgumentMissingError("Please specify --cluster")
968-
if not namespace.resource_group_name and namespace.cluster_name:
969-
raise RequiredArgumentMissingError("Please specify --resource-group")

src/aks-preview/azext_aks_preview/custom.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
get_all_extension_types_in_allow_list,
7272
get_all_extensions_in_allow_list,
7373
raise_validation_error_if_extension_type_not_in_allow_list,
74+
get_extension_in_allow_list,
7475
)
7576
from azext_aks_preview._podidentity import (
7677
_ensure_managed_identity_operator_permission,
@@ -4003,7 +4004,7 @@ def show_k8s_extension(cmd, client, resource_group_name, cluster_name, name):
40034004
name,
40044005
"managedClusters",
40054006
)
4006-
return result
4007+
return get_extension_in_allow_list(result)
40074008
except Exception as ex:
40084009
logger.error("Failed to get K8s extension.\nError: %s", ex)
40094010

0 commit comments

Comments
 (0)