PageRenderTime 42ms CodeModel.GetById 31ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/Godeps/_workspace/src/github.com/rackspace/gophercloud/acceptance/openstack/compute/v2/bootfromvolume_test.go

https://gitlab.com/Red54/machine
Go | 55 lines | 44 code | 10 blank | 1 comment | 6 complexity | 5951fdc1647d97e2ecb7c8443bb3b9b0 MD5 | raw file
 1// +build acceptance
 2
 3package v2
 4
 5import (
 6	"testing"
 7
 8	"github.com/rackspace/gophercloud/acceptance/tools"
 9	"github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume"
10	"github.com/rackspace/gophercloud/openstack/compute/v2/servers"
11	th "github.com/rackspace/gophercloud/testhelper"
12)
13
14func TestBootFromVolume(t *testing.T) {
15	client, err := newClient()
16	th.AssertNoErr(t, err)
17
18	if testing.Short() {
19		t.Skip("Skipping test that requires server creation in short mode.")
20	}
21
22	choices, err := ComputeChoicesFromEnv()
23	if err != nil {
24		t.Fatal(err)
25	}
26
27	name := tools.RandomString("Gophercloud-", 8)
28	t.Logf("Creating server [%s].", name)
29
30	bd := []bootfromvolume.BlockDevice{
31		bootfromvolume.BlockDevice{
32			UUID:       choices.ImageID,
33			SourceType: bootfromvolume.Image,
34			VolumeSize: 10,
35		},
36	}
37
38	serverCreateOpts := servers.CreateOpts{
39		Name:      name,
40		FlavorRef: choices.FlavorID,
41		ImageRef:  choices.ImageID,
42	}
43	server, err := bootfromvolume.Create(client, bootfromvolume.CreateOptsExt{
44		serverCreateOpts,
45		bd,
46	}).Extract()
47	th.AssertNoErr(t, err)
48	if err = waitForStatus(client, server, "ACTIVE"); err != nil {
49		t.Fatal(err)
50	}
51
52	t.Logf("Created server: %+v\n", server)
53	defer servers.Delete(client, server.ID)
54	t.Logf("Deleting server [%s]...", name)
55}