migration

package
v0.0.0-...-04e5504 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package migration is a generated protocol buffer package.

It is generated from these files:

lxd/migration/migrate.proto

It has these top-level messages:

IDMapType
Config
Device
Snapshot
RsyncFeatures
ZfsFeatures
MigrationHeader
MigrationControl
MigrationSync
DumpStatsEntry
RestoreStatsEntry
StatsEntry

Index

Constants

This section is empty.

Variables

View Source
var CRIUType_name = map[int32]string{
	0: "CRIU_RSYNC",
	1: "PHAUL",
	2: "NONE",
}
View Source
var CRIUType_value = map[string]int32{
	"CRIU_RSYNC": 0,
	"PHAUL":      1,
	"NONE":       2,
}
View Source
var MigrationFSType_name = map[int32]string{
	0: "RSYNC",
	1: "BTRFS",
	2: "ZFS",
	3: "RBD",
}
View Source
var MigrationFSType_value = map[string]int32{
	"RSYNC": 0,
	"BTRFS": 1,
	"ZFS":   2,
	"RBD":   3,
}

Functions

func ProgressReader

func ProgressReader(op *operations.Operation, key string, description string) func(io.ReadCloser) io.ReadCloser

ProgressReader reports the read progress.

func ProgressTracker

func ProgressTracker(op *operations.Operation, key string, description string) *ioprogress.ProgressTracker

ProgressTracker returns a migration I/O tracker

func ProgressWriter

func ProgressWriter(op *operations.Operation, key string, description string) func(io.WriteCloser) io.WriteCloser

ProgressWriter reports the write progress.

func ProtoRecv

func ProtoRecv(ws *websocket.Conn, msg proto.Message) error

ProtoRecv gets a protobuf message from a websocket

func ProtoSend

func ProtoSend(ws *websocket.Conn, msg proto.Message) error

ProtoSend sends a protobuf message over a websocket

func ProtoSendControl

func ProtoSendControl(ws *websocket.Conn, err error)

ProtoSendControl sends a migration control message over a websocket

Types

type CRIUType

type CRIUType int32
const (
	CRIUType_CRIU_RSYNC CRIUType = 0
	CRIUType_PHAUL      CRIUType = 1
	CRIUType_NONE       CRIUType = 2
)

func (CRIUType) Enum

func (x CRIUType) Enum() *CRIUType

func (CRIUType) EnumDescriptor

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

func (CRIUType) String

func (x CRIUType) String() string

func (*CRIUType) UnmarshalJSON

func (x *CRIUType) UnmarshalJSON(data []byte) error

type Config

type Config struct {
	Key              *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
	Value            *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (*Config) Descriptor

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

func (*Config) GetKey

func (m *Config) GetKey() string

func (*Config) GetValue

func (m *Config) GetValue() string

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

type Device

type Device struct {
	Name             *string   `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
	Config           []*Config `protobuf:"bytes,2,rep,name=config" json:"config,omitempty"`
	XXX_unrecognized []byte    `json:"-"`
}

func (*Device) Descriptor

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

func (*Device) GetConfig

func (m *Device) GetConfig() []*Config

func (*Device) GetName

func (m *Device) GetName() string

func (*Device) ProtoMessage

func (*Device) ProtoMessage()

func (*Device) Reset

func (m *Device) Reset()

func (*Device) String

func (m *Device) String() string

type DumpStatsEntry

type DumpStatsEntry struct {
	FreezingTime       *uint32 `protobuf:"varint,1,req,name=freezing_time,json=freezingTime" json:"freezing_time,omitempty"`
	FrozenTime         *uint32 `protobuf:"varint,2,req,name=frozen_time,json=frozenTime" json:"frozen_time,omitempty"`
	MemdumpTime        *uint32 `protobuf:"varint,3,req,name=memdump_time,json=memdumpTime" json:"memdump_time,omitempty"`
	MemwriteTime       *uint32 `protobuf:"varint,4,req,name=memwrite_time,json=memwriteTime" json:"memwrite_time,omitempty"`
	PagesScanned       *uint64 `protobuf:"varint,5,req,name=pages_scanned,json=pagesScanned" json:"pages_scanned,omitempty"`
	PagesSkippedParent *uint64 `protobuf:"varint,6,req,name=pages_skipped_parent,json=pagesSkippedParent" json:"pages_skipped_parent,omitempty"`
	PagesWritten       *uint64 `protobuf:"varint,7,req,name=pages_written,json=pagesWritten" json:"pages_written,omitempty"`
	IrmapResolve       *uint32 `protobuf:"varint,8,opt,name=irmap_resolve,json=irmapResolve" json:"irmap_resolve,omitempty"`
	PagesLazy          *uint64 `protobuf:"varint,9,req,name=pages_lazy,json=pagesLazy" json:"pages_lazy,omitempty"`
	PagePipes          *uint64 `protobuf:"varint,10,opt,name=page_pipes,json=pagePipes" json:"page_pipes,omitempty"`
	PagePipeBufs       *uint64 `protobuf:"varint,11,opt,name=page_pipe_bufs,json=pagePipeBufs" json:"page_pipe_bufs,omitempty"`
	XXX_unrecognized   []byte  `json:"-"`
}

This one contains statistics about dump/restore process

func (*DumpStatsEntry) Descriptor

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

func (*DumpStatsEntry) GetFreezingTime

func (m *DumpStatsEntry) GetFreezingTime() uint32

func (*DumpStatsEntry) GetFrozenTime

func (m *DumpStatsEntry) GetFrozenTime() uint32

func (*DumpStatsEntry) GetIrmapResolve

func (m *DumpStatsEntry) GetIrmapResolve() uint32

func (*DumpStatsEntry) GetMemdumpTime

func (m *DumpStatsEntry) GetMemdumpTime() uint32

func (*DumpStatsEntry) GetMemwriteTime

func (m *DumpStatsEntry) GetMemwriteTime() uint32

func (*DumpStatsEntry) GetPagePipeBufs

func (m *DumpStatsEntry) GetPagePipeBufs() uint64

func (*DumpStatsEntry) GetPagePipes

func (m *DumpStatsEntry) GetPagePipes() uint64

func (*DumpStatsEntry) GetPagesLazy

func (m *DumpStatsEntry) GetPagesLazy() uint64

func (*DumpStatsEntry) GetPagesScanned

func (m *DumpStatsEntry) GetPagesScanned() uint64

func (*DumpStatsEntry) GetPagesSkippedParent

func (m *DumpStatsEntry) GetPagesSkippedParent() uint64

func (*DumpStatsEntry) GetPagesWritten

func (m *DumpStatsEntry) GetPagesWritten() uint64

func (*DumpStatsEntry) ProtoMessage

func (*DumpStatsEntry) ProtoMessage()

func (*DumpStatsEntry) Reset

func (m *DumpStatsEntry) Reset()

func (*DumpStatsEntry) String

func (m *DumpStatsEntry) String() string

type IDMapType

type IDMapType struct {
	Isuid            *bool  `protobuf:"varint,1,req,name=isuid" json:"isuid,omitempty"`
	Isgid            *bool  `protobuf:"varint,2,req,name=isgid" json:"isgid,omitempty"`
	Hostid           *int32 `protobuf:"varint,3,req,name=hostid" json:"hostid,omitempty"`
	Nsid             *int32 `protobuf:"varint,4,req,name=nsid" json:"nsid,omitempty"`
	Maprange         *int32 `protobuf:"varint,5,req,name=maprange" json:"maprange,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (*IDMapType) Descriptor

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

func (*IDMapType) GetHostid

func (m *IDMapType) GetHostid() int32

func (*IDMapType) GetIsgid

func (m *IDMapType) GetIsgid() bool

func (*IDMapType) GetIsuid

func (m *IDMapType) GetIsuid() bool

func (*IDMapType) GetMaprange

func (m *IDMapType) GetMaprange() int32

func (*IDMapType) GetNsid

func (m *IDMapType) GetNsid() int32

func (*IDMapType) ProtoMessage

func (*IDMapType) ProtoMessage()

func (*IDMapType) Reset

func (m *IDMapType) Reset()

func (*IDMapType) String

func (m *IDMapType) String() string

type MigrationControl

type MigrationControl struct {
	Success *bool `protobuf:"varint,1,req,name=success" json:"success,omitempty"`
	// optional failure message if sending a failure
	Message          *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (*MigrationControl) Descriptor

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

func (*MigrationControl) GetMessage

func (m *MigrationControl) GetMessage() string

func (*MigrationControl) GetSuccess

func (m *MigrationControl) GetSuccess() bool

func (*MigrationControl) ProtoMessage

func (*MigrationControl) ProtoMessage()

func (*MigrationControl) Reset

func (m *MigrationControl) Reset()

func (*MigrationControl) String

func (m *MigrationControl) String() string

type MigrationFSType

type MigrationFSType int32
const (
	MigrationFSType_RSYNC MigrationFSType = 0
	MigrationFSType_BTRFS MigrationFSType = 1
	MigrationFSType_ZFS   MigrationFSType = 2
	MigrationFSType_RBD   MigrationFSType = 3
)

func (MigrationFSType) Enum

func (x MigrationFSType) Enum() *MigrationFSType

func (MigrationFSType) EnumDescriptor

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

func (MigrationFSType) String

func (x MigrationFSType) String() string

func (*MigrationFSType) UnmarshalJSON

func (x *MigrationFSType) UnmarshalJSON(data []byte) error

type MigrationHeader

type MigrationHeader struct {
	Fs               *MigrationFSType `protobuf:"varint,1,req,name=fs,enum=migration.MigrationFSType" json:"fs,omitempty"`
	Criu             *CRIUType        `protobuf:"varint,2,opt,name=criu,enum=migration.CRIUType" json:"criu,omitempty"`
	Idmap            []*IDMapType     `protobuf:"bytes,3,rep,name=idmap" json:"idmap,omitempty"`
	SnapshotNames    []string         `protobuf:"bytes,4,rep,name=snapshotNames" json:"snapshotNames,omitempty"`
	Snapshots        []*Snapshot      `protobuf:"bytes,5,rep,name=snapshots" json:"snapshots,omitempty"`
	Predump          *bool            `protobuf:"varint,7,opt,name=predump" json:"predump,omitempty"`
	RsyncFeatures    *RsyncFeatures   `protobuf:"bytes,8,opt,name=rsyncFeatures" json:"rsyncFeatures,omitempty"`
	Refresh          *bool            `protobuf:"varint,9,opt,name=refresh" json:"refresh,omitempty"`
	ZfsFeatures      *ZfsFeatures     `protobuf:"bytes,10,opt,name=zfsFeatures" json:"zfsFeatures,omitempty"`
	XXX_unrecognized []byte           `json:"-"`
}

func TypesToHeader

func TypesToHeader(types ...Type) MigrationHeader

TypesToHeader converts one or more Types to a MigrationHeader. It uses the first type argument supplied to indicate the preferred migration method and sets the MigrationHeader's Fs type to that. If the preferred type is ZFS then it will also set the header's optional ZfsFeatures. If the fallback Rsync type is present in any of the types even if it is not preferred, then its optional features are added to the header's RsyncFeatures, allowing for fallback negotiation to take place on the farside.

func (*MigrationHeader) Descriptor

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

func (*MigrationHeader) GetCriu

func (m *MigrationHeader) GetCriu() CRIUType

func (*MigrationHeader) GetFs

func (m *MigrationHeader) GetFs() MigrationFSType

func (*MigrationHeader) GetIdmap

func (m *MigrationHeader) GetIdmap() []*IDMapType

func (*MigrationHeader) GetPredump

func (m *MigrationHeader) GetPredump() bool

func (*MigrationHeader) GetRefresh

func (m *MigrationHeader) GetRefresh() bool

func (*MigrationHeader) GetRsyncFeatures

func (m *MigrationHeader) GetRsyncFeatures() *RsyncFeatures

func (*MigrationHeader) GetRsyncFeaturesSlice

func (m *MigrationHeader) GetRsyncFeaturesSlice() []string

GetRsyncFeaturesSlice returns a slice of strings representing the supported RSYNC features

func (*MigrationHeader) GetSnapshotNames

func (m *MigrationHeader) GetSnapshotNames() []string

func (*MigrationHeader) GetSnapshots

func (m *MigrationHeader) GetSnapshots() []*Snapshot

func (*MigrationHeader) GetZfsFeatures

func (m *MigrationHeader) GetZfsFeatures() *ZfsFeatures

func (*MigrationHeader) GetZfsFeaturesSlice

func (m *MigrationHeader) GetZfsFeaturesSlice() []string

GetZfsFeaturesSlice returns a slice of strings representing the supported ZFS features

func (*MigrationHeader) ProtoMessage

func (*MigrationHeader) ProtoMessage()

func (*MigrationHeader) Reset

func (m *MigrationHeader) Reset()

func (*MigrationHeader) String

func (m *MigrationHeader) String() string

type MigrationSync

type MigrationSync struct {
	FinalPreDump     *bool  `protobuf:"varint,1,req,name=finalPreDump" json:"finalPreDump,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (*MigrationSync) Descriptor

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

func (*MigrationSync) GetFinalPreDump

func (m *MigrationSync) GetFinalPreDump() bool

func (*MigrationSync) ProtoMessage

func (*MigrationSync) ProtoMessage()

func (*MigrationSync) Reset

func (m *MigrationSync) Reset()

func (*MigrationSync) String

func (m *MigrationSync) String() string

type RestoreStatsEntry

type RestoreStatsEntry struct {
	PagesCompared    *uint64 `protobuf:"varint,1,req,name=pages_compared,json=pagesCompared" json:"pages_compared,omitempty"`
	PagesSkippedCow  *uint64 `protobuf:"varint,2,req,name=pages_skipped_cow,json=pagesSkippedCow" json:"pages_skipped_cow,omitempty"`
	ForkingTime      *uint32 `protobuf:"varint,3,req,name=forking_time,json=forkingTime" json:"forking_time,omitempty"`
	RestoreTime      *uint32 `protobuf:"varint,4,req,name=restore_time,json=restoreTime" json:"restore_time,omitempty"`
	PagesRestored    *uint64 `protobuf:"varint,5,opt,name=pages_restored,json=pagesRestored" json:"pages_restored,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (*RestoreStatsEntry) Descriptor

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

func (*RestoreStatsEntry) GetForkingTime

func (m *RestoreStatsEntry) GetForkingTime() uint32

func (*RestoreStatsEntry) GetPagesCompared

func (m *RestoreStatsEntry) GetPagesCompared() uint64

func (*RestoreStatsEntry) GetPagesRestored

func (m *RestoreStatsEntry) GetPagesRestored() uint64

func (*RestoreStatsEntry) GetPagesSkippedCow

func (m *RestoreStatsEntry) GetPagesSkippedCow() uint64

func (*RestoreStatsEntry) GetRestoreTime

func (m *RestoreStatsEntry) GetRestoreTime() uint32

func (*RestoreStatsEntry) ProtoMessage

func (*RestoreStatsEntry) ProtoMessage()

func (*RestoreStatsEntry) Reset

func (m *RestoreStatsEntry) Reset()

func (*RestoreStatsEntry) String

func (m *RestoreStatsEntry) String() string

type RsyncFeatures

type RsyncFeatures struct {
	Xattrs           *bool  `protobuf:"varint,1,opt,name=xattrs" json:"xattrs,omitempty"`
	Delete           *bool  `protobuf:"varint,2,opt,name=delete" json:"delete,omitempty"`
	Compress         *bool  `protobuf:"varint,3,opt,name=compress" json:"compress,omitempty"`
	Bidirectional    *bool  `protobuf:"varint,4,opt,name=bidirectional" json:"bidirectional,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (*RsyncFeatures) Descriptor

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

func (*RsyncFeatures) GetBidirectional

func (m *RsyncFeatures) GetBidirectional() bool

func (*RsyncFeatures) GetCompress

func (m *RsyncFeatures) GetCompress() bool

func (*RsyncFeatures) GetDelete

func (m *RsyncFeatures) GetDelete() bool

func (*RsyncFeatures) GetXattrs

func (m *RsyncFeatures) GetXattrs() bool

func (*RsyncFeatures) ProtoMessage

func (*RsyncFeatures) ProtoMessage()

func (*RsyncFeatures) Reset

func (m *RsyncFeatures) Reset()

func (*RsyncFeatures) String

func (m *RsyncFeatures) String() string

type Snapshot

type Snapshot struct {
	Name             *string   `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
	LocalConfig      []*Config `protobuf:"bytes,2,rep,name=localConfig" json:"localConfig,omitempty"`
	Profiles         []string  `protobuf:"bytes,3,rep,name=profiles" json:"profiles,omitempty"`
	Ephemeral        *bool     `protobuf:"varint,4,req,name=ephemeral" json:"ephemeral,omitempty"`
	LocalDevices     []*Device `protobuf:"bytes,5,rep,name=localDevices" json:"localDevices,omitempty"`
	Architecture     *int32    `protobuf:"varint,6,req,name=architecture" json:"architecture,omitempty"`
	Stateful         *bool     `protobuf:"varint,7,req,name=stateful" json:"stateful,omitempty"`
	CreationDate     *int64    `protobuf:"varint,8,opt,name=creation_date,json=creationDate" json:"creation_date,omitempty"`
	LastUsedDate     *int64    `protobuf:"varint,9,opt,name=last_used_date,json=lastUsedDate" json:"last_used_date,omitempty"`
	XXX_unrecognized []byte    `json:"-"`
}

func (*Snapshot) Descriptor

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

func (*Snapshot) GetArchitecture

func (m *Snapshot) GetArchitecture() int32

func (*Snapshot) GetCreationDate

func (m *Snapshot) GetCreationDate() int64

func (*Snapshot) GetEphemeral

func (m *Snapshot) GetEphemeral() bool

func (*Snapshot) GetLastUsedDate

func (m *Snapshot) GetLastUsedDate() int64

func (*Snapshot) GetLocalConfig

func (m *Snapshot) GetLocalConfig() []*Config

func (*Snapshot) GetLocalDevices

func (m *Snapshot) GetLocalDevices() []*Device

func (*Snapshot) GetName

func (m *Snapshot) GetName() string

func (*Snapshot) GetProfiles

func (m *Snapshot) GetProfiles() []string

func (*Snapshot) GetStateful

func (m *Snapshot) GetStateful() bool

func (*Snapshot) ProtoMessage

func (*Snapshot) ProtoMessage()

func (*Snapshot) Reset

func (m *Snapshot) Reset()

func (*Snapshot) String

func (m *Snapshot) String() string

type StatsEntry

type StatsEntry struct {
	Dump             *DumpStatsEntry    `protobuf:"bytes,1,opt,name=dump" json:"dump,omitempty"`
	Restore          *RestoreStatsEntry `protobuf:"bytes,2,opt,name=restore" json:"restore,omitempty"`
	XXX_unrecognized []byte             `json:"-"`
}

func (*StatsEntry) Descriptor

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

func (*StatsEntry) GetDump

func (m *StatsEntry) GetDump() *DumpStatsEntry

func (*StatsEntry) GetRestore

func (m *StatsEntry) GetRestore() *RestoreStatsEntry

func (*StatsEntry) ProtoMessage

func (*StatsEntry) ProtoMessage()

func (*StatsEntry) Reset

func (m *StatsEntry) Reset()

func (*StatsEntry) String

func (m *StatsEntry) String() string

type Type

type Type struct {
	FSType   MigrationFSType // Transport mode selected.
	Features []string        // Feature hints for selected FSType transport mode.
}

Type represents the migration transport type. It indicates the method by which the migration can take place and what optional features are available.

func MatchTypes

func MatchTypes(offer MigrationHeader, fallbackType MigrationFSType, ourTypes []Type) ([]Type, error)

MatchTypes attempts to find matching migration transport types between an offered type sent from a remote source and the types supported by a local storage pool. If matches are found then one or more Types are returned containing the method and the matching optional features present in both. The function also takes a fallback type which is used as an additional offer type preference in case the preferred remote type is not compatible with the local type available. It is expected that both sides of the migration will support the fallback type for the volume's content type that is being migrated.

type VolumeSourceArgs

type VolumeSourceArgs struct {
	Name          string
	Snapshots     []string
	MigrationType Type
	TrackProgress bool
	MultiSync     bool
	FinalSync     bool
	Data          interface{} // Optional store to persist storage driver state between MultiSync phases.
}

VolumeSourceArgs represents the arguments needed to setup a volume migration source.

type VolumeTargetArgs

type VolumeTargetArgs struct {
	Name          string
	Description   string
	Config        map[string]string
	Snapshots     []string
	MigrationType Type
	TrackProgress bool
	Refresh       bool
	Live          bool
}

VolumeTargetArgs represents the arguments needed to setup a volume migration sink.

type ZfsFeatures

type ZfsFeatures struct {
	Compress         *bool  `protobuf:"varint,1,opt,name=compress" json:"compress,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (*ZfsFeatures) Descriptor

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

func (*ZfsFeatures) GetCompress

func (m *ZfsFeatures) GetCompress() bool

func (*ZfsFeatures) ProtoMessage

func (*ZfsFeatures) ProtoMessage()

func (*ZfsFeatures) Reset

func (m *ZfsFeatures) Reset()

func (*ZfsFeatures) String

func (m *ZfsFeatures) String() string

Jump to

Keyboard shortcuts

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