@@ -3,6 +3,7 @@ package baremetal_test
33import (
44 "encoding/json"
55 "fmt"
6+ "reflect"
67 "regexp"
78 "strings"
89 "testing"
@@ -89,7 +90,7 @@ func TestAccServer_Basic(t *testing.T) {
8990 name = "%s"
9091 zone = "fr-par-1"
9192 description = "test a description"
92- offer = %s
93+ offer = "%s"
9394 os = data.scaleway_baremetal_os.my_os.os_id
9495
9596 tags = [ "terraform-test", "scaleway_baremetal_server", "minimal", "edited" ]
@@ -225,8 +226,7 @@ func TestAccServer_CreateServerWithCustomInstallConfig(t *testing.T) {
225226 resource .TestCheckResourceAttr ("scaleway_baremetal_server.base" , "tags.0" , "terraform-test" ),
226227 resource .TestCheckResourceAttr ("scaleway_baremetal_server.base" , "tags.1" , "scaleway_baremetal_server" ),
227228 resource .TestCheckResourceAttr ("scaleway_baremetal_server.base" , "tags.2" , "minimal" ),
228- testAccChechPartitioning (tt , "scaleway_baremetal_server.base" , "partitioning_schema.disks.0.partition.0.size" , "536870912" , jsonConfigPartitioning ),
229- //resource.TestCheckResourceAttr("scaleway_baremetal_server.base", "install.partitioning_schema.disks.0.partition.0.size", "536870912"),
229+ testAccChechPartitioning (tt , "scaleway_baremetal_server.base" , jsonConfigPartitioning ),
230230 acctest .CheckResourceAttrUUID ("scaleway_baremetal_server.base" , "ssh_key_ids.0" ),
231231 ),
232232 },
@@ -948,82 +948,82 @@ func TestAccServer_WithIPAMPrivateNetwork(t *testing.T) {
948948 },
949949 {
950950 Config : fmt .Sprintf (`
951- resource "scaleway_vpc" "vpc01" {
952- name = "TestAccScalewayBaremetalIPAM"
953- }
954-
955- resource "scaleway_vpc_private_network" "pn01" {
956- name = "TestAccScalewayBaremetalIPAM"
957- ipv4_subnet {
958- subnet = "172.16.64.0/22"
959- }
960- vpc_id = scaleway_vpc.vpc01.id
961- }
962-
963- resource "scaleway_ipam_ip" "ip01" {
964- address = "172.16.64.7"
965- source {
966- private_network_id = scaleway_vpc_private_network.pn01.id
967- }
968- }
969-
970- resource "scaleway_ipam_ip" "ip02" {
971- address = "172.16.64.9"
972- source {
973- private_network_id = scaleway_vpc_private_network.pn01.id
974- }
975- }
976-
977- data "scaleway_baremetal_os" "my_os" {
978- zone = "fr-par-1"
979- name = "Ubuntu"
980- version = "22.04 LTS (Jammy Jellyfish)"
981- }
982-
983- data "scaleway_baremetal_offer" "my_offer" {
984- zone = "fr-par-1"
985- name = "%s"
986- }
987-
988- data "scaleway_baremetal_option" "private_network" {
989- zone = "fr-par-1"
990- name = "Private Network"
991- }
992-
993- resource "scaleway_iam_ssh_key" "base" {
994- name = "%s"
995- public_key = "%s"
996- }
997-
998- resource "scaleway_baremetal_server" "base" {
999- name = "%s"
1000- zone = "fr-par-1"
1001- offer = data.scaleway_baremetal_offer.my_offer.offer_id
1002- os = data.scaleway_baremetal_os.my_os.os_id
1003-
1004- ssh_key_ids = [ scaleway_iam_ssh_key.base.id ]
1005- options {
1006- id = data.scaleway_baremetal_option.private_network.option_id
951+ resource "scaleway_vpc" "vpc01" {
952+ name = "TestAccScalewayBaremetalIPAM"
1007953 }
1008- private_network {
1009- id = scaleway_vpc_private_network.pn01.id
1010- ipam_ip_ids = [scaleway_ipam_ip.ip01.id, scaleway_ipam_ip.ip02.id]
954+
955+ resource "scaleway_vpc_private_network" "pn01" {
956+ name = "TestAccScalewayBaremetalIPAM"
957+ ipv4_subnet {
958+ subnet = "172.16.64.0/22"
959+ }
960+ vpc_id = scaleway_vpc.vpc01.id
1011961 }
1012- }
1013-
1014- data "scaleway_ipam_ips" "base" {
1015- resource {
1016- name = scaleway_baremetal_server.base.name
1017- type = "baremetal_private_nic"
1018- }
1019- type = "ipv4"
1020- }
1021- ` , OfferName , SSHKeyName , SSHKeyBaremetal , name ),
962+
963+ resource "scaleway_ipam_ip" "ip01" {
964+ address = "172.16.64.7"
965+ source {
966+ private_network_id = scaleway_vpc_private_network.pn01.id
967+ }
968+ }
969+
970+ resource "scaleway_ipam_ip" "ip02" {
971+ address = "172.16.64.9"
972+ source {
973+ private_network_id = scaleway_vpc_private_network.pn01.id
974+ }
975+ }
976+
977+ data "scaleway_baremetal_os" "my_os" {
978+ zone = "fr-par-1"
979+ name = "Ubuntu"
980+ version = "22.04 LTS (Jammy Jellyfish)"
981+ }
982+
983+ data "scaleway_baremetal_offer" "my_offer" {
984+ zone = "fr-par-1"
985+ name = "%s"
986+ }
987+
988+ data "scaleway_baremetal_option" "private_network" {
989+ zone = "fr-par-1"
990+ name = "Private Network"
991+ }
992+
993+ resource "scaleway_iam_ssh_key" "base" {
994+ name = "%s"
995+ public_key = "%s"
996+ }
997+
998+ resource "scaleway_baremetal_server" "base" {
999+ name = "%s"
1000+ zone = "fr-par-1"
1001+ offer = data.scaleway_baremetal_offer.my_offer.offer_id
1002+ os = data.scaleway_baremetal_os.my_os.os_id
1003+
1004+ ssh_key_ids = [ scaleway_iam_ssh_key.base.id ]
1005+ options {
1006+ id = data.scaleway_baremetal_option.private_network.option_id
1007+ }
1008+ private_network {
1009+ id = scaleway_vpc_private_network.pn01.id
1010+ ipam_ip_ids = [scaleway_ipam_ip.ip01.id, scaleway_ipam_ip.ip02.id]
1011+ }
1012+ }
1013+
1014+ data "scaleway_ipam_ips" "base" {
1015+ resource {
1016+ name = scaleway_baremetal_server.base.name
1017+ type = "baremetal_private_nic"
1018+ }
1019+ type = "ipv4"
1020+ }
1021+ ` , OfferName , SSHKeyName , SSHKeyBaremetal , name ),
10221022 Check : resource .ComposeTestCheckFunc (
10231023 testAccCheckBaremetalServerExists (tt , "scaleway_baremetal_server.base" ),
10241024 testAccCheckBaremetalServerHasPrivateNetwork (tt , "scaleway_baremetal_server.base" ),
1025- resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip01" , "address" , "data.scaleway_ipam_ips.base" , "ips.1 .address" ),
1026- resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip02" , "address" , "data.scaleway_ipam_ips.base" , "ips.0 .address" ),
1025+ resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip01" , "address" , "data.scaleway_ipam_ips.base" , "ips.0 .address" ),
1026+ resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip02" , "address" , "data.scaleway_ipam_ips.base" , "ips.1 .address" ),
10271027 ),
10281028 },
10291029 },
@@ -1054,7 +1054,7 @@ func testAccCheckBaremetalServerExists(tt *acctest.TestTools, n string) resource
10541054 }
10551055}
10561056
1057- func testAccChechPartitioning (tt * acctest.TestTools , n string , key string , value string , source string ) resource.TestCheckFunc {
1057+ func testAccChechPartitioning (tt * acctest.TestTools , n string , source string ) resource.TestCheckFunc {
10581058 return func (s * terraform.State ) error {
10591059 rs , ok := s .RootModule ().Resources [n ]
10601060 if ! ok {
@@ -1075,13 +1075,13 @@ func testAccChechPartitioning(tt *acctest.TestTools, n string, key string, value
10751075 if server .Install .PartitioningSchema == nil {
10761076 return fmt .Errorf ("server %s has no partitioning schema" , n )
10771077 }
1078- var schema baremetalSDK.Schema
1078+ schema := baremetalSDK.Schema {}
10791079 //partitioning, _ := json.Marshal(source)
10801080 err = json .Unmarshal ([]byte (source ), & schema )
10811081 if err != nil {
10821082 return err
10831083 }
1084- if & schema != server .Install .PartitioningSchema {
1084+ if ! reflect . DeepEqual ( & schema , server .Install .PartitioningSchema ) {
10851085 return fmt .Errorf ("server %s has not custom partitioning install" , n )
10861086 }
10871087 return nil
0 commit comments