Documentation
¶
Overview ¶
Package schedulerhints extends the volume create request with the ability to specify additional parameters which determine where the volume will be created in the OpenStack cloud.
Example to Place Volume B on a Different Host than Volume A
schedulerHints := schedulerhints.SchedulerHints{
DifferentHost: []string{
"volume-a-uuid",
}
}
volumeCreateOpts := volumes.CreateOpts{
Name: "volume_b",
Size: 10,
}
createOpts := schedulerhints.CreateOptsExt{
VolumeCreateOptsBuilder: volumeCreateOpts,
SchedulerHints: schedulerHints,
}
volume, err := volumes.Create(computeClient, createOpts).Extract()
if err != nil {
panic(err)
}
Example to Place Volume B on the Same Host as Volume A
schedulerHints := schedulerhints.SchedulerHints{
SameHost: []string{
"volume-a-uuid",
}
}
volumeCreateOpts := volumes.CreateOpts{
Name: "volume_b",
Size: 10
}
createOpts := schedulerhints.CreateOptsExt{
VolumeCreateOptsBuilder: volumeCreateOpts,
SchedulerHints: schedulerHints,
}
volume, err := volumes.Create(computeClient, createOpts).Extract()
if err != nil {
panic(err)
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateOptsBuilder ¶
type CreateOptsBuilder interface {
ToVolumeSchedulerHintsCreateMap() (map[string]interface{}, error)
}
CreateOptsBuilder builds the scheduler hints into a serializable format.
type CreateOptsExt ¶
type CreateOptsExt struct {
VolumeCreateOptsBuilder
// SchedulerHints provides a set of hints to the scheduler.
SchedulerHints CreateOptsBuilder
}
CreateOptsExt adds a SchedulerHints option to the base CreateOpts.
func (CreateOptsExt) ToVolumeCreateMap ¶
func (opts CreateOptsExt) ToVolumeCreateMap() (map[string]interface{}, error)
ToVolumeCreateMap adds the SchedulerHints option to the base volume creation options.
type SchedulerHints ¶
type SchedulerHints struct {
// DifferentHost will place the volume on a different back-end that does not
// host the given volumes.
DifferentHost []string
// SameHost will place the volume on a back-end that hosts the given volumes.
SameHost []string
// LocalToInstance will place volume on same host on a given instance
LocalToInstance string
// Query is a conditional statement that results in back-ends able to
// host the volume.
Query string
// AdditionalProperies are arbitrary key/values that are not validated by nova.
AdditionalProperties map[string]interface{}
}
SchedulerHints represents a set of scheduling hints that are passed to the OpenStack scheduler.
func (SchedulerHints) ToVolumeSchedulerHintsCreateMap ¶
func (opts SchedulerHints) ToVolumeSchedulerHintsCreateMap() (map[string]interface{}, error)
ToVolumeSchedulerHintsMap builds the scheduler hints into a serializable format.
type VolumeCreateOptsBuilder ¶
VolumeCreateOptsBuilder allows extensions to add additional parameters to the Create request.