Documentation ¶
Index ¶
Constants ¶
View Source
const ( KVMCPUOpts = `KVM_CPU_OPTS=-cpu %s -smp sockets=%v,cpus=%v,cores=%v,threads=%v,maxcpus=%v -m %d` CloudInitOpts = `CLOUD_INIT_OPTS=-drive file=/data/seed.iso,if=virtio,format=raw` )
Qemu Command Parameters
View Source
const ( ImageMount = "%v:/image/image" DataMount = "%v:/data" MetadataMount = "%v/%v:/cloud-init/openstack/latest/meta_data.json" MedatataFile = "meta_data.json" UserDataMount = "%s:/cloud-init/openstack/latest/user_data" )
Mount binds
View Source
const (
DefaultSSHPublicKeyFile = "id_rsa.pub"
)
VM launcher environment variables
View Source
const DiskDefaultSizeGB = 50
DiskDefaultSizeGB is the default size of qcow2 root disk in GB.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComposeConfig ¶
ComposeConfig defines a VMs orchestration template
type ConfigDriveMetaData ¶
type ConfigDriveMetaData struct { AvailabilityZone string `json:"availavility_zone"` Hostname string `json:"hostname"` LaunchIndex string `json:"launch_index"` Name string `json:"name"` Meta map[string]string `json:"meta"` PublicKeys map[string]string `json:"public_keys"` UUID string `json:"uuid"` }
ConfigDriveMetaData stands for cloud images config drive
type Instance ¶
type Instance struct { ID string `yaml:"id"` Name string `yaml:"name"` Namespace string `yaml:"namespace"` ParentImage string `yaml:"image"` Flavor string `yaml:"flavor"` Size Size `yaml:"size"` Workdir string `yaml:"workdir"` SSHPublicKeyFile string `yaml:"sshkey"` UserData string `yaml:"user-data"` Cloud bool `yaml:"cloud"` Efi bool `yaml:"efi"` VNCPort int64 `yaml:"vnc-port"` NetOpts NetworkingOptions `yaml:"network"` ContainerEnvVars []string `yaml:"ContainerEnvVars"` }
Instance contains all VM's attributes
type NetworkingOptions ¶
type NetworkingOptions struct { IP string `yaml:"ip"` MAC string `yaml:"mac"` NetID string `yaml:"net-id"` DNS []string `yaml:"dns"` }
NetworkingOptions specifies network details for new VM
type Size ¶
type Size struct { CPUModel string `yaml:"cpu-model"` Sockets int `yaml:"sockets"` Cpus int `yaml:"cpus"` Cores int `yaml:"cores"` Threads int `yaml:"threads"` RAM int `yaml:"ram"` DISK int `yaml:"disk"` }
Size specifies all custome VM size fields
func GetSizeFromFlavor ¶
GetSizeFromFlavor gets default set of values from a given flavor
Click to show internal directories.
Click to hide internal directories.