Documentation ¶
Overview ¶
This package defines the API facade for use by the migration master worker when communicating to it's own controller.
Index ¶
- type API
- func (api *API) Export() (params.SerializedModel, error)
- func (api *API) MigrationStatus() (params.MasterMigrationStatus, error)
- func (api *API) MinionReports() (params.MinionReports, error)
- func (api *API) ModelInfo() (params.MigrationModelInfo, error)
- func (api *API) Prechecks() error
- func (api *API) Reap() error
- func (api *API) SetPhase(args params.SetMigrationPhaseArgs) error
- func (api *API) SetStatusMessage(args params.SetMigrationStatusMessageArgs) error
- func (api *API) Watch() params.NotifyWatchResult
- func (api *API) WatchMinionReports() params.NotifyWatchResult
- type Backend
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API implements the API required for the model migration master worker.
func NewAPI ¶
func NewAPI( backend Backend, precheckBackend migration.PrecheckBackend, pool migration.Pool, resources facade.Resources, authorizer facade.Authorizer, presence facade.Presence, ) (*API, error)
NewAPI creates a new API server endpoint for the model migration master worker.
func NewFacade ¶
NewFacade exists to provide the required signature for API registration, converting st to backend.
func (*API) Export ¶
func (api *API) Export() (params.SerializedModel, error)
Export serializes the model associated with the API connection.
func (*API) MigrationStatus ¶
func (api *API) MigrationStatus() (params.MasterMigrationStatus, error)
MigrationStatus returns the details and progress of the latest model migration.
func (*API) MinionReports ¶
func (api *API) MinionReports() (params.MinionReports, error)
MinionReports returns details of the reports made by migration minions to the controller for the current migration phase.
func (*API) ModelInfo ¶
func (api *API) ModelInfo() (params.MigrationModelInfo, error)
ModelInfo returns essential information about the model to be migrated.
func (*API) Prechecks ¶
Prechecks performs pre-migration checks on the model and (source) controller.
func (*API) SetPhase ¶
func (api *API) SetPhase(args params.SetMigrationPhaseArgs) error
SetPhase sets the phase of the active model migration. The provided phase must be a valid phase value, for example QUIESCE" or "ABORT". See the core/migration package for the complete list.
func (*API) SetStatusMessage ¶
func (api *API) SetStatusMessage(args params.SetMigrationStatusMessageArgs) error
SetStatusMessage sets a human readable status message containing information about the migration's progress. This will be shown in status output shown to the end user.
func (*API) Watch ¶
func (api *API) Watch() params.NotifyWatchResult
Watch starts watching for an active migration for the model associated with the API connection. The returned id should be used with the NotifyWatcher facade to receive events.
func (*API) WatchMinionReports ¶
func (api *API) WatchMinionReports() params.NotifyWatchResult
WatchMinionReports sets up a watcher which reports when a report for a migration minion has arrived.
type Backend ¶
type Backend interface { WatchForMigration() state.NotifyWatcher LatestMigration() (state.ModelMigration, error) ModelUUID() string ModelName() (string, error) ModelOwner() (names.UserTag, error) AgentVersion() (version.Number, error) RemoveExportingModelDocs() error migration.StateExporter }
Backend defines the state functionality required by the migrationmaster facade.