Skip to content

Commit 14dfc78

Browse files
authored
feat: Adding --pod-ip-allocation-mode to the agentpool profile in AKS for Azure CNI Static Block GA
1 parent a16d8bc commit 14dfc78

File tree

9 files changed

+213
-1
lines changed

9 files changed

+213
-1
lines changed

src/azure-cli/azure/cli/command_modules/acs/_consts.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@
124124
CONST_NETWORK_POLICY_CALICO = "calico"
125125
CONST_NETWORK_POLICY_NONE = "none"
126126

127+
# network pod ip allocation mode
128+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_DYNAMIC_INDIVIDUAL = "DynamicIndividual"
129+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_STATIC_BLOCK = "StaticBlock"
130+
127131
# consts for addons
128132
# http application routing
129133
CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME = "httpApplicationRouting"

src/azure-cli/azure/cli/command_modules/acs/_help.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,12 @@
290290
- name: --pod-subnet-id
291291
type: string
292292
short-summary: The ID of a subnet in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
293+
- name: --pod-ip-allocation-mode
294+
type: string
295+
short-summary: Set the ip allocation mode for how Pod IPs from the Azure Pod Subnet are allocated to the nodes in the AKS cluster. The choice is between dynamic batches of individual IPs or static allocation of a set of CIDR blocks. Accepted Values are "DynamicIndividual" or "StaticBlock".
296+
long-summary: |
297+
Used together with the "azure" network plugin.
298+
Requires --pod-subnet-id.
293299
- name: --ppg
294300
type: string
295301
short-summary: The ID of a PPG.
@@ -660,6 +666,8 @@
660666
text: az aks create -g MyResourceGroup -n MyMC --kubernetes-version 1.20.9 --node-vm-size VMSize --assign-identity "subscriptions/SubID/resourceGroups/RGName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myID" --enable-managed-identity --crg-id "subscriptions/SubID/resourceGroups/RGName/providers/Microsoft.ContainerService/CapacityReservationGroups/MyCRGID"
661667
- name: Create a kubernetes cluster with Azure Service Mesh enabled.
662668
text: az aks create -g MyResourceGroup -n MyManagedCluster --enable-azure-service-mesh
669+
- name: Create a kubernetes cluster with a nodepool having ip allocation mode set to "StaticBlock"
670+
text: az aks create -g MyResourceGroup -n MyManagedCluster --os-sku Ubuntu --max-pods MaxPodsPerNode --network-plugin azure --vnet-subnet-id /subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/NodeSubnet --pod-subnet-id /subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/PodSubnet --pod-ip-allocation-mode StaticBlock
663671
"""
664672

665673
helps['aks update'] = """
@@ -1587,6 +1595,12 @@
15871595
- name: --pod-subnet-id
15881596
type: string
15891597
short-summary: The Resource Id of a subnet in an existing VNet into which to assign pods in the cluster (requires azure network-plugin).
1598+
- name: --pod-ip-allocation-mode
1599+
type: string
1600+
short-summary: Set the ip allocation mode for how Pod IPs from the Azure Pod Subnet are allocated to the nodes in the AKS cluster. The choice is between dynamic batches of individual IPs or static allocation of a set of CIDR blocks. Accepted Values are "DynamicIndividual" or "StaticBlock".
1601+
long-summary: |
1602+
Used together with the "azure" network plugin.
1603+
Requires --pod-subnet-id.
15901604
- name: --ppg
15911605
type: string
15921606
short-summary: The ID of a PPG.
@@ -1719,6 +1733,8 @@
17191733
text: az aks nodepool add -g MyResourceGroup -n MyNodePool --cluster-name MyMC --host-group-id /subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/hostGroups/myHostGroup --node-vm-size VMSize
17201734
- name: create a nodepool with a Capacity Reservation Group(CRG) ID.
17211735
text: az aks nodepool add -g MyResourceGroup -n MyNodePool --cluster-name MyMC --node-vm-size VMSize --crg-id "/subscriptions/SubID/resourceGroups/ResourceGroupName/providers/Microsoft.ContainerService/CapacityReservationGroups/MyCRGID"
1736+
- name: Create a nodepool with ip allocation mode set to "StaticBlock" and using a pod subnet ID
1737+
text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --os-sku Ubuntu --pod-subnet-id /subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/MySubnet --pod-ip-allocation-mode StaticBlock
17221738
"""
17231739

17241740
helps['aks nodepool delete'] = """

src/azure-cli/azure/cli/command_modules/acs/_params.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
CONST_NETWORK_POLICY_AZURE, CONST_NETWORK_POLICY_CALICO, CONST_NETWORK_POLICY_CILIUM, CONST_NETWORK_POLICY_NONE,
2424
CONST_NETWORK_PLUGIN_AZURE, CONST_NETWORK_PLUGIN_KUBENET,
2525
CONST_NETWORK_PLUGIN_MODE_OVERLAY, CONST_NETWORK_PLUGIN_NONE,
26+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_DYNAMIC_INDIVIDUAL,
27+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_STATIC_BLOCK,
2628
CONST_NODE_IMAGE_UPGRADE_CHANNEL, CONST_NONE_UPGRADE_CHANNEL,
2729
CONST_NODE_OS_CHANNEL_NODE_IMAGE,
2830
CONST_NODE_OS_CHANNEL_NONE,
@@ -97,7 +99,7 @@
9799
validate_nat_gateway_managed_outbound_ip_count, validate_network_policy,
98100
validate_nodepool_id, validate_nodepool_labels, validate_nodepool_name,
99101
validate_nodepool_tags, validate_nodes_count, validate_os_sku,
100-
validate_pod_subnet_id, validate_ppg, validate_priority,
102+
validate_pod_subnet_id, validate_pod_ip_allocation_mode, validate_ppg, validate_priority,
101103
validate_registry_name, validate_sku_tier, validate_snapshot_id,
102104
validate_snapshot_name, validate_spot_max_price, validate_ssh_key,
103105
validate_nodepool_taints, validate_vm_set_type, validate_vnet_subnet_id, validate_k8s_support_plan,
@@ -163,6 +165,7 @@
163165
node_os_skus = node_os_skus_create + [CONST_OS_SKU_WINDOWS2019, CONST_OS_SKU_WINDOWS2022]
164166
node_os_skus_update = [CONST_OS_SKU_AZURELINUX, CONST_OS_SKU_UBUNTU, CONST_OS_SKU_UBUNTU2204]
165167
scale_down_modes = [CONST_SCALE_DOWN_MODE_DELETE, CONST_SCALE_DOWN_MODE_DEALLOCATE]
168+
pod_ip_allocation_modes = [CONST_NETWORK_POD_IP_ALLOCATION_MODE_DYNAMIC_INDIVIDUAL, CONST_NETWORK_POD_IP_ALLOCATION_MODE_STATIC_BLOCK]
166169

167170
# consts for ManagedCluster
168171
load_balancer_skus = [CONST_LOAD_BALANCER_SKU_BASIC, CONST_LOAD_BALANCER_SKU_STANDARD]
@@ -443,6 +446,7 @@ def load_arguments(self, _):
443446
c.argument('snapshot_id', validator=validate_snapshot_id)
444447
c.argument('vnet_subnet_id', validator=validate_vnet_subnet_id)
445448
c.argument('pod_subnet_id', validator=validate_pod_subnet_id)
449+
c.argument('pod_ip_allocation_mode', arg_type=get_enum_type(pod_ip_allocation_modes), validator=validate_pod_ip_allocation_mode)
446450
c.argument('enable_node_public_ip', action='store_true')
447451
c.argument('node_public_ip_prefix_id')
448452
c.argument('enable_cluster_autoscaler', action='store_true')
@@ -817,6 +821,7 @@ def load_arguments(self, _):
817821
c.argument('snapshot_id', validator=validate_snapshot_id)
818822
c.argument('vnet_subnet_id', validator=validate_vnet_subnet_id)
819823
c.argument('pod_subnet_id', validator=validate_pod_subnet_id)
824+
c.argument('pod_ip_allocation_mode', arg_type=get_enum_type(pod_ip_allocation_modes), validator=validate_pod_ip_allocation_mode)
820825
c.argument('enable_node_public_ip', action='store_true')
821826
c.argument('node_public_ip_prefix_id')
822827
c.argument('enable_cluster_autoscaler', options_list=["--enable-cluster-autoscaler", "-e"], action='store_true')

src/azure-cli/azure/cli/command_modules/acs/_validators.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
CONST_OS_SKU_AZURELINUX,
1717
CONST_OS_SKU_CBLMARINER,
1818
CONST_OS_SKU_MARINER,
19+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_DYNAMIC_INDIVIDUAL,
20+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_STATIC_BLOCK,
1921
)
2022
from azure.cli.core import keys
2123
from azure.cli.core.azclierror import (
@@ -359,6 +361,14 @@ def validate_vnet_subnet_id(namespace):
359361
def validate_pod_subnet_id(namespace):
360362
_validate_subnet_id(namespace.pod_subnet_id, "--pod-subnet-id")
361363

364+
def validate_pod_ip_allocation_mode(namespace):
365+
"""Validates the pod ip allocation mode string."""
366+
if namespace.pod_ip_allocation_mode is not None:
367+
if namespace.pod_ip_allocation_mode not in (
368+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_DYNAMIC_INDIVIDUAL,
369+
CONST_NETWORK_POD_IP_ALLOCATION_MODE_STATIC_BLOCK,
370+
):
371+
raise InvalidArgumentValueError("--pod-ip-allocation-mode can only be DynamicIndividual or StaticBlock")
362372

363373
def validate_apiserver_subnet_id(namespace):
364374
_validate_subnet_id(namespace.apiserver_subnet_id, "--apiserver-subnet-id")

src/azure-cli/azure/cli/command_modules/acs/agentpool_decorator.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,26 @@ def get_pod_subnet_id(self) -> Union[str, None]:
763763
# this parameter does not need validation
764764
return pod_subnet_id
765765

766+
def get_pod_ip_allocation_mode(self: bool = False) -> Union[str, None]:
767+
"""Get the value of pod_ip_allocation_mode.
768+
769+
:return: str or None
770+
"""
771+
772+
# Get the value of pod_ip_allocation_mode from the raw parameters provided by the user
773+
pod_ip_allocation_mode = self.raw_param.get("pod_ip_allocation_mode")
774+
# In create mode, try to read the property value corresponding to the parameter from the `agentpool` object
775+
# if it exists and user has not provided any value in raw parameters
776+
if self.decorator_mode == DecoratorMode.CREATE:
777+
if (
778+
pod_ip_allocation_mode and
779+
self.agentpool and
780+
self.agentpool.pod_ip_allocation_mode is not None
781+
):
782+
pod_ip_allocation_mode = self.agentpool.pod_ip_allocation_mode
783+
784+
return pod_ip_allocation_mode
785+
766786
def get_enable_node_public_ip(self) -> bool:
767787
"""Obtain the value of enable_node_public_ip, default value is False.
768788
@@ -1778,6 +1798,7 @@ def set_up_node_network_properties(self, agentpool: AgentPool) -> AgentPool:
17781798

17791799
agentpool.vnet_subnet_id = self.context.get_vnet_subnet_id()
17801800
agentpool.pod_subnet_id = self.context.get_pod_subnet_id()
1801+
agentpool.pod_ip_allocation_mode = self.context.get_pod_ip_allocation_mode()
17811802
agentpool.enable_node_public_ip = self.context.get_enable_node_public_ip()
17821803
agentpool.node_public_ip_prefix_id = self.context.get_node_public_ip_prefix_id()
17831804
return agentpool
@@ -2006,6 +2027,18 @@ def set_up_gpu_profile(self, agentpool: AgentPool) -> AgentPool:
20062027
agentpool.gpu_profile.driver = gpu_driver
20072028

20082029
return agentpool
2030+
2031+
def set_up_pod_ip_allocation_mode(self, agentpool: AgentPool) -> AgentPool:
2032+
"""Set up pod ip allocation mode for the AgentPool object.
2033+
2034+
:return: the AgentPool object
2035+
"""
2036+
self._ensure_agentpool(agentpool)
2037+
2038+
pod_ip_allocation_mode = self.context.get_pod_ip_allocation_mode()
2039+
if pod_ip_allocation_mode is not None:
2040+
agentpool.pod_ip_allocation_mode = pod_ip_allocation_mode
2041+
return agentpool
20092042

20102043
def construct_agentpool_profile_default(self, bypass_restore_defaults: bool = False) -> AgentPool:
20112044
"""The overall controller used to construct the AgentPool profile by default.
@@ -2043,6 +2076,8 @@ def construct_agentpool_profile_default(self, bypass_restore_defaults: bool = Fa
20432076
agentpool = self.set_up_gpu_properties(agentpool)
20442077
# set up agentpool network profile
20452078
agentpool = self.set_up_agentpool_network_profile(agentpool)
2079+
# set up agentpool pod ip allocation mode
2080+
agentpool = self.set_up_pod_ip_allocation_mode(agentpool)
20462081
# set up agentpool windows profile
20472082
agentpool = self.set_up_agentpool_windows_profile(agentpool)
20482083
# set up crg id

src/azure-cli/azure/cli/command_modules/acs/custom.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,7 @@ def aks_create(
609609
snapshot_id=None,
610610
vnet_subnet_id=None,
611611
pod_subnet_id=None,
612+
pod_ip_allocation_mode=None,
612613
enable_node_public_ip=False,
613614
node_public_ip_prefix_id=None,
614615
enable_cluster_autoscaler=False,
@@ -2392,6 +2393,7 @@ def aks_agentpool_add(
23922393
snapshot_id=None,
23932394
vnet_subnet_id=None,
23942395
pod_subnet_id=None,
2396+
pod_ip_allocation_mode=None,
23952397
enable_node_public_ip=False,
23962398
node_public_ip_prefix_id=None,
23972399
enable_cluster_autoscaler=False,

src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_agentpool_decorator.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,37 @@ def common_get_pod_subnet_id(self):
661661
agentpool = self.create_initialized_agentpool_instance(pod_subnet_id="test_pod_subnet_id")
662662
ctx_1.attach_agentpool(agentpool)
663663
self.assertEqual(ctx_1.get_pod_subnet_id(), "test_pod_subnet_id")
664+
665+
def common_get_pod_ip_allocation_mode(self):
666+
# default
667+
ctx_1 = AKSPreviewAgentPoolContext(
668+
self.cmd,
669+
AKSAgentPoolParamDict({"pod_ip_allocation_mode": None}),
670+
self.models,
671+
DecoratorMode.CREATE,
672+
self.agentpool_decorator_mode,
673+
)
674+
self.assertEqual(ctx_1.get_pod_ip_allocation_mode(), None)
675+
agentpool_1 = self.create_initialized_agentpool_instance(
676+
pod_ip_allocation_mode="StaticBlock"
677+
)
678+
ctx_1.attach_agentpool(agentpool_1)
679+
self.assertEqual(ctx_1.get_pod_ip_allocation_mode(), None)
680+
681+
# default to raw even if agentpool has different value
682+
ctx_2 = AKSPreviewAgentPoolContext(
683+
self.cmd,
684+
AKSAgentPoolParamDict({"pod_ip_allocation_mode": "DynamicIndividual"}),
685+
self.models,
686+
DecoratorMode.CREATE,
687+
self.agentpool_decorator_mode,
688+
)
689+
self.assertEqual(ctx_2.get_pod_ip_allocation_mode(), "DynamicIndividual")
690+
agentpool_2 = self.create_initialized_agentpool_instance(
691+
pod_ip_allocation_mode="StaticBlock"
692+
)
693+
ctx_2.attach_agentpool(agentpool_2)
694+
self.assertEqual(ctx_2.get_pod_ip_allocation_mode(), "StaticBlock")
664695

665696
def common_get_enable_node_public_ip(self):
666697
# default
@@ -1694,6 +1725,9 @@ def test_get_vnet_subnet_id(self):
16941725

16951726
def test_get_pod_subnet_id(self):
16961727
self.common_get_pod_subnet_id()
1728+
1729+
def test_get_pod_ip_allocation_mode(self):
1730+
self.common_get_pod_ip_allocation_mode()
16971731

16981732
def test_get_enable_node_public_ip(self):
16991733
self.common_get_enable_node_public_ip()
@@ -1879,6 +1913,9 @@ def test_get_vnet_subnet_id(self):
18791913
def test_get_pod_subnet_id(self):
18801914
self.common_get_pod_subnet_id()
18811915

1916+
def test_get_pod_ip_allocation_mode(self):
1917+
self.common_get_pod_ip_allocation_mode()
1918+
18821919
def test_get_enable_node_public_ip(self):
18831920
self.common_get_enable_node_public_ip()
18841921

@@ -2157,6 +2194,7 @@ def common_set_up_node_network_properties(self):
21572194
{
21582195
"vnet_subnet_id": "test_vnet_subnet_id",
21592196
"pod_subnet_id": "test_pod_subnet_id",
2197+
"pod_ip_allocation_mode": "DynamicIndividual",
21602198
"enable_node_public_ip": True,
21612199
"node_public_ip_prefix_id": "test_node_public_ip_prefix_id",
21622200
},
@@ -2174,6 +2212,7 @@ def common_set_up_node_network_properties(self):
21742212
ground_truth_agentpool_1 = self.create_initialized_agentpool_instance(
21752213
vnet_subnet_id="test_vnet_subnet_id",
21762214
pod_subnet_id="test_pod_subnet_id",
2215+
pod_ip_allocation_mode="DynamicIndividual",
21772216
enable_node_public_ip=True,
21782217
node_public_ip_prefix_id="test_node_public_ip_prefix_id",
21792218
)

src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12774,4 +12774,103 @@ def test_aks_create_gpu_driver_flow(self, resource_group, resource_group_locatio
1277412774
self.cmd(
1277512775
"aks delete -g {resource_group} -n {name} --yes --no-wait",
1277612776
checks=[self.is_empty()],
12777+
)
12778+
12779+
@AllowLargeResponse()
12780+
@AKSCustomResourceGroupPreparer(
12781+
random_name_length=17,
12782+
name_prefix="clitest",
12783+
location="centraluseuap",
12784+
preserve_default_location=True,
12785+
)
12786+
def test_aks_create_with_pod_ip_allocation_mode_static_block(
12787+
self, resource_group, resource_group_location
12788+
):
12789+
# reset the count so in replay mode the random names will start with 0
12790+
self.test_resources_count = 0
12791+
# kwargs for string formatting
12792+
aks_name = self.create_random_name("cliakstest", 16)
12793+
vnet_name = self.create_random_name("cliakstest", 16)
12794+
self.kwargs.update(
12795+
{
12796+
"resource_group": resource_group,
12797+
"aks_name": aks_name,
12798+
"vnet_name": vnet_name,
12799+
"location": resource_group_location,
12800+
"resource_type": "Microsoft.ContainerService/ManagedClusters",
12801+
"ssh_key_value": self.generate_ssh_keys(),
12802+
}
12803+
)
12804+
12805+
# create virtual network
12806+
create_vnet = (
12807+
"network vnet create --resource-group={resource_group} --name={vnet_name} "
12808+
"--address-prefix 10.0.0.0/8 -o json"
12809+
)
12810+
vnet = self.cmd(
12811+
create_vnet, checks=[self.check("newVNet.provisioningState", "Succeeded")]
12812+
).get_output_in_json()
12813+
vnet_id = vnet["newVNet"]["id"]
12814+
assert vnet_id is not None
12815+
12816+
# create node subnet
12817+
create_node_subnet = (
12818+
"network vnet subnet create -n nodeSubnet --resource-group={resource_group} --vnet-name {vnet_name} "
12819+
"--address-prefixes 10.240.0.0/16"
12820+
)
12821+
show_node_subnet_cmd = "network vnet subnet show \
12822+
--resource-group={resource_group} \
12823+
--vnet-name={vnet_name} \
12824+
--name nodeSubnet"
12825+
self.cmd(create_node_subnet, checks=[self.check("provisioningState", "Succeeded")])
12826+
node_subnet_output = self.cmd(show_node_subnet_cmd).get_output_in_json()
12827+
node_subnet_id = node_subnet_output["id"]
12828+
assert node_subnet_id is not None
12829+
12830+
# create pod subnet
12831+
create_pod_subnet = (
12832+
"network vnet subnet create -n podSubnet --resource-group={resource_group} --vnet-name {vnet_name} "
12833+
"--address-prefixes 10.40.0.0/13"
12834+
)
12835+
show_pod_subnet_cmd = "network vnet subnet show \
12836+
--resource-group={resource_group} \
12837+
--vnet-name={vnet_name} \
12838+
--name podSubnet"
12839+
self.cmd(create_pod_subnet, checks=[self.check("provisioningState", "Succeeded")])
12840+
pod_subnet_output = self.cmd(show_pod_subnet_cmd).get_output_in_json()
12841+
pod_subnet_id = pod_subnet_output["id"]
12842+
assert pod_subnet_id is not None
12843+
12844+
pod_ip_allocation_mode = "StaticBlock"
12845+
self.kwargs.update(
12846+
{
12847+
"vnet_id": vnet_id,
12848+
"node_subnet_id": node_subnet_id,
12849+
"pod_subnet_id": pod_subnet_id,
12850+
"pod_ip_allocation_mode": pod_ip_allocation_mode,
12851+
}
12852+
)
12853+
12854+
# create
12855+
create_cmd = (
12856+
"aks create --resource-group={resource_group} --name={aks_name} --location={location} "
12857+
"--network-plugin azure --ssh-key-value={ssh_key_value} --max-pods 80 "
12858+
"--vnet-subnet-id {node_subnet_id} --pod-subnet-id {pod_subnet_id} --node-count 3 "
12859+
"--pod-ip-allocation-mode={pod_ip_allocation_mode} "
12860+
"--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureVnetScalePreview"
12861+
)
12862+
self.cmd(
12863+
create_cmd,
12864+
checks=[
12865+
self.check("provisioningState", "Succeeded"),
12866+
self.check("networkProfile.networkPlugin", "azure"),
12867+
self.check("agentPoolProfiles[0].podSubnetId", pod_subnet_id),
12868+
self.check("agentPoolProfiles[0].podIpAllocationMode", pod_ip_allocation_mode),
12869+
],
12870+
)
12871+
12872+
# delete
12873+
self.cmd(
12874+
"aks delete -g {resource_group} -n {aks_name} --yes --no-wait",
12875+
checks=[self.is_empty()],
1277712876
)

src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_managed_cluster_decorator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6043,6 +6043,7 @@ def test_set_up_agentpool_profile(self):
60436043
"snapshot_id": "test_snapshot_id",
60446044
"vnet_subnet_id": "test_vnet_subnet_id",
60456045
"pod_subnet_id": "test_pod_subnet_id",
6046+
"pod_ip_allocation_mode": "DynamicIndividual",
60466047
"enable_node_public_ip": True,
60476048
"node_public_ip_prefix_id": "test_node_public_ip_prefix_id",
60486049
"enable_cluster_autoscaler": True,
@@ -6088,6 +6089,7 @@ def test_set_up_agentpool_profile(self):
60886089
creation_data=self.models.CreationData(source_resource_id="test_snapshot_id"),
60896090
vnet_subnet_id="test_vnet_subnet_id",
60906091
pod_subnet_id="test_pod_subnet_id",
6092+
pod_ip_allocation_mode="DynamicIndividual",
60916093
enable_node_public_ip=True,
60926094
node_public_ip_prefix_id="test_node_public_ip_prefix_id",
60936095
enable_auto_scaling=True,

0 commit comments

Comments
 (0)