compute

package
v0.0.0-...-dc19527 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

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 NewComputeServiceBuilder

func NewComputeServiceBuilder(openstackService openstack.OpenstackService, cpiConfig config.CpiConfig, logger utils.Logger) computeServiceBuilder

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 VolumeConfigurator

type VolumeConfigurator interface {
	ConfigureVolumes(
		imageID string,
		openstackConfig config.OpenstackConfig,
		cloudProperties properties.CreateVM,
		flavor flavors.Flavor,
	) ([]bootfromvolume.BlockDevice, error)
}

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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