cloudhypervisor

package
v0.5.7 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2026 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DebugDiskCLIArgs

func DebugDiskCLIArgs(storageConfigs []*types.StorageConfig, cpuCount, diskQueueSize int, noDirectIO bool) []string

DebugDiskCLIArgs uses the same storage-to-disk mapping as launch.

func ReverseLayerSerials

func ReverseLayerSerials(storageConfigs []*types.StorageConfig) []string

ReverseLayerSerials extracts layer serials, reversed for overlayfs lowerdir.

Types

type CloudHypervisor

type CloudHypervisor struct {
	*hypervisor.Backend
	// contains filtered or unexported fields
}

CloudHypervisor implements hypervisor.Hypervisor.

func New

func New(conf *config.Config, rec metering.Recorder, store meta.Store) (*CloudHypervisor, error)

New creates a CloudHypervisor backend. rec may be nil; the backend falls back to NopRecorder for emit calls.

func (*CloudHypervisor) Clone

func (ch *CloudHypervisor) Clone(ctx context.Context, vmID string, vmCfg *types.VMConfig, net types.NetSetup, snapshotConfig *types.SnapshotConfig, snapshot io.Reader) (*types.VM, error)

func (*CloudHypervisor) Console

func (ch *CloudHypervisor) Console(ctx context.Context, ref string) (io.ReadWriteCloser, error)

Console returns a caller-closed bidirectional stream to the VM console: console.sock (UEFI) or the CH-allocated PTY (OCI).

func (*CloudHypervisor) Create

func (ch *CloudHypervisor) Create(ctx context.Context, id string, vmCfg *types.VMConfig, storageConfigs []*types.StorageConfig, net types.NetSetup, bootCfg *types.BootConfig) (*types.VM, error)

func (*CloudHypervisor) Delete

func (ch *CloudHypervisor) Delete(ctx context.Context, refs []string, force bool) ([]string, error)

func (*CloudHypervisor) DeviceAttach added in v0.3.9

func (ch *CloudHypervisor) DeviceAttach(ctx context.Context, vmRef string, spec vfio.Spec) (string, error)

func (*CloudHypervisor) DeviceDetach added in v0.3.9

func (ch *CloudHypervisor) DeviceDetach(ctx context.Context, vmRef, id string) error

func (*CloudHypervisor) DeviceList added in v0.3.9

func (ch *CloudHypervisor) DeviceList(ctx context.Context, vmRef string) ([]vfio.Attached, error)

func (*CloudHypervisor) DirectClone

func (ch *CloudHypervisor) DirectClone(ctx context.Context, vmID string, vmCfg *types.VMConfig, net types.NetSetup, snapshotConfig *types.SnapshotConfig, srcDir string) (*types.VM, error)

DirectClone clones from a local snapshot dir. Per-type: hardlink memory-range-*, reflink/copy COW, plain copy metadata; cidata is regenerated.

func (*CloudHypervisor) DirectRestore

func (ch *CloudHypervisor) DirectRestore(ctx context.Context, vmRef string, vmCfg *types.VMConfig, srcDir, sourceSnapshotID string) (*types.VM, error)

DirectRestore restores a VM in place from a local snapshot dir.

func (*CloudHypervisor) DiskAttach added in v0.4.9

func (ch *CloudHypervisor) DiskAttach(ctx context.Context, vmRef string, spec disk.Spec) (string, error)

func (*CloudHypervisor) DiskDetach added in v0.4.9

func (ch *CloudHypervisor) DiskDetach(ctx context.Context, vmRef, name string) error

func (*CloudHypervisor) DiskList added in v0.4.9

func (ch *CloudHypervisor) DiskList(ctx context.Context, vmRef string) ([]disk.Attached, error)

func (*CloudHypervisor) FsAttach added in v0.3.9

func (ch *CloudHypervisor) FsAttach(ctx context.Context, vmRef string, spec fs.Spec) (string, error)

func (*CloudHypervisor) FsDetach added in v0.3.9

func (ch *CloudHypervisor) FsDetach(ctx context.Context, vmRef, tag string) error

func (*CloudHypervisor) FsList added in v0.3.9

func (ch *CloudHypervisor) FsList(ctx context.Context, vmRef string) ([]fs.Attached, error)

func (*CloudHypervisor) Hibernate added in v0.4.8

func (ch *CloudHypervisor) Hibernate(ctx context.Context, ref string, persist func(cfg *types.SnapshotConfig, srcDir string) error) error

Hibernate captures like Snapshot but persists and then terminates the VMM inside the pause window instead of resuming.

func (*CloudHypervisor) NetResize added in v0.4.0

func (ch *CloudHypervisor) NetResize(ctx context.Context, vmRef string, spec netresize.Spec, plumbing netresize.Plumbing) (netresize.Result, error)

NetResize brings the VM's NIC count to spec.Target on a running CH VM.

func (*CloudHypervisor) Restore

func (ch *CloudHypervisor) Restore(ctx context.Context, vmRef string, vmCfg *types.VMConfig, snapshot io.Reader, sourceSnapshotID string) (*types.VM, error)

func (*CloudHypervisor) Snapshot

func (ch *CloudHypervisor) Snapshot(ctx context.Context, ref string) (*types.SnapshotConfig, string, error)

Snapshot pauses, captures CH state+COW, resumes, and returns the capture dir.

func (*CloudHypervisor) Start

func (ch *CloudHypervisor) Start(ctx context.Context, refs []string) ([]string, error)

func (*CloudHypervisor) Stop

func (ch *CloudHypervisor) Stop(ctx context.Context, refs []string) ([]string, error)

Stop shuts down each CH process: UEFI uses ACPI power-button; direct-boot uses vm.shutdown. Both fall back to SIGTERM→SIGKILL.

type Config

type Config struct {
	hypervisor.BaseConfig
}

Config holds Cloud Hypervisor specific configuration.

func NewConfig added in v0.3.1

func NewConfig(conf *config.Config) *Config

NewConfig creates a Config from a global config.

func (*Config) BinaryName added in v0.2.9

func (c *Config) BinaryName() string

func (*Config) CidataPath

func (c *Config) CidataPath(vmID string) string

func (*Config) OverlayPath

func (c *Config) OverlayPath(vmID string) string

func (*Config) PIDFileName added in v0.2.9

func (c *Config) PIDFileName() string

Jump to

Keyboard shortcuts

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