@ -13,6 +13,7 @@ import (
"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/secgroups"
"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach"
"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
"github.com/gophercloud/gophercloud/openstack/networking/v2/networks"
"github.com/gophercloud/gophercloud/pagination"
)
@ -666,6 +667,27 @@ func TestAccComputeV2Instance_timeout(t *testing.T) {
} )
}
func TestAccComputeV2Instance_networkNameToID ( t * testing . T ) {
var instance servers . Server
var network networks . Network
resource . Test ( t , resource . TestCase {
PreCheck : func ( ) { testAccPreCheck ( t ) } ,
Providers : testAccProviders ,
CheckDestroy : testAccCheckComputeV2InstanceDestroy ,
Steps : [ ] resource . TestStep {
resource . TestStep {
Config : testAccComputeV2Instance_networkNameToID ,
Check : resource . ComposeTestCheckFunc (
testAccCheckComputeV2InstanceExists ( "openstack_compute_instance_v2.instance_1" , & instance ) ,
testAccCheckNetworkingV2NetworkExists ( "openstack_networking_network_v2.network_1" , & network ) ,
resource . TestCheckResourceAttrPtr (
"openstack_compute_instance_v2.instance_1" , "network.1.uuid" , & network . ID ) ,
) ,
} ,
} ,
} )
}
func testAccCheckComputeV2InstanceDestroy ( s * terraform . State ) error {
config := testAccProvider . Meta ( ) . ( * Config )
computeClient , err := config . computeV2Client ( OS_REGION_NAME )
@ -1580,3 +1602,34 @@ resource "openstack_compute_instance_v2" "instance_1" {
}
}
`
var testAccComputeV2Instance_networkNameToID = fmt . Sprintf ( `
resource "openstack_networking_network_v2" "network_1" {
name = "network_1"
}
resource "openstack_networking_subnet_v2" "subnet_1" {
name = "subnet_1"
network_id = "${openstack_networking_network_v2.network_1.id}"
cidr = "192.168.1.0/24"
ip_version = 4
enable_dhcp = true
no_gateway = true
}
resource "openstack_compute_instance_v2" "instance_1" {
depends_on = [ "openstack_networking_subnet_v2.subnet_1" ]
name = "instance_1"
security_groups = [ "default" ]
network {
uuid = "%s"
}
network {
name = "${openstack_networking_network_v2.network_1.name}"
}
}
` , OS_NETWORK_ID )