Documentation
¶
Index ¶
- Constants
- Variables
- func NewAvailabilityZoneProvider() availabilityZoneProvider
- func NewComputeFacade() computeFacade
- func NewComputeService(serviceClients utils.ServiceClients, computeFacade ComputeFacade, ...) computeService
- func NewComputeServiceBuilder(openstackService openstack.OpenstackService, cpiConfig config.CpiConfig, ...) computeServiceBuilder
- func NewFlavorResolver(serviceClients utils.ServiceClients, computeFacade ComputeFacade) flavorResolver
- func NewVolumeConfigurator() volumeConfigurator
- type AvailabilityZoneProvider
- type ComputeFacade
- type ComputeService
- type ComputeServiceBuilder
- type FlavorResolver
- type ServerWithAZ
- type VolumeConfigurator
Constants ¶
View Source
const NoDisk = 0
Variables ¶
View Source
var ComputeServicePollingInterval = 10 * time.Second
Functions ¶
func NewAvailabilityZoneProvider ¶
func NewAvailabilityZoneProvider() availabilityZoneProvider
func NewComputeFacade ¶
func NewComputeFacade() computeFacade
func NewComputeService ¶
func NewComputeService( serviceClients utils.ServiceClients, computeFacade ComputeFacade, flavorResolver FlavorResolver, volumeConfigurator VolumeConfigurator, availabilityZoneProvider AvailabilityZoneProvider, logger utils.Logger, ) computeService
func NewFlavorResolver ¶
func NewFlavorResolver( serviceClients utils.ServiceClients, computeFacade ComputeFacade, ) flavorResolver
func NewVolumeConfigurator ¶
func NewVolumeConfigurator() volumeConfigurator
Types ¶
type AvailabilityZoneProvider ¶
type AvailabilityZoneProvider interface {
GetAvailabilityZones(cloudProperties properties.CreateVM) []string
}
type ComputeFacade ¶
type ComputeFacade interface {
CreateServer(client utils.ServiceClient, opts servers.CreateOptsBuilder) (*servers.Server, error)
DeleteServer(client utils.RetryableServiceClient, serverID string) error
RebootServer(client utils.ServiceClient, serverID string, opts servers.RebootOptsBuilder) error
GetServer(client utils.RetryableServiceClient, serverID string) (*servers.Server, error)
GetServerWithAZ(client utils.RetryableServiceClient, serverID string) (*ServerWithAZ, error)
ListFlavors(client utils.RetryableServiceClient, opts flavors.ListOpts) (pagination.Page, error)
ExtractFlavors(page pagination.Page) ([]flavors.Flavor, error)
GetOSKeyPair(client utils.RetryableServiceClient, keyPairName string, ops keypairs.GetOpts) (*keypairs.KeyPair, error)
GetServerMetadata(client utils.RetryableServiceClient, serverID string) (map[string]string, error)
UpdateServer(client utils.ServiceClient, serverID string, opt servers.UpdateOptsBuilder) (*servers.Server, error)
UpdateServerMetadata(client utils.ServiceClient, serverID string, opts servers.UpdateMetadataOptsBuilder) (map[string]string, error)
DeleteServerMetaData(client *gophercloud.ServiceClient, serverID string, key string) error
AttachVolume(client *gophercloud.ServiceClient, serverID string, opts volumeattach.CreateOptsBuilder) (*volumeattach.VolumeAttachment, error)
DetachVolume(client *gophercloud.ServiceClient, serverID string, volumeID string) error
ListVolumeAttachments(client *gophercloud.ServiceClient, serverID string) ([]volumeattach.VolumeAttachment, error)
}
type ComputeService ¶
type ComputeService interface {
GetServer(
serverID string,
) (*servers.Server, error)
CreateServer(
stemcellCID apiv1.StemcellCID,
cloudProps properties.CreateVM,
networkConfig properties.NetworkConfig,
agentID apiv1.AgentID,
env apiv1.VMEnv,
cpiConfig config.CpiConfig,
) (*servers.Server, error)
DeleteServer(
serverID string,
cpiConfig config.CpiConfig,
) error
RebootServer(
serverID string,
cpiConfig config.CpiConfig,
) error
GetMetadata(
serverID string,
) (map[string]string, error)
UpdateServer(
serverID string,
serverName string,
) (*servers.Server, error)
UpdateServerMetadata(
serverID string,
serverMetadata properties.ServerMetadata,
) error
DeleteServerMetaData(
serverID string,
oldMetaDataMap map[string]string,
updateMetaDataMap properties.ServerMetadata,
) error
GetMatchingFlavor(
vmResources apiv1.VMResources,
bootFromVolume bool,
) (flavors.Flavor, error)
GetServerAZ(
vmcid string,
) (string, error)
AttachVolume(
serverID string,
volumeID string,
device string,
) (*volumeattach.VolumeAttachment, error)
DetachVolume(
serverID string,
volumeID string,
) error
ListVolumeAttachments(
serverID string,
) ([]volumeattach.VolumeAttachment, error)
GetFlavorById(
flavorId string,
) (flavors.Flavor, error)
}
type ComputeServiceBuilder ¶
type ComputeServiceBuilder interface {
Build() (ComputeService, error)
}
type FlavorResolver ¶
type FlavorResolver interface {
ResolveFlavorForInstanceType(flavorName string) (flavors.Flavor, error)
ResolveFlavorForRequirements(vmResources apiv1.VMResources, bootFromVolume bool) ([]flavors.Flavor, error)
GetClosestMatchedFlavor(possibleFlavors []flavors.Flavor) flavors.Flavor
GetFlavorById(flavorId string) (flavors.Flavor, error)
}
type ServerWithAZ ¶
type ServerWithAZ struct {
servers.Server
availabilityzones.ServerAvailabilityZoneExt
}
type VolumeConfigurator ¶
type VolumeConfigurator interface {
ConfigureVolumes(
imageID string,
openstackConfig config.OpenstackConfig,
cloudProperties properties.CreateVM,
flavor flavors.Flavor,
) ([]bootfromvolume.BlockDevice, error)
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.