Skip to content

Commit

Permalink
F #512: Fix the reservation_ar_id=0 case
Browse files Browse the repository at this point in the history
  • Loading branch information
sk4zuzu authored and treywelsh committed Jan 4, 2024
1 parent b88e830 commit 1d1d50d
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 10 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ BUG FIXES:
* resources/opennebula_virtual_machine: fix `cpumodel` update (#463)
* resources/opennebula_service_template: improve `service_template` idempotency (#468)
* resources/opennebula_service: fix service crashes (#469)
* resources/opennebula_virtual_network: fix the `reservation_ar_id=0` case (#512)

# 1.3.1 (September 11st, 2023)

Expand Down
2 changes: 1 addition & 1 deletion opennebula/resource_opennebula_virtual_network.go
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ func resourceOpennebulaVirtualNetworkCreate(ctx context.Context, d *schema.Resou
if reservationFirstIP, ok := d.GetOk("reservation_first_ip"); ok {
reservationTemplate.AddPair("IP", reservationFirstIP.(string))
}
if reservationARID, ok := d.GetOk("reservation_ar_id"); ok && reservationARID != -1 {
if reservationARID := d.Get("reservation_ar_id"); reservationARID != -1 {
reservationTemplate.AddPair("AR_ID", reservationARID.(int))
}
reservationSize, ok := d.GetOk("reservation_size")
Expand Down
31 changes: 22 additions & 9 deletions opennebula/resource_opennebula_virtual_network_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,14 +190,17 @@ func TestAccVirtualNetwork(t *testing.T) {
{
Config: testAccVirtualNetworkReservationConfig,
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation", "name", "terravnetres"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation", "reservation_size", "5"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation", "reservation_first_ip", "172.16.100.115"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation", "permissions", "660"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation", "uid"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation", "gid"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation", "uname"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation", "gname"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation1", "name", "terravnetres"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation1", "reservation_size", "5"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation1", "reservation_first_ip", "172.16.100.115"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation1", "permissions", "660"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation1", "uid"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation1", "gid"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation1", "uname"),
resource.TestCheckResourceAttrSet("opennebula_virtual_network.reservation1", "gname"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation2", "name", "zero_ar_id"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation2", "reservation_size", "2"),
resource.TestCheckResourceAttr("opennebula_virtual_network.reservation2", "reservation_first_ip", "172.16.100.3"),
testAccCheckVirtualNetworkPermissions(&shared.Permissions{
OwnerU: 1,
OwnerM: 1,
Expand Down Expand Up @@ -563,7 +566,7 @@ resource "opennebula_virtual_network_address_range" "test4" {
size = 2
}
resource "opennebula_virtual_network" "reservation" {
resource "opennebula_virtual_network" "reservation1" {
name = "terravnetres"
description = "my terraform vnet"
reservation_vnet = opennebula_virtual_network.test.id
Expand All @@ -573,6 +576,16 @@ resource "opennebula_virtual_network" "reservation" {
security_groups = [0]
permissions = 660
}
resource "opennebula_virtual_network" "reservation2" {
name = "zero_ar_id"
reservation_vnet = opennebula_virtual_network.test.id
reservation_size = 2
reservation_ar_id = 0
reservation_first_ip = "172.16.100.3"
security_groups = [0]
permissions = 660
}
`

var testAccVirtualNetworkReservationNoNetworkConfig = `
Expand Down

0 comments on commit 1d1d50d

Please sign in to comment.