Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/aks-preview/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,13 @@ To release a new version, please select a new version number (usually plus 1 to
Pending
+++++++
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bump the version to 19.0.0b29?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bumped

* Add MIG (Multi-Instance GPU) strategy option to node pool property in `az aks nodepool add` and `az aks nodepool update`.
* `az aks create/update`: Add `--outbound-type managedNATGatewayV2` support using Azure NAT Gateway Standard V2 SKU with IPv6, user-provided IPs, and IP prefixes.
* Fix monitoring addon key casing compatibility with azure-cli/acs

19.0.0b29
+++++++
* `az aks create/update`: Add `--outbound-type managedNATGatewayV2` support using Azure NAT Gateway Standard V2 SKU with IPv6, user-provided IPs, and IP prefixes.
* `az aks create/update`: Fix `--outbound-type managedNATGatewayV2` being silently overwritten to `loadBalancer` by the dynamic completion logic.

19.0.0b28
+++++++
* Fix `match_condition` kwarg leaking to HTTP transport by overriding `put_mc` and `add_agentpool` to pass `if_match` / `if_none_match` directly to the vendored SDK. This change fixes the compatibility issue as azure-cli/acs module adopts TypeSpec emitted SDKs while azure-cli-extensions/aks-preview still uses the autorest emitted SDK.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,7 @@ def _get_outbound_type(
not read_from_mc and
outbound_type not in [
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY,
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY_V2,
CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY,
CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING,
CONST_OUTBOUND_TYPE_NONE,
Expand All @@ -580,6 +581,7 @@ def _get_outbound_type(
if outbound_type in [
CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING,
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY,
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY_V2,
CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY,
]:
if safe_lower(self._get_load_balancer_sku(enable_validation=False)) == CONST_LOAD_BALANCER_SKU_BASIC:
Expand Down Expand Up @@ -622,7 +624,10 @@ def _get_outbound_type(
a standard load balancer with IP addresses"
)
if self.decorator_mode == DecoratorMode.UPDATE:
if outbound_type == CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY:
if outbound_type in [
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY,
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY_V2,
]:
if self.mc.agent_pool_profiles is not None and len(self.mc.agent_pool_profiles) > 1:
multizoned = False
for ap in self.mc.agent_pool_profiles:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@
DecoratorEarlyExitException,
DecoratorMode,
)
from azext_aks_preview._consts import (
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY_V2,
)
from dateutil.parser import parse
from deepdiff import DeepDiff

Expand Down Expand Up @@ -4686,6 +4689,22 @@ def test_get_outbound_type(self):
expect_outbound_type_4 = CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY
self.assertEqual(outbound_type_4,expect_outbound_type_4)

# managedNATGatewayV2 should be preserved, not overwritten to loadBalancer
ctx5 = AKSPreviewManagedClusterContext(
self.cmd,
AKSManagedClusterParamDict(
{"outbound_type": "managedNATGatewayV2"}
),
self.models,
decorator_mode=DecoratorMode.CREATE,
)
self.create_attach_agentpool_context(ctx5)
outbound_type_5 = ctx5._get_outbound_type(False, False, None)
self.assertEqual(
outbound_type_5,
CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY_V2,
)

def test_get_enable_gateway_api(self):
# default value
ctx_1 = AKSPreviewManagedClusterContext(
Expand Down
Loading