// aSuitableImage finds a minimal image for use in dynamically creating servers. // If none can be found, this function will panic. func aSuitableImage(api gophercloud.CloudServersProvider) string { images, err := api.ListImages() if err != nil { panic(err) } // TODO(sfalvo): // Works for Rackspace, might not work for your provider! // Need to figure out why ListImages() provides 0 values for // Ram and Disk fields. // // Until then, just return Ubuntu 12.04 LTS. for i := 0; i < len(images); i++ { if strings.Contains(images[i].Name, "Ubuntu 12.04 LTS") { return images[i].Id } } panic("Image for Ubuntu 12.04 LTS not found.") }
// aSuitableImage finds a minimal image for use in dynamically creating servers. // If none can be found, this function will panic. func aSuitableImage(api gophercloud.CloudServersProvider) string { images, err := api.ListImages() if err != nil { panic(err) } // TODO(sfalvo): // Works for Rackspace, might not work for your provider! // Need to figure out why ListImages() provides 0 values for // Ram and Disk fields. // // Until then, just return Ubuntu 12.04 LTS. for i := 0; i < len(images); i++ { if images[i].Id == "23b564c9-c3e6-49f9-bc68-86c7a9ab5018" { return images[i].Id } } panic("Image 23b564c9-c3e6-49f9-bc68-86c7a9ab5018 (Ubuntu 12.04 LTS) not found.") }