From 300a9a787d5ae5bfebb14f370973de7b5ef6c427 Mon Sep 17 00:00:00 2001 From: Matthew Frahry Date: Mon, 2 Mar 2020 13:12:59 -0800 Subject: [PATCH] `azurerm_batch_pool` - `frontend_port_range ` is now set correctly. (#5941) --- azurerm/helpers/azure/batch_pool.go | 2 +- .../services/batch/resource_arm_batch_pool.go | 2 + .../tests/resource_arm_batch_pool_test.go | 84 +++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) diff --git a/azurerm/helpers/azure/batch_pool.go b/azurerm/helpers/azure/batch_pool.go index e3d1ee817578..8d2afe3fbeb8 100644 --- a/azurerm/helpers/azure/batch_pool.go +++ b/azurerm/helpers/azure/batch_pool.go @@ -673,7 +673,7 @@ func FlattenBatchPoolNetworkConfiguration(networkConfig *batch.NetworkConfigurat inboundNatPoolMap["backend_port"] = *inboundNatPool.BackendPort } if inboundNatPool.FrontendPortRangeStart != nil && inboundNatPool.FrontendPortRangeEnd != nil { - inboundNatPoolMap["frontend_port_range"] = fmt.Sprintf("%d-%d", *inboundNatPool.FrontendPortRangeStart, inboundNatPool.FrontendPortRangeEnd) + inboundNatPoolMap["frontend_port_range"] = fmt.Sprintf("%d-%d", *inboundNatPool.FrontendPortRangeStart, *inboundNatPool.FrontendPortRangeEnd) } inboundNatPoolMap["protocol"] = inboundNatPool.Protocol diff --git a/azurerm/internal/services/batch/resource_arm_batch_pool.go b/azurerm/internal/services/batch/resource_arm_batch_pool.go index 8649e40bb66e..8ea488b72a5c 100644 --- a/azurerm/internal/services/batch/resource_arm_batch_pool.go +++ b/azurerm/internal/services/batch/resource_arm_batch_pool.go @@ -746,6 +746,8 @@ func resourceArmBatchPoolRead(d *schema.ResourceData, meta interface{}) error { } } + d.Set("max_tasks_per_node", props.MaxTasksPerNode) + if props.DeploymentConfiguration != nil && props.DeploymentConfiguration.VirtualMachineConfiguration != nil && props.DeploymentConfiguration.VirtualMachineConfiguration.ImageReference != nil { diff --git a/azurerm/internal/services/batch/tests/resource_arm_batch_pool_test.go b/azurerm/internal/services/batch/tests/resource_arm_batch_pool_test.go index d8ce7301b534..e8a8572c94c5 100644 --- a/azurerm/internal/services/batch/tests/resource_arm_batch_pool_test.go +++ b/azurerm/internal/services/batch/tests/resource_arm_batch_pool_test.go @@ -380,6 +380,25 @@ func TestAccAzureRMBatchPool_customImage(t *testing.T) { }) } +func TestAccAzureRMBatchPool_frontEndPortRanges(t *testing.T) { + data := acceptance.BuildTestData(t, "azurerm_batch_pool", "test") + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acceptance.PreCheck(t) }, + Providers: acceptance.SupportedProviders, + CheckDestroy: testCheckAzureRMBatchPoolDestroy, + Steps: []resource.TestStep{ + { + Config: testaccAzureRMBatchPool_networkConfiguration(data), + Check: resource.ComposeTestCheckFunc( + testCheckAzureRMBatchPoolExists(data.ResourceName), + ), + }, + data.ImportStep("stop_pending_resize_operation"), + }, + }) +} + func testCheckAzureRMBatchPoolExists(name string) resource.TestCheckFunc { return func(s *terraform.State) error { ctx := acceptance.AzureProvider.Meta().(*clients.Client).StopContext @@ -1201,3 +1220,68 @@ resource "azurerm_batch_pool" "test" { } `, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomInteger, data.RandomInteger, data.RandomInteger, data.RandomString, data.RandomInteger, data.RandomInteger, data.RandomInteger, data.RandomString, data.RandomString) } + +func testaccAzureRMBatchPool_networkConfiguration(data acceptance.TestData) string { + return fmt.Sprintf(` +resource "azurerm_resource_group" "test" { + name = "testaccRG-%d-batchpool" + location = "%s" +} + +resource "azurerm_virtual_network" "test" { + name = "acctestvirtnet%d" + address_space = ["10.0.0.0/16"] + location = azurerm_resource_group.test.location + resource_group_name = azurerm_resource_group.test.name +} + +resource "azurerm_subnet" "test" { + name = "internal" + resource_group_name = azurerm_resource_group.test.name + virtual_network_name = azurerm_virtual_network.test.name + address_prefix = "10.0.2.0/24" +} + +resource "azurerm_batch_account" "test" { + name = "testaccbatch%s" + resource_group_name = "${azurerm_resource_group.test.name}" + location = "${azurerm_resource_group.test.location}" +} + +resource "azurerm_batch_pool" "test" { + name = "testaccpool%s" + resource_group_name = "${azurerm_resource_group.test.name}" + account_name = "${azurerm_batch_account.test.name}" + node_agent_sku_id = "batch.node.ubuntu 16.04" + vm_size = "Standard_A1" + + fixed_scale { + target_dedicated_nodes = 1 + } + + storage_image_reference { + publisher = "Canonical" + offer = "UbuntuServer" + sku = "16.04.0-LTS" + version = "latest" + } + + network_configuration { + subnet_id = "${azurerm_subnet.test.id}" + + endpoint_configuration { + name = "SSH" + protocol = "TCP" + backend_port = 22 + frontend_port_range = "4000-4100" + + network_security_group_rules { + access = "Deny" + priority = 1001 + source_address_prefix = "*" + } + } + } +} +`, data.RandomInteger, data.Locations.Primary, data.RandomInteger, data.RandomString, data.RandomString) +}