blob: b3d80a37e2f0971cbaed67650e70224c36861200 [file] [log] [blame]
Samuel A. Falvo II2dd7d2f2014-06-30 16:18:08 -07001// +build acceptance,old
2
Mark Peekd2188c42013-08-27 08:16:28 -07003package main
4
5import (
6 "flag"
7 "fmt"
Max Lincoln28b49562013-12-13 13:23:44 -03008 "github.com/rackspace/gophercloud"
Mark Peekd2188c42013-08-27 08:16:28 -07009)
10
11var quiet = flag.Bool("quiet", false, "Quiet mode for acceptance testing. $? non-zero on error though.")
Samuel A. Falvo IIe4a3e422013-09-13 12:36:37 -070012var rgn = flag.String("r", "", "Datacenter region to interrogate. Leave blank for provider-default region.")
Mark Peekd2188c42013-08-27 08:16:28 -070013
14func main() {
15 flag.Parse()
16
17 withIdentity(false, func(auth gophercloud.AccessProvider) {
18 withServerApi(auth, func(servers gophercloud.CloudServersProvider) {
19 log("Creating server")
20 serverId, err := createServer(servers, "", "", "", "")
21 if err != nil {
22 panic(err)
23 }
24 waitForServerState(servers, serverId, "ACTIVE")
25
26 log("Creating image")
27 name := randomString("ACPTTEST", 16)
28 createImage := gophercloud.CreateImage{
29 Name: name,
30 }
31 imageId, err := servers.CreateImage(serverId, createImage)
32 if err != nil {
33 panic(err)
34 }
35 waitForImageState(servers, imageId, "ACTIVE")
36
37 log("Deleting server")
38 servers.DeleteServerById(serverId)
39
40 log("Deleting image")
41 servers.DeleteImageById(imageId)
42
43 log("Done")
44 })
45 })
46}
47
48func log(s string) {
Jon Perritt2be65d12013-12-13 17:21:09 -060049 if !*quiet {
50 fmt.Println(s)
51 }
Mark Peekd2188c42013-08-27 08:16:28 -070052}