@@ -1164,6 +1164,108 @@ func TestAccKubernetesCluster_apiServerVnetIntegrationManagedVnet(t *testing.T)
11641164 })
11651165}
11661166
1167+ func TestAccKubernetesCluster_upgradeAzureCNIToOverlay (t * testing.T ) {
1168+ data := acceptance .BuildTestData (t , "azurerm_kubernetes_cluster" , "test" )
1169+ r := KubernetesClusterResource {}
1170+
1171+ data .ResourceTest (t , r , []acceptance.TestStep {
1172+ {
1173+ Config : r .upgradeAzureCNIToOverlayBase (data ),
1174+ Check : acceptance .ComposeTestCheckFunc (
1175+ check .That (data .ResourceName ).ExistsInAzure (r ),
1176+ ),
1177+ },
1178+ data .ImportStep (),
1179+ {
1180+ Config : r .upgradeAzureCNIToOverlayComplete (data ),
1181+ Check : acceptance .ComposeTestCheckFunc (
1182+ check .That (data .ResourceName ).ExistsInAzure (r ),
1183+ ),
1184+ },
1185+ data .ImportStep (),
1186+ })
1187+ }
1188+
1189+ func TestAccKubernetesCluster_upgradeAzureCNIToOverlayWithCilium (t * testing.T ) {
1190+ data := acceptance .BuildTestData (t , "azurerm_kubernetes_cluster" , "test" )
1191+ r := KubernetesClusterResource {}
1192+
1193+ data .ResourceTest (t , r , []acceptance.TestStep {
1194+ {
1195+ Config : r .upgradeAzureCNIToOverlayBase (data ),
1196+ Check : acceptance .ComposeTestCheckFunc (
1197+ check .That (data .ResourceName ).ExistsInAzure (r ),
1198+ ),
1199+ },
1200+ data .ImportStep (),
1201+ {
1202+ Config : r .upgradeAzureCNIToOverlayComplete (data ),
1203+ Check : acceptance .ComposeTestCheckFunc (
1204+ check .That (data .ResourceName ).ExistsInAzure (r ),
1205+ ),
1206+ },
1207+ data .ImportStep (),
1208+ {
1209+ Config : r .upgradeAzureCNIToOverlayWithCilium (data ),
1210+ Check : acceptance .ComposeTestCheckFunc (
1211+ check .That (data .ResourceName ).ExistsInAzure (r ),
1212+ ),
1213+ },
1214+ data .ImportStep (),
1215+ })
1216+ }
1217+
1218+ func TestAccKubernetesCluster_upgradeKubenetToAzureCNIOverlay (t * testing.T ) {
1219+ data := acceptance .BuildTestData (t , "azurerm_kubernetes_cluster" , "test" )
1220+ r := KubernetesClusterResource {}
1221+
1222+ data .ResourceTest (t , r , []acceptance.TestStep {
1223+ {
1224+ Config : r .upgradeKubenetBase (data ),
1225+ Check : acceptance .ComposeTestCheckFunc (
1226+ check .That (data .ResourceName ).ExistsInAzure (r ),
1227+ ),
1228+ },
1229+ data .ImportStep (),
1230+ {
1231+ Config : r .upgradeKubenetToAzureCNIOverlay (data ),
1232+ Check : acceptance .ComposeTestCheckFunc (
1233+ check .That (data .ResourceName ).ExistsInAzure (r ),
1234+ ),
1235+ },
1236+ data .ImportStep (),
1237+ })
1238+ }
1239+
1240+ func TestAccKubernetesCluster_upgradeKubenetToAzureCNIOverlayWithCilium (t * testing.T ) {
1241+ data := acceptance .BuildTestData (t , "azurerm_kubernetes_cluster" , "test" )
1242+ r := KubernetesClusterResource {}
1243+
1244+ data .ResourceTest (t , r , []acceptance.TestStep {
1245+ {
1246+ Config : r .upgradeKubenetBase (data ),
1247+ Check : acceptance .ComposeTestCheckFunc (
1248+ check .That (data .ResourceName ).ExistsInAzure (r ),
1249+ ),
1250+ },
1251+ data .ImportStep (),
1252+ {
1253+ Config : r .upgradeKubenetToAzureCNIOverlay (data ),
1254+ Check : acceptance .ComposeTestCheckFunc (
1255+ check .That (data .ResourceName ).ExistsInAzure (r ),
1256+ ),
1257+ },
1258+ data .ImportStep (),
1259+ {
1260+ Config : r .upgradeKubenetToAzureCNIOverlayWithCilium (data ),
1261+ Check : acceptance .ComposeTestCheckFunc (
1262+ check .That (data .ResourceName ).ExistsInAzure (r ),
1263+ ),
1264+ },
1265+ data .ImportStep (),
1266+ })
1267+ }
1268+
11671269func (KubernetesClusterResource ) advancedNetworkingConfig (data acceptance.TestData , networkPlugin string ) string {
11681270 return fmt .Sprintf (`
11691271provider "azurerm" {
@@ -4686,3 +4788,283 @@ resource "azurerm_kubernetes_cluster" "test" {
46864788}
46874789` , data .Locations .Primary , data .RandomInteger )
46884790}
4791+
4792+ func (KubernetesClusterResource ) upgradeAzureCNIToOverlayBase (data acceptance.TestData ) string {
4793+ return fmt .Sprintf (`
4794+ provider "azurerm" {
4795+ features {}
4796+ }
4797+
4798+ resource "azurerm_resource_group" "test" {
4799+ name = "acctestRG-aks-%[2]d"
4800+ location = "%[1]s"
4801+ }
4802+
4803+ resource "azurerm_virtual_network" "test" {
4804+ name = "acctestRG-vnet-%[2]d"
4805+ address_space = ["10.0.0.0/8"]
4806+ location = azurerm_resource_group.test.location
4807+ resource_group_name = azurerm_resource_group.test.name
4808+ }
4809+
4810+ resource "azurerm_subnet" "test" {
4811+ name = "acctestRG-subnet-%[2]d"
4812+ resource_group_name = azurerm_resource_group.test.name
4813+ virtual_network_name = azurerm_virtual_network.test.name
4814+ address_prefixes = ["10.10.0.0/16"]
4815+ }
4816+
4817+ resource "azurerm_kubernetes_cluster" "test" {
4818+ name = "acctestaks%[2]d"
4819+ location = azurerm_resource_group.test.location
4820+ resource_group_name = azurerm_resource_group.test.name
4821+ dns_prefix = "acctestaks%[2]d"
4822+
4823+ default_node_pool {
4824+ name = "default"
4825+ node_count = 1
4826+ vm_size = "Standard_DS2_v2"
4827+ vnet_subnet_id = azurerm_subnet.test.id
4828+ upgrade_settings {
4829+ max_surge = "10%%"
4830+ }
4831+ }
4832+
4833+ identity {
4834+ type = "SystemAssigned"
4835+ }
4836+
4837+ network_profile {
4838+ network_plugin = "azure"
4839+ }
4840+ }
4841+ ` , data .Locations .Primary , data .RandomInteger )
4842+ }
4843+
4844+ func (KubernetesClusterResource ) upgradeAzureCNIToOverlayComplete (data acceptance.TestData ) string {
4845+ return fmt .Sprintf (`
4846+ provider "azurerm" {
4847+ features {}
4848+ }
4849+
4850+ resource "azurerm_resource_group" "test" {
4851+ name = "acctestRG-aks-%[2]d"
4852+ location = "%[1]s"
4853+ }
4854+
4855+ resource "azurerm_virtual_network" "test" {
4856+ name = "acctestRG-vnet-%[2]d"
4857+ address_space = ["10.0.0.0/8"]
4858+ location = azurerm_resource_group.test.location
4859+ resource_group_name = azurerm_resource_group.test.name
4860+ }
4861+
4862+ resource "azurerm_subnet" "test" {
4863+ name = "acctestRG-subnet-%[2]d"
4864+ resource_group_name = azurerm_resource_group.test.name
4865+ virtual_network_name = azurerm_virtual_network.test.name
4866+ address_prefixes = ["10.10.0.0/16"]
4867+ }
4868+
4869+ resource "azurerm_kubernetes_cluster" "test" {
4870+ name = "acctestaks%[2]d"
4871+ location = azurerm_resource_group.test.location
4872+ resource_group_name = azurerm_resource_group.test.name
4873+ dns_prefix = "acctestaks%[2]d"
4874+
4875+ default_node_pool {
4876+ name = "default"
4877+ node_count = 1
4878+ vm_size = "Standard_DS2_v2"
4879+ vnet_subnet_id = azurerm_subnet.test.id
4880+ upgrade_settings {
4881+ max_surge = "10%%"
4882+ }
4883+ }
4884+
4885+ identity {
4886+ type = "SystemAssigned"
4887+ }
4888+
4889+ network_profile {
4890+ pod_cidr = "192.168.0.0/16"
4891+ network_plugin = "azure"
4892+ network_plugin_mode = "overlay"
4893+ }
4894+ }
4895+ ` , data .Locations .Primary , data .RandomInteger )
4896+ }
4897+
4898+ func (KubernetesClusterResource ) upgradeAzureCNIToOverlayWithCilium (data acceptance.TestData ) string {
4899+ return fmt .Sprintf (`
4900+ provider "azurerm" {
4901+ features {}
4902+ }
4903+
4904+ resource "azurerm_resource_group" "test" {
4905+ name = "acctestRG-aks-%[2]d"
4906+ location = "%[1]s"
4907+ }
4908+
4909+ resource "azurerm_virtual_network" "test" {
4910+ name = "acctestRG-vnet-%[2]d"
4911+ address_space = ["10.0.0.0/8"]
4912+ location = azurerm_resource_group.test.location
4913+ resource_group_name = azurerm_resource_group.test.name
4914+ }
4915+
4916+ resource "azurerm_subnet" "test" {
4917+ name = "acctestRG-subnet-%[2]d"
4918+ resource_group_name = azurerm_resource_group.test.name
4919+ virtual_network_name = azurerm_virtual_network.test.name
4920+ address_prefixes = ["10.10.0.0/16"]
4921+ }
4922+
4923+ resource "azurerm_kubernetes_cluster" "test" {
4924+ name = "acctestaks%[2]d"
4925+ location = azurerm_resource_group.test.location
4926+ resource_group_name = azurerm_resource_group.test.name
4927+ dns_prefix = "acctestaks%[2]d"
4928+
4929+ default_node_pool {
4930+ name = "default"
4931+ node_count = 1
4932+ vm_size = "Standard_DS2_v2"
4933+ vnet_subnet_id = azurerm_subnet.test.id
4934+ upgrade_settings {
4935+ max_surge = "10%%"
4936+ }
4937+ }
4938+
4939+ identity {
4940+ type = "SystemAssigned"
4941+ }
4942+
4943+ network_profile {
4944+ pod_cidr = "192.168.0.0/16"
4945+ network_plugin = "azure"
4946+ network_plugin_mode = "overlay"
4947+ network_policy = "cilium"
4948+ network_data_plane = "cilium"
4949+ }
4950+ }
4951+ ` , data .Locations .Primary , data .RandomInteger )
4952+ }
4953+
4954+ func (KubernetesClusterResource ) upgradeKubenetBase (data acceptance.TestData ) string {
4955+ return fmt .Sprintf (`
4956+ provider "azurerm" {
4957+ features {}
4958+ }
4959+
4960+ resource "azurerm_resource_group" "test" {
4961+ name = "acctestRG-aks-%[2]d"
4962+ location = "%[1]s"
4963+ }
4964+
4965+ resource "azurerm_kubernetes_cluster" "test" {
4966+ name = "acctestaks%[2]d"
4967+ location = azurerm_resource_group.test.location
4968+ resource_group_name = azurerm_resource_group.test.name
4969+ dns_prefix = "acctestaks%[2]d"
4970+
4971+ default_node_pool {
4972+ name = "default"
4973+ node_count = 1
4974+ vm_size = "Standard_DS2_v2"
4975+ upgrade_settings {
4976+ max_surge = "10%%"
4977+ }
4978+ }
4979+
4980+ identity {
4981+ type = "SystemAssigned"
4982+ }
4983+
4984+ network_profile {
4985+ network_plugin = "kubenet"
4986+ pod_cidr = "172.16.0.0/16"
4987+ }
4988+ }
4989+ ` , "westcentralus" , data .RandomInteger )
4990+ }
4991+
4992+ func (KubernetesClusterResource ) upgradeKubenetToAzureCNIOverlay (data acceptance.TestData ) string {
4993+ return fmt .Sprintf (`
4994+ provider "azurerm" {
4995+ features {}
4996+ }
4997+
4998+ resource "azurerm_resource_group" "test" {
4999+ name = "acctestRG-aks-%[2]d"
5000+ location = "%[1]s"
5001+ }
5002+
5003+ resource "azurerm_kubernetes_cluster" "test" {
5004+ name = "acctestaks%[2]d"
5005+ location = azurerm_resource_group.test.location
5006+ resource_group_name = azurerm_resource_group.test.name
5007+ dns_prefix = "acctestaks%[2]d"
5008+
5009+ default_node_pool {
5010+ name = "default"
5011+ node_count = 1
5012+ vm_size = "Standard_DS2_v2"
5013+ upgrade_settings {
5014+ max_surge = "10%%"
5015+ }
5016+ }
5017+
5018+ identity {
5019+ type = "SystemAssigned"
5020+ }
5021+
5022+ network_profile {
5023+ pod_cidr = "172.16.0.0/16"
5024+ network_plugin = "azure"
5025+ network_plugin_mode = "overlay"
5026+ }
5027+ }
5028+ ` , "westcentralus" , data .RandomInteger )
5029+ }
5030+
5031+ func (KubernetesClusterResource ) upgradeKubenetToAzureCNIOverlayWithCilium (data acceptance.TestData ) string {
5032+ return fmt .Sprintf (`
5033+ provider "azurerm" {
5034+ features {}
5035+ }
5036+
5037+ resource "azurerm_resource_group" "test" {
5038+ name = "acctestRG-aks-%[2]d"
5039+ location = "%[1]s"
5040+ }
5041+
5042+ resource "azurerm_kubernetes_cluster" "test" {
5043+ name = "acctestaks%[2]d"
5044+ location = azurerm_resource_group.test.location
5045+ resource_group_name = azurerm_resource_group.test.name
5046+ dns_prefix = "acctestaks%[2]d"
5047+
5048+ default_node_pool {
5049+ name = "default"
5050+ node_count = 1
5051+ vm_size = "Standard_DS2_v2"
5052+ upgrade_settings {
5053+ max_surge = "10%%"
5054+ }
5055+ }
5056+
5057+ identity {
5058+ type = "SystemAssigned"
5059+ }
5060+
5061+ network_profile {
5062+ pod_cidr = "172.16.0.0/16"
5063+ network_plugin = "azure"
5064+ network_plugin_mode = "overlay"
5065+ network_policy = "cilium"
5066+ network_data_plane = "cilium"
5067+ }
5068+ }
5069+ ` , "westcentralus" , data .RandomInteger )
5070+ }
0 commit comments