This section is empty.


This section is empty.


func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

    Manifold returns a dependency manifold that runs an upgrade-series worker, using the resource names defined in the supplied config.

    func NewWorker

    func NewWorker(config Config) (worker.Worker, error)

      NewWorker creates, starts and returns a new upgrade-series worker based on the input configuration.


      type Config

      type Config struct {
      	// Facade is used to access back-end state.
      	Facade Facade
      	// Logger is the logger for this worker.
      	Logger Logger
      	// UnitDiscovery determines how the worker knows which units should
      	// be running on the machine.
      	UnitDiscovery UnitDiscovery
      	// UpgraderFactory is a factory method that will return an upgrader capable
      	// of handling service and agent binary manipulation for a
      	// runtime-determined current and target OS series.
      	UpgraderFactory func(string, string) (Upgrader, error)

        Config is the configuration needed to construct an UpgradeSeries worker.

        func (Config) Validate

        func (config Config) Validate() error

          Validate validates the upgrade-series worker configuration.

          type Facade

          type Facade interface {
          	// Getters
          	WatchUpgradeSeriesNotifications() (watcher.NotifyWatcher, error)
          	MachineStatus() (model.UpgradeSeriesStatus, error)
          	UnitsPrepared() ([]names.UnitTag, error)
          	UnitsCompleted() ([]names.UnitTag, error)
          	CurrentSeries() (string, error)
          	TargetSeries() (string, error)
          	// Setters
          	StartUnitCompletion(reason string) error
          	SetMachineStatus(status model.UpgradeSeriesStatus, reason string) error
          	FinishUpgradeSeries(string) error
          	PinMachineApplications() (map[string]error, error)
          	UnpinMachineApplications() (map[string]error, error)
          	SetInstanceStatus(model.UpgradeSeriesStatus, string) error

            Facade exposes the API surface required by the upgrade-series worker.

            func NewFacade

            func NewFacade(apiCaller base.APICaller, tag names.Tag) Facade

              NewFacade creates a new upgrade-series client and returns its reference as the facade indirection above.

              type Logger

              type Logger interface {
              	Debugf(message string, args ...interface{})
              	Infof(message string, args ...interface{})
              	Warningf(message string, args ...interface{})
              	Errorf(message string, args ...interface{})

                Logger represents the methods required to emit log messages.

                type ManifoldConfig

                type ManifoldConfig struct {
                	AgentName     string
                	APICallerName string
                	Logger    Logger
                	NewFacade func(base.APICaller, names.Tag) Facade
                	NewWorker func(Config) (worker.Worker, error)

                  ManifoldConfig holds the information necessary for the dependency engine to to run an upgrade-series worker.

                  func (ManifoldConfig) Validate

                  func (config ManifoldConfig) Validate() error

                    Validate validates the manifold configuration.

                    type UnitDiscovery

                    type UnitDiscovery interface {
                    	Units() ([]names.UnitTag, error)

                      UnitDiscovery represents how the worker determines which units need to check in.

                      type Upgrader

                      type Upgrader interface {
                      	PerformUpgrade() error

                        Upgrader describes methods required to perform file-system manipulation in preparation for upgrading the host Ubuntu version.

                        func NewUpgrader

                        func NewUpgrader(
                        	currentSeries, toSeries string, manager service.SystemdServiceManager, logger Logger,
                        ) (Upgrader, error)

                          NewUpgrader uses the input function to determine the series that should be supported, and returns a reference to a new Upgrader that supports it.


                          Path Synopsis
                          Package mocks is a generated GoMock package.
                          Package mocks is a generated GoMock package.