juju: github.com/juju/juju/apiserver/facades/agent/migrationminion Index | Files

package migrationminion

import "github.com/juju/juju/apiserver/facades/agent/migrationminion"

Package migrationminion defines the API facade for use by the migration minion worker to monitor the progress of, and interact with, model migrations.

The migration minion runs inside every non-controller agent.

Index

Package Files

backend.go doc.go migrationminion.go register.go

type API Uses

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

API implements the API required for the model migration master worker.

func NewAPI Uses

func NewAPI(
    backend Backend,
    resources facade.Resources,
    authorizer facade.Authorizer,
) (*API, error)

NewAPI creates a new API server endpoint for the model migration master worker.

func NewFacade Uses

func NewFacade(
    st *state.State,
    resources facade.Resources,
    authorizer facade.Authorizer,
) (*API, error)

NewFacade provides the signature required for facade registration.

func (*API) Report Uses

func (api *API) Report(info params.MinionReport) error

Report allows a migration minion to submit whether it succeeded or failed for a specific migration phase.

func (*API) Watch Uses

func (api *API) Watch() (params.NotifyWatchResult, error)

Watch starts watching for status updates for a migration attempt for the model. It will report when a migration starts and when its status changes (including when it finishes). An initial event will be fired if there has ever been a migration attempt for the model.

The MigrationStatusWatcher facade must be used to receive events from the watcher.

type Backend Uses

type Backend interface {
    WatchMigrationStatus() state.NotifyWatcher
    Migration(string) (state.ModelMigration, error)
}

Backend defines the state functionality required by the MigrationMinion facade.

Package migrationminion imports 6 packages (graph) and is imported by 3 packages. Updated 2019-09-01. Refresh now. Tools for package owners.