vm

package
v0.0.0-...-b13fc33 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ManagedByLabelKey   = "storage-e2e.deckhouse.io/managed-by"
	ManagedByLabelValue = "storage-e2e"
)

Teardown only touches resources carrying this label, so anything the framework creates on the base cluster must carry it to be swept by Remove.

Variables

This section is empty.

Functions

func ManagedLabels

func ManagedLabels() map[string]string

Types

type Client

type Client interface {
	GetClusterVirtualImage(ctx context.Context, name string) (*v1alpha2.ClusterVirtualImage, error)
	CreateClusterVirtualImage(ctx context.Context, cvi *v1alpha2.ClusterVirtualImage) error

	GetVirtualDisk(ctx context.Context, namespace, name string) (*v1alpha2.VirtualDisk, error)
	CreateVirtualDisk(ctx context.Context, vd *v1alpha2.VirtualDisk) error
	DeleteVirtualDisk(ctx context.Context, namespace, name string) error
	ListVirtualDisks(ctx context.Context, namespace string) ([]v1alpha2.VirtualDisk, error)

	GetVirtualMachine(ctx context.Context, namespace, name string) (*v1alpha2.VirtualMachine, error)
	CreateVirtualMachine(ctx context.Context, machine *v1alpha2.VirtualMachine) error
	DeleteVirtualMachine(ctx context.Context, namespace, name string) error
	ListVirtualMachines(ctx context.Context, namespace string) ([]v1alpha2.VirtualMachine, error)

	GetVirtualMachineClass(ctx context.Context, name string) (*v1alpha3.VirtualMachineClass, error)
	CreateVirtualMachineClass(ctx context.Context, class *v1alpha3.VirtualMachineClass) error
}

func NewClient

func NewClient(c *virtualization.Client) Client

type Config

type Config struct {
	Namespace    string
	StorageClass string
	SSHPublicKey string

	VMClassName        string
	DefaultVMClassName string

	Timeouts Timeouts
}

type Provisioner

type Provisioner struct {
	// contains filtered or unexported fields
}

func NewProvisioner

func NewProvisioner(client Client, log *slog.Logger, cfg Config) *Provisioner

func (*Provisioner) DeleteNode

func (p *Provisioner) DeleteNode(ctx context.Context, hostname string) error

DeleteNode removes a single node's VirtualMachine and its backing system VirtualDisk, waiting for both to disappear. It is used to reclaim the setup node once its bootstrap role is complete, without touching the rest of the cluster. Missing objects are treated as already deleted.

func (*Provisioner) Provision

func (p *Provisioner) Provision(ctx context.Context, def *config.ClusterDefinition) error

func (*Provisioner) Teardown

func (p *Provisioner) Teardown(ctx context.Context) error

type Timeouts

type Timeouts struct {
	PollInterval                    time.Duration
	ClusterVirtualImageReadyTimeout time.Duration
	VMClassReadyTimeout             time.Duration
	VMRunningTimeout                time.Duration
	DeleteTimeout                   time.Duration
}

Jump to

Keyboard shortcuts

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