migrate

package
v0.0.0-...-cd80d89 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package migrate provides functionality to migrate servers that have been provisioned by the OpenStack Compute service.

Example of Migrate Server (migrate Action)

serverID := "b16ba811-199d-4ffd-8839-ba96c1185a67"
err := migrate.Migrate(computeClient, serverID).ExtractErr()
if err != nil {
	panic(err)
}

Example of Live-Migrate Server (os-migrateLive Action)

serverID := "b16ba811-199d-4ffd-8839-ba96c1185a67"
host := "01c0cadef72d47e28a672a76060d492c"
blockMigration := false

migrationOpts := migrate.LiveMigrateOpts{
	Host: &host,
	BlockMigration: &blockMigration,
}

err := migrate.LiveMigrate(computeClient, serverID, migrationOpts).ExtractErr()
if err != nil {
	panic(err)
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

List returns a Pager that allows you to iterate over a collection of Migrations.

Types

type DeleteResult

type DeleteResult struct {
	gophercloud.ErrResult
}

DeleteResult is the response from a Delete operation. Call its ExtractErr to determine if the request succeeded or failed.

func Delete

func Delete(client *gophercloud.ServiceClient, serverID, migrationID string) (r DeleteResult)

Delete deletes a migration action.

type ListOpts

type ListOpts struct {
	// Limit is the amount of containers to retrieve.
	// New in version 2.59
	Limit int `q:"limit"`

	// Marker The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the
	// ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
	// New in version 2.59
	Marker string `q:"marker"`

	// Hidden The ‘hidden’ setting of migration to filter. The ‘hidden’ flag is set if the value is 1.
	// The ‘hidden’ flag is not set if the value is 0. But the ‘hidden’ setting of migration is always 0, so this parameter is useless to filter migrations.
	Hidden int `q:"hidden"`

	// Host The source/destination compute node of migration to filter.
	Host string `q:"host"`

	// MigrationType The type of migration to filter. Valid values are:  evacuation,live-migration, migration, resize
	MigrationType string `q:"migration_type"`

	// Status The status of migration to filter.
	Status string `q:"status"`

	// ChangesSince filters the response by a date and time stamp when the migration last changed. New in version 2.59
	ChangesSince string `q:"changes-since"`

	// ChangesBefore Filters the response by a date and time stamp when the migration last changed. New in version 2.66
	ChangesBefore string `q:"changes-before "`

	// UserID Filter the migrations by the given user ID. New in version 2.80
	UserID string `q:"user_id"`

	// ProjectID Filter the migrations by the given project ID. New in version 2.80
	ProjectID string `q:"project_id"`
}

ListOpts provides options to filter the List results.

func (ListOpts) ToContainerListQuery

func (opts ListOpts) ToContainerListQuery() (string, error)

ToContainerListQuery formats a ListOpts into a query string.

type ListOptsBuilder

type ListOptsBuilder interface {
	ToContainerListQuery() (string, error)
}

ListOptsBuilder allows extensions to add additional parameters to the List request

type LiveMigrateOpts

type LiveMigrateOpts struct {
	// The host to which to migrate the server.
	// If this parameter is None, the scheduler chooses a host.
	Host *string `json:"host"`

	// Set to True to migrate local disks by using block migration.
	// If the source or destination host uses shared storage and you set
	// this value to True, the live migration fails.
	BlockMigration *bool `json:"block_migration,omitempty"`

	// Set to True to enable over commit when the destination host is checked
	// for available disk space. Set to False to disable over commit. This setting
	// affects only the libvirt virt driver.
	DiskOverCommit *bool `json:"disk_over_commit,omitempty"`
}

LiveMigrateOpts specifies parameters of live migrate action.

func (LiveMigrateOpts) ToLiveMigrateMap

func (opts LiveMigrateOpts) ToLiveMigrateMap() (map[string]interface{}, error)

ToLiveMigrateMap constructs a request body from LiveMigrateOpts.

type LiveMigrateOptsBuilder

type LiveMigrateOptsBuilder interface {
	ToLiveMigrateMap() (map[string]interface{}, error)
}

LiveMigrateOptsBuilder allows extensions to add additional parameters to the LiveMigrate request.

type MigrateOpts

type MigrateOpts struct {
	// The host to which to migrate the server.
	// If this parameter is None, the scheduler chooses a host.
	// Migrate Server (migrate Action) (v2.56)
	Host *string `json:"host"`
}

MigrateOpts specifies parameters of live migrate action.

func (MigrateOpts) ToMigrateMap

func (opts MigrateOpts) ToMigrateMap() (map[string]interface{}, error)

ToMigrateMap constructs a request body from MigrateOpts.

type MigrateOptsBuilder

type MigrateOptsBuilder interface {
	ToMigrateMap() (map[string]interface{}, error)
}

MigrateOptsBuilder allows extensions to add additional parameters to the Migrate request.

type MigrateResult

type MigrateResult struct {
	gophercloud.ErrResult
}

MigrateResult is the response from a Migrate operation. Call its ExtractErr method to determine if the request suceeded or failed.

func LiveMigrate

func LiveMigrate(client *gophercloud.ServiceClient, id string, opts LiveMigrateOptsBuilder) (r MigrateResult)

LiveMigrate will initiate a live-migration (without rebooting) of the instance to another host.

func Migrate

func Migrate(client *gophercloud.ServiceClient, id string, opts MigrateOptsBuilder) (r MigrateResult)

Migrate will initiate a migration of the instance to another host.

type Migration

type Migration struct {
	// ID The ID of the server migration.
	ID int `json:"id"`

	// CreatedAt The date and time when the resource was created.
	CreatedAt string `json:"created_at"`

	// DestCompute The target compute for a migration.
	DestCompute string `json:"dest_compute"`

	// DestHost The target node for a migration.
	DestHost string `json:"dest_host"`

	// InstanceUUID The UUID of the server.
	InstanceUUID string `json:"instance_uuid"`

	// NewInstanceTypeID In resize case, the flavor ID for resizing the server.
	// In the other cases, this parameter is same as the flavor ID of the server when the migration was started.
	NewInstanceTypeID int `json:"new_instance_type_id"`

	// OldInstanceTypeID The flavor ID of the server when the migration was started.
	OldInstanceTypeID int `json:"old_instance_type_id"`

	// SourceCompute The source compute for a migration.
	SourceCompute string `json:"source_compute"`

	// SourceNode The source node for a migration.
	SourceNode string `json:"source_node"`

	// Status The current status of the migration.
	Status string `json:"status"`

	// UpdatedAt The date and time when the resource was updated.
	UpdatedAt string `json:"updated_at"`

	// MigrationType The type of the server migration. This is one of live-migration, migration, resize and evacuation.
	MigrationType string `json:"migration_type"`

	// Links Links to the migration. This parameter is returned if the migration type is live-migration and the
	// migration status is one of queued, preparing, running and post-migrating.
	Links interface{} `json:"links"`

	// Uuid The UUID of the migration.
	Uuid string `json:"uuid"`

	// MigrationsLinks Links pertaining to the migration. This parameter is returned when paging and more data is available.
	MigrationsLinks interface{} `json:"migrations_links"`

	// UserID The ID of the user which initiated the server migration. The value may be null for older migration records.
	UserID string `json:"user_id"`

	// ProjectID The ID of the project which initiated the server migration. The value may be null for older migration records.
	ProjectID string `json:"project_id"`
}

func ExtractMigration

func ExtractMigration(r pagination.Page) ([]Migration, error)

ExtractMigration interprets a page of results as a slice of Migration.

type MigrationsPage

type MigrationsPage struct {
	pagination.LinkedPageBase
}

MigrationsPage stores a single page of all Network results from a List call.

func (MigrationsPage) IsEmpty

func (page MigrationsPage) IsEmpty() (bool, error)

IsEmpty determines whether or not a NetworkPage is empty.

func (MigrationsPage) NextPageURL

func (page MigrationsPage) NextPageURL() (string, error)

NextPageURL extracts the "next" link from the links section of the result.

Directories

Path Synopsis
compute_extensions_startstop_v2
compute_extensions_startstop_v2

Jump to

Keyboard shortcuts

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