migration

package
v0.15.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package migration contains the proto and compiled go files for the live migration service, which manages sandbox live migration workflows including preparation, memory transfer, and finalization.

Code generated by protoc-gen-go-ttrpc. DO NOT EDIT. source: github.com/Microsoft/hcsshim/pkg/migration/migration.proto

Index

Constants

This section is empty.

Variables

View Source
var (
	FinalizeAction_name = map[int32]string{
		0: "FINALIZE_ACTION_UNSPECIFIED",
		1: "FINALIZE_ACTION_STOP",
		2: "FINALIZE_ACTION_RESUME",
	}
	FinalizeAction_value = map[string]int32{
		"FINALIZE_ACTION_UNSPECIFIED": 0,
		"FINALIZE_ACTION_STOP":        1,
		"FINALIZE_ACTION_RESUME":      2,
	}
)

Enum value maps for FinalizeAction.

View Source
var (
	MemoryTransport_name = map[int32]string{
		0: "MEMORY_TRANSPORT_UNSPECIFIED",
		1: "MEMORY_TRANSPORT_TCP",
	}
	MemoryTransport_value = map[string]int32{
		"MEMORY_TRANSPORT_UNSPECIFIED": 0,
		"MEMORY_TRANSPORT_TCP":         1,
	}
)

Enum value maps for MemoryTransport.

View Source
var (
	Origin_name = map[int32]string{
		0: "ORIGIN_UNSPECIFIED",
		1: "ORIGIN_SOURCE",
		2: "ORIGIN_DESTINATION",
	}
	Origin_value = map[string]int32{
		"ORIGIN_UNSPECIFIED": 0,
		"ORIGIN_SOURCE":      1,
		"ORIGIN_DESTINATION": 2,
	}
)

Enum value maps for Origin.

View Source
var (
	Phase_name = map[int32]string{
		0: "PHASE_UNSPECIFIED",
		1: "PHASE_SETUP_DONE",
		2: "PHASE_TRANSFER_IN_PROGRESS",
		3: "PHASE_BLACKOUT_STARTED",
		4: "PHASE_OFFLINE_DONE",
		5: "PHASE_BLACKOUT_EXITED",
		6: "PHASE_DONE",
		7: "PHASE_RECOVERY_DONE",
		8: "PHASE_FAILED",
	}
	Phase_value = map[string]int32{
		"PHASE_UNSPECIFIED":          0,
		"PHASE_SETUP_DONE":           1,
		"PHASE_TRANSFER_IN_PROGRESS": 2,
		"PHASE_BLACKOUT_STARTED":     3,
		"PHASE_OFFLINE_DONE":         4,
		"PHASE_BLACKOUT_EXITED":      5,
		"PHASE_DONE":                 6,
		"PHASE_RECOVERY_DONE":        7,
		"PHASE_FAILED":               8,
	}
)

Enum value maps for Phase.

View Source
var (
	PhaseState_name = map[int32]string{
		0: "PHASE_STATE_UNSPECIFIED",
		1: "PHASE_STATE_SUCCESS",
		2: "PHASE_STATE_CANCELLED",
		3: "PHASE_STATE_GUEST_INITIATED_CANCELLATION",
		4: "PHASE_STATE_SOURCE_FAILED",
		5: "PHASE_STATE_DESTINATION_FAILED",
		6: "PHASE_STATE_RECOVERY_FAILED",
	}
	PhaseState_value = map[string]int32{
		"PHASE_STATE_UNSPECIFIED":                  0,
		"PHASE_STATE_SUCCESS":                      1,
		"PHASE_STATE_CANCELLED":                    2,
		"PHASE_STATE_GUEST_INITIATED_CANCELLATION": 3,
		"PHASE_STATE_SOURCE_FAILED":                4,
		"PHASE_STATE_DESTINATION_FAILED":           5,
		"PHASE_STATE_RECOVERY_FAILED":              6,
	}
)

Enum value maps for PhaseState.

View Source
var File_github_com_Microsoft_hcsshim_pkg_migration_migration_options_proto protoreflect.FileDescriptor
View Source
var File_github_com_Microsoft_hcsshim_pkg_migration_migration_proto protoreflect.FileDescriptor

Functions

func RegisterMigrationService

func RegisterMigrationService(srv *ttrpc.Server, svc MigrationService)

Types

type BlackoutExitedEventDetails

type BlackoutExitedEventDetails struct {

	// Duration of the blackout phase, in milliseconds.
	BlackoutDurationMilliseconds uint64 `` /* 148-byte string literal not displayed */
	// Timestamp at which the blackout phase ended.
	BlackoutStopTimestamp *timestamppb.Timestamp `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

BlackoutExitedEventDetails carries additional details reported alongside PHASE_BLACKOUT_EXITED, describing the blackout that just ended. Mirrors the HCS MigrationBlackoutExitedEventDetails schema.

func (*BlackoutExitedEventDetails) Descriptor deprecated

func (*BlackoutExitedEventDetails) Descriptor() ([]byte, []int)

Deprecated: Use BlackoutExitedEventDetails.ProtoReflect.Descriptor instead.

func (*BlackoutExitedEventDetails) GetBlackoutDurationMilliseconds

func (x *BlackoutExitedEventDetails) GetBlackoutDurationMilliseconds() uint64

func (*BlackoutExitedEventDetails) GetBlackoutStopTimestamp

func (x *BlackoutExitedEventDetails) GetBlackoutStopTimestamp() *timestamppb.Timestamp

func (*BlackoutExitedEventDetails) ProtoMessage

func (*BlackoutExitedEventDetails) ProtoMessage()

func (*BlackoutExitedEventDetails) ProtoReflect

func (*BlackoutExitedEventDetails) Reset

func (x *BlackoutExitedEventDetails) Reset()

func (*BlackoutExitedEventDetails) String

func (x *BlackoutExitedEventDetails) String() string

type CompressionSettings

type CompressionSettings struct {

	// Number of worker threads used for [de]compression. Values higher than what the host
	// and VM configuration can support will be adjusted. The value should be non-zero.
	ThrottleWorkerCount *uint32 `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*CompressionSettings) Descriptor deprecated

func (*CompressionSettings) Descriptor() ([]byte, []int)

Deprecated: Use CompressionSettings.ProtoReflect.Descriptor instead.

func (*CompressionSettings) GetThrottleWorkerCount

func (x *CompressionSettings) GetThrottleWorkerCount() uint32

func (*CompressionSettings) ProtoMessage

func (*CompressionSettings) ProtoMessage()

func (*CompressionSettings) ProtoReflect

func (x *CompressionSettings) ProtoReflect() protoreflect.Message

func (*CompressionSettings) Reset

func (x *CompressionSettings) Reset()

func (*CompressionSettings) String

func (x *CompressionSettings) String() string

type CreateDuplicateSocketRequest

type CreateDuplicateSocketRequest struct {

	// Identifier for the active LM session. Must match the session_id used
	// for the rest of this LM on this side.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Serialized WSAProtocolInfo struct describing the source socket whose
	// handle should be duplicated into the shim process. The exact layout
	// is opaque to clients; the shim feeds it directly to WSASocket to
	// create the duplicate.
	ProtocolInfo []byte `protobuf:"bytes,2,opt,name=protocol_info,json=protocolInfo,proto3" json:"protocol_info,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateDuplicateSocketRequest) Descriptor deprecated

func (*CreateDuplicateSocketRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateDuplicateSocketRequest.ProtoReflect.Descriptor instead.

func (*CreateDuplicateSocketRequest) GetProtocolInfo

func (x *CreateDuplicateSocketRequest) GetProtocolInfo() []byte

func (*CreateDuplicateSocketRequest) GetSessionID

func (x *CreateDuplicateSocketRequest) GetSessionID() string

func (*CreateDuplicateSocketRequest) ProtoMessage

func (*CreateDuplicateSocketRequest) ProtoMessage()

func (*CreateDuplicateSocketRequest) ProtoReflect

func (*CreateDuplicateSocketRequest) Reset

func (x *CreateDuplicateSocketRequest) Reset()

func (*CreateDuplicateSocketRequest) String

type CreateDuplicateSocketResponse

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

func (*CreateDuplicateSocketResponse) Descriptor deprecated

func (*CreateDuplicateSocketResponse) Descriptor() ([]byte, []int)

Deprecated: Use CreateDuplicateSocketResponse.ProtoReflect.Descriptor instead.

func (*CreateDuplicateSocketResponse) ProtoMessage

func (*CreateDuplicateSocketResponse) ProtoMessage()

func (*CreateDuplicateSocketResponse) ProtoReflect

func (*CreateDuplicateSocketResponse) Reset

func (x *CreateDuplicateSocketResponse) Reset()

func (*CreateDuplicateSocketResponse) String

type FinalizeAction

type FinalizeAction int32

FinalizeAction specifies the action to take on the sandbox during finalization. The concrete meaning depends on whether the call is made on the source or the destination — see the FinalizeSandbox RPC docs.

const (
	// No action specified. Servers should treat this as an error.
	FinalizeAction_FINALIZE_ACTION_UNSPECIFIED FinalizeAction = 0
	// Stop and clean up the sandbox on this side. On the source this is
	// used after a successful migration; on the destination this is used
	// when the migration was cancelled or failed.
	FinalizeAction_FINALIZE_ACTION_STOP FinalizeAction = 1
	// Resume the sandbox on this side. On the destination this completes
	// a successful migration by bringing the migrated VM back to a
	// running state; on the source this is used to roll back when the
	// migration was cancelled or failed.
	FinalizeAction_FINALIZE_ACTION_RESUME FinalizeAction = 2
)

func (FinalizeAction) Descriptor

func (FinalizeAction) Enum

func (x FinalizeAction) Enum() *FinalizeAction

func (FinalizeAction) EnumDescriptor deprecated

func (FinalizeAction) EnumDescriptor() ([]byte, []int)

Deprecated: Use FinalizeAction.Descriptor instead.

func (FinalizeAction) Number

func (FinalizeAction) String

func (x FinalizeAction) String() string

func (FinalizeAction) Type

type FinalizeSandboxRequest

type FinalizeSandboxRequest struct {

	// Identifier for the migration session. Must match the session_id used
	// for the rest of this LM on this side.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Action the shim should take on the sandbox during finalization. See
	// FinalizeAction and the FinalizeSandbox RPC documentation for the
	// per-side semantics of STOP vs. RESUME.
	Action FinalizeAction `protobuf:"varint,2,opt,name=action,proto3,enum=FinalizeAction" json:"action,omitempty"`
	// contains filtered or unexported fields
}

func (*FinalizeSandboxRequest) Descriptor deprecated

func (*FinalizeSandboxRequest) Descriptor() ([]byte, []int)

Deprecated: Use FinalizeSandboxRequest.ProtoReflect.Descriptor instead.

func (*FinalizeSandboxRequest) GetAction

func (x *FinalizeSandboxRequest) GetAction() FinalizeAction

func (*FinalizeSandboxRequest) GetSessionID

func (x *FinalizeSandboxRequest) GetSessionID() string

func (*FinalizeSandboxRequest) ProtoMessage

func (*FinalizeSandboxRequest) ProtoMessage()

func (*FinalizeSandboxRequest) ProtoReflect

func (x *FinalizeSandboxRequest) ProtoReflect() protoreflect.Message

func (*FinalizeSandboxRequest) Reset

func (x *FinalizeSandboxRequest) Reset()

func (*FinalizeSandboxRequest) String

func (x *FinalizeSandboxRequest) String() string

type FinalizeSandboxResponse

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

func (*FinalizeSandboxResponse) Descriptor deprecated

func (*FinalizeSandboxResponse) Descriptor() ([]byte, []int)

Deprecated: Use FinalizeSandboxResponse.ProtoReflect.Descriptor instead.

func (*FinalizeSandboxResponse) ProtoMessage

func (*FinalizeSandboxResponse) ProtoMessage()

func (*FinalizeSandboxResponse) ProtoReflect

func (x *FinalizeSandboxResponse) ProtoReflect() protoreflect.Message

func (*FinalizeSandboxResponse) Reset

func (x *FinalizeSandboxResponse) Reset()

func (*FinalizeSandboxResponse) String

func (x *FinalizeSandboxResponse) String() string

type ImportSandboxRequest

type ImportSandboxRequest struct {

	// Identifier for the migration session. Must match the session_id used
	// on the source for this LM.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Identifier of the new sandbox being rehydrated on the destination.
	// The destination shim is created by this RPC, so there is no prior
	// channel through which to communicate the new sandbox id; it must be
	// supplied here. The opaque config from the source will be applied to
	// a new sandbox with this id.
	SandboxID string `protobuf:"bytes,2,opt,name=sandbox_id,json=sandboxId,proto3" json:"sandbox_id,omitempty"`
	// Opaque config produced by PrepareAndExportSandbox on the source.
	// Forwarded verbatim by the caller; the destination shim is responsible
	// for decoding and applying it.
	Config *anypb.Any `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
	// contains filtered or unexported fields
}

func (*ImportSandboxRequest) Descriptor deprecated

func (*ImportSandboxRequest) Descriptor() ([]byte, []int)

Deprecated: Use ImportSandboxRequest.ProtoReflect.Descriptor instead.

func (*ImportSandboxRequest) GetConfig

func (x *ImportSandboxRequest) GetConfig() *anypb.Any

func (*ImportSandboxRequest) GetSandboxID

func (x *ImportSandboxRequest) GetSandboxID() string

func (*ImportSandboxRequest) GetSessionID

func (x *ImportSandboxRequest) GetSessionID() string

func (*ImportSandboxRequest) ProtoMessage

func (*ImportSandboxRequest) ProtoMessage()

func (*ImportSandboxRequest) ProtoReflect

func (x *ImportSandboxRequest) ProtoReflect() protoreflect.Message

func (*ImportSandboxRequest) Reset

func (x *ImportSandboxRequest) Reset()

func (*ImportSandboxRequest) String

func (x *ImportSandboxRequest) String() string

type ImportSandboxResponse

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

func (*ImportSandboxResponse) Descriptor deprecated

func (*ImportSandboxResponse) Descriptor() ([]byte, []int)

Deprecated: Use ImportSandboxResponse.ProtoReflect.Descriptor instead.

func (*ImportSandboxResponse) ProtoMessage

func (*ImportSandboxResponse) ProtoMessage()

func (*ImportSandboxResponse) ProtoReflect

func (x *ImportSandboxResponse) ProtoReflect() protoreflect.Message

func (*ImportSandboxResponse) Reset

func (x *ImportSandboxResponse) Reset()

func (*ImportSandboxResponse) String

func (x *ImportSandboxResponse) String() string

type InitializeOptions

type InitializeOptions struct {

	// MemoryTransport specifies the transport protocol for memory transfer during migration.
	MemoryTransport MemoryTransport `` /* 128-byte string literal not displayed */
	// MemoryTransferThrottleParams specifies settings for throttling during memory transfer.
	MemoryTransferThrottleParams *MemoryTransferThrottleParams `` /* 155-byte string literal not displayed */
	// CompressionSettings specifies additional settings when compression is enabled.
	CompressionSettings *CompressionSettings `protobuf:"bytes,3,opt,name=compression_settings,json=compressionSettings,proto3,oneof" json:"compression_settings,omitempty"`
	// ChecksumVerification enables memory checksum verification.
	ChecksumVerification bool `protobuf:"varint,4,opt,name=checksum_verification,json=checksumVerification,proto3" json:"checksum_verification,omitempty"`
	// PerfTracingEnabled enables performance tracing during migration.
	PerfTracingEnabled bool `protobuf:"varint,5,opt,name=perf_tracing_enabled,json=perfTracingEnabled,proto3" json:"perf_tracing_enabled,omitempty"`
	// CancelIfBlackoutThresholdExceeds cancels the operation if the blackout threshold is exceeded.
	CancelIfBlackoutThresholdExceeds bool `` /* 164-byte string literal not displayed */
	// PrepareMemoryTransferMode extends timeout for cross-version live migration.
	PrepareMemoryTransferMode bool `` /* 141-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*InitializeOptions) Descriptor deprecated

func (*InitializeOptions) Descriptor() ([]byte, []int)

Deprecated: Use InitializeOptions.ProtoReflect.Descriptor instead.

func (*InitializeOptions) GetCancelIfBlackoutThresholdExceeds

func (x *InitializeOptions) GetCancelIfBlackoutThresholdExceeds() bool

func (*InitializeOptions) GetChecksumVerification

func (x *InitializeOptions) GetChecksumVerification() bool

func (*InitializeOptions) GetCompressionSettings

func (x *InitializeOptions) GetCompressionSettings() *CompressionSettings

func (*InitializeOptions) GetMemoryTransferThrottleParams

func (x *InitializeOptions) GetMemoryTransferThrottleParams() *MemoryTransferThrottleParams

func (*InitializeOptions) GetMemoryTransport

func (x *InitializeOptions) GetMemoryTransport() MemoryTransport

func (*InitializeOptions) GetPerfTracingEnabled

func (x *InitializeOptions) GetPerfTracingEnabled() bool

func (*InitializeOptions) GetPrepareMemoryTransferMode

func (x *InitializeOptions) GetPrepareMemoryTransferMode() bool

func (*InitializeOptions) ProtoMessage

func (*InitializeOptions) ProtoMessage()

func (*InitializeOptions) ProtoReflect

func (x *InitializeOptions) ProtoReflect() protoreflect.Message

func (*InitializeOptions) Reset

func (x *InitializeOptions) Reset()

func (*InitializeOptions) String

func (x *InitializeOptions) String() string

type MemoryTransferThrottleParams

type MemoryTransferThrottleParams struct {

	// A flag indicating if throttling should be skipped.
	SkipThrottling *bool `protobuf:"varint,1,opt,name=skip_throttling,json=skipThrottling,proto3,oneof" json:"skip_throttling,omitempty"`
	// The scale of the throttling. The value is in percentage (1-100).
	ThrottlingScale *float64 `protobuf:"fixed64,2,opt,name=throttling_scale,json=throttlingScale,proto3,oneof" json:"throttling_scale,omitempty"`
	// Minimum percentage value to which memory transfer can be throttled.
	MinimumThrottlePercentage *uint32 `` /* 145-byte string literal not displayed */
	// Number of memory transfer passes targeted before the VM enters blackout.
	TargetNumberOfBrownoutTransferPasses *uint32 `` /* 184-byte string literal not displayed */
	// The starting transfer pass where throttling is starting.
	StartingBrownoutPassNumberForThrottling *uint32 `` /* 193-byte string literal not displayed */
	// Maximum number of memory transfer passes before forcing the VM to enter blackout.
	MaximumNumberOfBrownoutTransferPasses *uint32 `` /* 187-byte string literal not displayed */
	// Expected duration, in milliseconds, for the blackout memory
	// transfer to complete.
	TargetBlackoutTransferTime *uint32 `` /* 150-byte string literal not displayed */
	// Threshold, in milliseconds, for blackout duration prior to
	// cancelling migration.
	BlackoutTimeThresholdForCancellingMigration *uint32 `` /* 205-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*MemoryTransferThrottleParams) Descriptor deprecated

func (*MemoryTransferThrottleParams) Descriptor() ([]byte, []int)

Deprecated: Use MemoryTransferThrottleParams.ProtoReflect.Descriptor instead.

func (*MemoryTransferThrottleParams) GetBlackoutTimeThresholdForCancellingMigration

func (x *MemoryTransferThrottleParams) GetBlackoutTimeThresholdForCancellingMigration() uint32

func (*MemoryTransferThrottleParams) GetMaximumNumberOfBrownoutTransferPasses

func (x *MemoryTransferThrottleParams) GetMaximumNumberOfBrownoutTransferPasses() uint32

func (*MemoryTransferThrottleParams) GetMinimumThrottlePercentage

func (x *MemoryTransferThrottleParams) GetMinimumThrottlePercentage() uint32

func (*MemoryTransferThrottleParams) GetSkipThrottling

func (x *MemoryTransferThrottleParams) GetSkipThrottling() bool

func (*MemoryTransferThrottleParams) GetStartingBrownoutPassNumberForThrottling

func (x *MemoryTransferThrottleParams) GetStartingBrownoutPassNumberForThrottling() uint32

func (*MemoryTransferThrottleParams) GetTargetBlackoutTransferTime

func (x *MemoryTransferThrottleParams) GetTargetBlackoutTransferTime() uint32

func (*MemoryTransferThrottleParams) GetTargetNumberOfBrownoutTransferPasses

func (x *MemoryTransferThrottleParams) GetTargetNumberOfBrownoutTransferPasses() uint32

func (*MemoryTransferThrottleParams) GetThrottlingScale

func (x *MemoryTransferThrottleParams) GetThrottlingScale() float64

func (*MemoryTransferThrottleParams) ProtoMessage

func (*MemoryTransferThrottleParams) ProtoMessage()

func (*MemoryTransferThrottleParams) ProtoReflect

func (*MemoryTransferThrottleParams) Reset

func (x *MemoryTransferThrottleParams) Reset()

func (*MemoryTransferThrottleParams) String

type MemoryTransport

type MemoryTransport int32

MemoryTransport is the transport protocol used for memory transfer during migration.

const (
	MemoryTransport_MEMORY_TRANSPORT_UNSPECIFIED MemoryTransport = 0
	// VM memory is copied over a TCP/IP connection.
	MemoryTransport_MEMORY_TRANSPORT_TCP MemoryTransport = 1
)

func (MemoryTransport) Descriptor

func (MemoryTransport) Enum

func (x MemoryTransport) Enum() *MemoryTransport

func (MemoryTransport) EnumDescriptor deprecated

func (MemoryTransport) EnumDescriptor() ([]byte, []int)

Deprecated: Use MemoryTransport.Descriptor instead.

func (MemoryTransport) Number

func (MemoryTransport) String

func (x MemoryTransport) String() string

func (MemoryTransport) Type

type Migration_NotificationsClient

type Migration_NotificationsClient interface {
	Recv() (*NotificationsResponse, error)
	ttrpc.ClientStream
}

type Migration_NotificationsServer

type Migration_NotificationsServer interface {
	Send(*NotificationsResponse) error
	ttrpc.StreamServer
}

type Notification

type Notification struct {

	// Origin indicates which side of the live migration this notification
	// pertains to.
	Origin Origin `protobuf:"varint,1,opt,name=origin,proto3,enum=Origin" json:"origin,omitempty"`
	// Phase is the live migration phase being reported.
	Phase Phase `protobuf:"varint,2,opt,name=phase,proto3,enum=Phase" json:"phase,omitempty"`
	// State is an optional outcome accompanying the phase. Typically
	// populated for terminal phases.
	State PhaseState `protobuf:"varint,3,opt,name=state,proto3,enum=PhaseState" json:"state,omitempty"`
	// PhaseDetails carries extra phase-specific information whose concrete
	// type depends on the phase being reported.
	//
	// Types that are valid to be assigned to PhaseDetails:
	//
	//	*Notification_BlackoutExited
	PhaseDetails isNotification_PhaseDetails `protobuf_oneof:"phase_details"`
	// contains filtered or unexported fields
}

Notification is a notification payload describing the current state of an in-progress live migration operation. It mirrors the HCS OperationSystemMigrationNotificationInfo schema.

func (*Notification) Descriptor deprecated

func (*Notification) Descriptor() ([]byte, []int)

Deprecated: Use Notification.ProtoReflect.Descriptor instead.

func (*Notification) GetBlackoutExited

func (x *Notification) GetBlackoutExited() *BlackoutExitedEventDetails

func (*Notification) GetOrigin

func (x *Notification) GetOrigin() Origin

func (*Notification) GetPhase

func (x *Notification) GetPhase() Phase

func (*Notification) GetPhaseDetails

func (x *Notification) GetPhaseDetails() isNotification_PhaseDetails

func (*Notification) GetState

func (x *Notification) GetState() PhaseState

func (*Notification) ProtoMessage

func (*Notification) ProtoMessage()

func (*Notification) ProtoReflect

func (x *Notification) ProtoReflect() protoreflect.Message

func (*Notification) Reset

func (x *Notification) Reset()

func (*Notification) String

func (x *Notification) String() string

type Notification_BlackoutExited

type Notification_BlackoutExited struct {
	// Details reported with PHASE_BLACKOUT_EXITED.
	BlackoutExited *BlackoutExitedEventDetails `protobuf:"bytes,4,opt,name=blackout_exited,json=blackoutExited,proto3,oneof"`
}

type NotificationsRequest

type NotificationsRequest struct {

	// Identifier for the migration session. Must match the session_id used
	// for the rest of this LM on this side.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// contains filtered or unexported fields
}

func (*NotificationsRequest) Descriptor deprecated

func (*NotificationsRequest) Descriptor() ([]byte, []int)

Deprecated: Use NotificationsRequest.ProtoReflect.Descriptor instead.

func (*NotificationsRequest) GetSessionID

func (x *NotificationsRequest) GetSessionID() string

func (*NotificationsRequest) ProtoMessage

func (*NotificationsRequest) ProtoMessage()

func (*NotificationsRequest) ProtoReflect

func (x *NotificationsRequest) ProtoReflect() protoreflect.Message

func (*NotificationsRequest) Reset

func (x *NotificationsRequest) Reset()

func (*NotificationsRequest) String

func (x *NotificationsRequest) String() string

type NotificationsResponse

type NotificationsResponse struct {

	// Monotonically increasing per-message counter on this stream. Useful
	// for de-duplication if the client reconnects mid-transfer.
	MessageID uint32 `protobuf:"varint,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
	// Structured notification describing the current migration event. This
	// mirrors the HCS OperationSystemMigrationNotificationInfo payload
	// emitted by the underlying compute system as the transfer progresses.
	Notification *Notification `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"`
	// Server-side timestamp of when the transfer began.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Server-side timestamp of when this particular update was produced.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// contains filtered or unexported fields
}

func (*NotificationsResponse) Descriptor deprecated

func (*NotificationsResponse) Descriptor() ([]byte, []int)

Deprecated: Use NotificationsResponse.ProtoReflect.Descriptor instead.

func (*NotificationsResponse) GetMessageID

func (x *NotificationsResponse) GetMessageID() uint32

func (*NotificationsResponse) GetNotification

func (x *NotificationsResponse) GetNotification() *Notification

func (*NotificationsResponse) GetStartTime

func (x *NotificationsResponse) GetStartTime() *timestamppb.Timestamp

func (*NotificationsResponse) GetUpdateTime

func (x *NotificationsResponse) GetUpdateTime() *timestamppb.Timestamp

func (*NotificationsResponse) ProtoMessage

func (*NotificationsResponse) ProtoMessage()

func (*NotificationsResponse) ProtoReflect

func (x *NotificationsResponse) ProtoReflect() protoreflect.Message

func (*NotificationsResponse) Reset

func (x *NotificationsResponse) Reset()

func (*NotificationsResponse) String

func (x *NotificationsResponse) String() string

type Origin

type Origin int32

Origin indicates which side of a live migration an operation or notification pertains to.

const (
	Origin_ORIGIN_UNSPECIFIED Origin = 0
	// Source side of the live migration.
	Origin_ORIGIN_SOURCE Origin = 1
	// Destination side of the live migration.
	Origin_ORIGIN_DESTINATION Origin = 2
)

func (Origin) Descriptor

func (Origin) Descriptor() protoreflect.EnumDescriptor

func (Origin) Enum

func (x Origin) Enum() *Origin

func (Origin) EnumDescriptor deprecated

func (Origin) EnumDescriptor() ([]byte, []int)

Deprecated: Use Origin.Descriptor instead.

func (Origin) Number

func (x Origin) Number() protoreflect.EnumNumber

func (Origin) String

func (x Origin) String() string

func (Origin) Type

func (Origin) Type() protoreflect.EnumType

type Phase

type Phase int32

Phase describes a live migration phase reported by HCS during the transfer phase of a live migration.

const (
	Phase_PHASE_UNSPECIFIED Phase = 0
	// The live migration setup has completed on the HCS side. Reported
	// by the source; after this, clients can either start the memory
	// transfer or set up SMB before performing the memory transfer.
	Phase_PHASE_SETUP_DONE Phase = 1
	// The VM is transferring memory and other necessary state. Reported
	// periodically by the source as a progress signal while the VM state
	// is being transferred to the destination.
	Phase_PHASE_TRANSFER_IN_PROGRESS Phase = 2
	// The VM has entered the blackout phase. Reported by the source
	// immediately before the VM is paused for the final state transfer;
	// from this point on the VM is not running on either host.
	Phase_PHASE_BLACKOUT_STARTED Phase = 3
	// Taking the VM offline has completed. Reported by the source after
	// VMWP has transitioned itself to the MigratingSuspended (MTS) state,
	// but before waiting for the VMWP client to signal that it is ready
	// to enter MTS state at its layer. Always paired with
	// PhaseState = PHASE_STATE_SUCCESS; offline failures are reported via
	// PHASE_FAILED instead.
	Phase_PHASE_OFFLINE_DONE Phase = 4
	// The VM has successfully started again after the blackout phase.
	Phase_PHASE_BLACKOUT_EXITED Phase = 5
	// Migration has completed (terminal phase). The accompanying
	// PhaseState describes whether the migration succeeded or failed,
	// and on which side the failure was observed.
	Phase_PHASE_DONE Phase = 6
	// Migration recovery has been performed. Reported by the source
	// after attempting to recover the VM following a failed or cancelled
	// migration. The accompanying PhaseState is PHASE_STATE_SUCCESS if
	// the VM was successfully resumed on the source, or
	// PHASE_STATE_RECOVERY_FAILED if recovery itself failed.
	Phase_PHASE_RECOVERY_DONE Phase = 7
	// Migration failed (terminal phase). Reported by the source for
	// non-success outcomes of the offline step (and equivalent failure
	// points). The accompanying PhaseState carries the reason:
	// PHASE_STATE_SOURCE_FAILED, PHASE_STATE_DESTINATION_FAILED,
	// PHASE_STATE_CANCELLED, or PHASE_STATE_GUEST_INITIATED_CANCELLATION.
	Phase_PHASE_FAILED Phase = 8
)

func (Phase) Descriptor

func (Phase) Descriptor() protoreflect.EnumDescriptor

func (Phase) Enum

func (x Phase) Enum() *Phase

func (Phase) EnumDescriptor deprecated

func (Phase) EnumDescriptor() ([]byte, []int)

Deprecated: Use Phase.Descriptor instead.

func (Phase) Number

func (x Phase) Number() protoreflect.EnumNumber

func (Phase) String

func (x Phase) String() string

func (Phase) Type

func (Phase) Type() protoreflect.EnumType

type PhaseState

type PhaseState int32

PhaseState describes the possible state of a migration phase, typically populated for terminal phases such as PHASE_DONE or PHASE_FAILED.

const (
	// No state reported. Used as the default zero value and for
	// non-terminal phases that do not carry an outcome.
	PhaseState_PHASE_STATE_UNSPECIFIED PhaseState = 0
	// The reported phase completed successfully. Emitted in several
	// places, including:
	//   - Phase = PHASE_DONE: by the source after a successful
	//     migrate-to-suspended (MTS) workflow, and by the destination
	//     once the VM has been fully restored on the target host.
	//   - Phase = PHASE_OFFLINE_DONE: by the source after VMWP
	//     successfully takes the VM offline so migration can continue.
	//   - Phase = PHASE_RECOVERY_DONE: by the source after the VM has
	//     been successfully rolled back to its pre-migration running
	//     state following a failed or cancelled migration.
	PhaseState_PHASE_STATE_SUCCESS PhaseState = 1
	// Migration was cancelled. Reported with:
	//   - Phase = PHASE_FAILED by the source when its offline step
	//     observes a non-guest cancellation
	//     (MigrationSourceOfflineCanceled).
	//   - Phase = PHASE_DONE by the destination when, after the setup
	//     phase has completed, the migration target detects a
	//     cancellation (MigrationTargetCanceled).
	PhaseState_PHASE_STATE_CANCELLED PhaseState = 2
	// Migration was cancelled because the guest initiated a shutdown or
	// reset of the VM. Reported by the source with Phase = PHASE_FAILED
	// (MigrationSourceOfflineGuestCanceled). VMWP performs the
	// shutdown/reset on its own; this state exists to inform clients
	// that LM was cancelled as a result of guest action.
	PhaseState_PHASE_STATE_GUEST_INITIATED_CANCELLATION PhaseState = 3
	// Migration failed and the failure originated on the source. Reported
	// with:
	//   - Phase = PHASE_FAILED by the source when its offline step fails
	//     (MigrationSourceOfflineFailed).
	//   - Phase = PHASE_DONE by the source when, after the offline phase
	//     but before the VM has been restored on the target, the source
	//     fails for a reason that is not destination-attributable.
	//   - Phase = PHASE_DONE by the destination when, after the setup
	//     phase has completed, the migration target observes a
	//     non-cancellation failure that came from the source.
	PhaseState_PHASE_STATE_SOURCE_FAILED PhaseState = 4
	// Migration failed and the failure originated on the destination.
	// Reported by the source with:
	//   - Phase = PHASE_FAILED when its offline step observes a
	//     destination-side failure (MigrationSourceOfflineDestinationFailed).
	//   - Phase = PHASE_DONE when, after the offline phase but before the
	//     VM has been restored on the target, the source detects that
	//     the destination failed
	//     (m_FailureReason == FailureDestinationFailed).
	PhaseState_PHASE_STATE_DESTINATION_FAILED PhaseState = 5
	// Migration recovery failed. Reported by the source with
	// Phase = PHASE_RECOVERY_DONE when the attempt to recover the VM
	// after a failed or cancelled migration did not succeed (the source
	// could not be returned to its pre-migration running state).
	PhaseState_PHASE_STATE_RECOVERY_FAILED PhaseState = 6
)

func (PhaseState) Descriptor

func (PhaseState) Descriptor() protoreflect.EnumDescriptor

func (PhaseState) Enum

func (x PhaseState) Enum() *PhaseState

func (PhaseState) EnumDescriptor deprecated

func (PhaseState) EnumDescriptor() ([]byte, []int)

Deprecated: Use PhaseState.Descriptor instead.

func (PhaseState) Number

func (x PhaseState) Number() protoreflect.EnumNumber

func (PhaseState) String

func (x PhaseState) String() string

func (PhaseState) Type

type PrepareAndExportSandboxRequest

type PrepareAndExportSandboxRequest struct {

	// Identifier for the migration session. The same session_id is used on
	// both source and destination for the lifetime of this LM and is what
	// ties subsequent calls (TransferSandbox, FinalizeSandbox, etc.) back
	// to this sandbox.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Source-side options that control how live migration is initialized
	// on the compute system.
	InitOptions *InitializeOptions `protobuf:"bytes,2,opt,name=init_options,json=initOptions,proto3" json:"init_options,omitempty"`
	// contains filtered or unexported fields
}

func (*PrepareAndExportSandboxRequest) Descriptor deprecated

func (*PrepareAndExportSandboxRequest) Descriptor() ([]byte, []int)

Deprecated: Use PrepareAndExportSandboxRequest.ProtoReflect.Descriptor instead.

func (*PrepareAndExportSandboxRequest) GetInitOptions

func (*PrepareAndExportSandboxRequest) GetSessionID

func (x *PrepareAndExportSandboxRequest) GetSessionID() string

func (*PrepareAndExportSandboxRequest) ProtoMessage

func (*PrepareAndExportSandboxRequest) ProtoMessage()

func (*PrepareAndExportSandboxRequest) ProtoReflect

func (*PrepareAndExportSandboxRequest) Reset

func (x *PrepareAndExportSandboxRequest) Reset()

func (*PrepareAndExportSandboxRequest) String

type PrepareAndExportSandboxResponse

type PrepareAndExportSandboxResponse struct {

	// Opaque, serialized snapshot of the source shim's view of the sandbox
	// and its containers. The caller must forward this verbatim as the
	// `config` field of ImportSandboxRequest on the destination; only the
	// destination shim knows how to decode it.
	Config *anypb.Any `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// contains filtered or unexported fields
}

func (*PrepareAndExportSandboxResponse) Descriptor deprecated

func (*PrepareAndExportSandboxResponse) Descriptor() ([]byte, []int)

Deprecated: Use PrepareAndExportSandboxResponse.ProtoReflect.Descriptor instead.

func (*PrepareAndExportSandboxResponse) GetConfig

func (x *PrepareAndExportSandboxResponse) GetConfig() *anypb.Any

func (*PrepareAndExportSandboxResponse) ProtoMessage

func (*PrepareAndExportSandboxResponse) ProtoMessage()

func (*PrepareAndExportSandboxResponse) ProtoReflect

func (*PrepareAndExportSandboxResponse) Reset

func (*PrepareAndExportSandboxResponse) String

type PrepareSandboxRequest

type PrepareSandboxRequest struct {

	// Identifier for the migration session. Must match the session_id used
	// by ImportSandbox on this destination.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Destination-side options that control how live migration is
	// initialized when the HCS compute system is created.
	InitOptions *InitializeOptions `protobuf:"bytes,2,opt,name=init_options,json=initOptions,proto3" json:"init_options,omitempty"`
	// contains filtered or unexported fields
}

func (*PrepareSandboxRequest) Descriptor deprecated

func (*PrepareSandboxRequest) Descriptor() ([]byte, []int)

Deprecated: Use PrepareSandboxRequest.ProtoReflect.Descriptor instead.

func (*PrepareSandboxRequest) GetInitOptions

func (x *PrepareSandboxRequest) GetInitOptions() *InitializeOptions

func (*PrepareSandboxRequest) GetSessionID

func (x *PrepareSandboxRequest) GetSessionID() string

func (*PrepareSandboxRequest) ProtoMessage

func (*PrepareSandboxRequest) ProtoMessage()

func (*PrepareSandboxRequest) ProtoReflect

func (x *PrepareSandboxRequest) ProtoReflect() protoreflect.Message

func (*PrepareSandboxRequest) Reset

func (x *PrepareSandboxRequest) Reset()

func (*PrepareSandboxRequest) String

func (x *PrepareSandboxRequest) String() string

type PrepareSandboxResponse

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

func (*PrepareSandboxResponse) Descriptor deprecated

func (*PrepareSandboxResponse) Descriptor() ([]byte, []int)

Deprecated: Use PrepareSandboxResponse.ProtoReflect.Descriptor instead.

func (*PrepareSandboxResponse) ProtoMessage

func (*PrepareSandboxResponse) ProtoMessage()

func (*PrepareSandboxResponse) ProtoReflect

func (x *PrepareSandboxResponse) ProtoReflect() protoreflect.Message

func (*PrepareSandboxResponse) Reset

func (x *PrepareSandboxResponse) Reset()

func (*PrepareSandboxResponse) String

func (x *PrepareSandboxResponse) String() string

type TransferSandboxRequest

type TransferSandboxRequest struct {

	// Identifier for the migration session. Must match the session_id used
	// for the rest of this LM on this side.
	SessionID string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Maximum time to wait for the migration socket / underlying transport
	// to become ready before the server gives up and fails the transfer
	// with a TIMEOUT. If unset, the server applies a sensible default
	// (e.g. 10 minutes).
	Timeout *durationpb.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// contains filtered or unexported fields
}

func (*TransferSandboxRequest) Descriptor deprecated

func (*TransferSandboxRequest) Descriptor() ([]byte, []int)

Deprecated: Use TransferSandboxRequest.ProtoReflect.Descriptor instead.

func (*TransferSandboxRequest) GetSessionID

func (x *TransferSandboxRequest) GetSessionID() string

func (*TransferSandboxRequest) GetTimeout

func (x *TransferSandboxRequest) GetTimeout() *durationpb.Duration

func (*TransferSandboxRequest) ProtoMessage

func (*TransferSandboxRequest) ProtoMessage()

func (*TransferSandboxRequest) ProtoReflect

func (x *TransferSandboxRequest) ProtoReflect() protoreflect.Message

func (*TransferSandboxRequest) Reset

func (x *TransferSandboxRequest) Reset()

func (*TransferSandboxRequest) String

func (x *TransferSandboxRequest) String() string

type TransferSandboxResponse

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

func (*TransferSandboxResponse) Descriptor deprecated

func (*TransferSandboxResponse) Descriptor() ([]byte, []int)

Deprecated: Use TransferSandboxResponse.ProtoReflect.Descriptor instead.

func (*TransferSandboxResponse) ProtoMessage

func (*TransferSandboxResponse) ProtoMessage()

func (*TransferSandboxResponse) ProtoReflect

func (x *TransferSandboxResponse) ProtoReflect() protoreflect.Message

func (*TransferSandboxResponse) Reset

func (x *TransferSandboxResponse) Reset()

func (*TransferSandboxResponse) String

func (x *TransferSandboxResponse) String() string

Jump to

Keyboard shortcuts

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