openstack

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2023 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OPENSTACK_CREDENTIALS_FLAGS = []cli.Flag{
	&cli.StringFlag{Name: "OS_AUTH_URL", Usage: "OpenStack auth url (e.g. http://10.0.2.15:5000/v2.0)"},
	&cli.StringFlag{Name: "OS_TENANT_ID", Usage: "OpenStack tenant id (e.g. 3dfe7bf545ff4885a3912a92a4a5f8e0)"},
	&cli.StringFlag{Name: "OS_TENANT_NAME", Usage: "OpenStack tenant name (e.g. admin)"},
	&cli.StringFlag{Name: "OS_PROJECT_NAME", Usage: "OpenStack project name (e.g. admin)"},
	&cli.StringFlag{Name: "OS_USERNAME", Usage: "OpenStack username (e.g. admin)"},
	&cli.StringFlag{Name: "OS_PASSWORD", Usage: "OpenStack password (*TODO*: leave blank to be prompted)"},
	&cli.StringFlag{Name: "OS_REGION_NAME", Usage: "OpenStack username (e.g. RegionOne)"},
}

OPENSTACK_CREDENTIALS_FLAGS is a list of argumets that are used for OpenStack authentication. Append it to Flags list to enable direct authentication i.e. without environment variables.

Functions

func AuthOptionsFromArgs

func AuthOptionsFromArgs(c *cli.Context) (*gophercloud.AuthOptions, error)

AuthOptionsFromArgs fetches OpenStack credentials from command-line arguments. If not even a single argument is passed, then return nil without error.

func GetClients

func GetClients(credentials *gophercloud.AuthOptions, verbose bool) (*gophercloud.ServiceClient, *gophercloud.ServiceClient, error)

GetClients authenticates against OpenStack Identity and obtains Nova and Glance client. Pass nil credentials to fetch it from environment.

func GetFlavor

func GetFlavor(clientNova *gophercloud.ServiceClient, flavorName string, verbose bool) (*flavors.Flavor, error)

GetFlavor returns flavors.Flavor struct for given flavorName.

func GetImageMeta

func GetImageMeta(clientNova *gophercloud.ServiceClient, imageName string, verbose bool) (*images.Image, error)

GetImageMeta returns images.Image struct for given imageName.

func GetOrPickFlavor

func GetOrPickFlavor(clientNova *gophercloud.ServiceClient, flavorName string, diskMB int64, memoryMB int64, verbose bool) (*flavors.Flavor, error)

GetOrPickFlavor returns flavors.Flavor struct that best matches arguments. First it decides whether user wanted to get flavor by name or by criteria. In case of flavor name, it retrieves data about that flavor and returns it. In case of criteria (diskMB, memoryMB) it returns smallest flavor that meets all criteria.

func LaunchInstances

func LaunchInstances(clientNova *gophercloud.ServiceClient, name string, imageName string, flavorName string, count int, verbose bool) error

LaunchInstances launches <count> instances. Return first error that occurs or nil on success.

func ObtainCredentials

func ObtainCredentials(c *cli.Context, verbose bool) (*gophercloud.AuthOptions, error)

ObtainCredentials attempts to obtain OpenStack credentials either from command args eihter from env. If at least one command argument regarding credentials is non-empty, environment is ignored.

func PickFlavor

func PickFlavor(clientNova *gophercloud.ServiceClient, diskMB int64, memoryMB int64, verbose bool) (*flavors.Flavor, error)

PickFlavor picks flavor that best matches criteria (i.e. HDD size and RAM size). While diskMB is required, memoryMB is optional (set to -1 to ignore).

func PushImage

func PushImage(clientGlance *gophercloud.ServiceClient, imageName string, imageFilepath string, flavor *flavors.Flavor, verbose bool)

PushImage first creates meta for image at OpenStack, then it sends binary data for it, the qcow2 image.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL