Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ImportOperations ¶
func ImportOperations( coordinator Coordinator, modelDefaultsProvider modelconfigservice.ModelDefaultsProvider, storageRegistryGetter corestorage.ModelStorageRegistryGetter, objectStoreGetter objectstore.ModelObjectStoreGetter, clock clock.Clock, logger logger.Logger, )
ImportOperations registers the import operations with the given coordinator. This is a convenience function that can be used by the main migration package to register all the import operations.
Types ¶
type Coordinator ¶
type Coordinator interface { // Add adds the given operation to the migration. Add(modelmigration.Operation) }
Coordinator is the interface that is used to add operations to a migration.
type Exporter ¶
type Exporter struct {
// contains filtered or unexported fields
}
Exporter defines the instance of the coordinator on which we'll register the export operations. A logger and a clock are needed for two of the export operations.
func NewExporter ¶
func NewExporter( coordinator Coordinator, storageRegistryGetter corestorage.ModelStorageRegistryGetter, objectStoreGetter objectstore.ModelObjectStoreGetter, clock clock.Clock, logger logger.Logger, ) *Exporter
NewExporter returns a new Exporter that encapsulates the legacyStateExporter. The legacyStateExporter is being deprecated, only needed until the migration to dqlite is complete.
func (*Exporter) ExportOperations ¶
func (e *Exporter) ExportOperations(registry corestorage.ModelStorageRegistryGetter)
ExportOperations registers the export operations with the given coordinator. This is a convenience function that can be used by the main migration package to register all the export operations.
type MigrationMachineDiscrepancy ¶
type MigrationMachineDiscrepancy struct { // MachineName is the name given to a machine in the Juju model MachineName machine.Name // CloudInstanceId is the unique id given to an instance from the cloud. CloudInstanceId instance.Id }
MigrationMachineDiscrepancy describes a divergent machine between what Juju has and what the cloud has reported. If both the MachineName and the CloudInstanceId are both not empty then the discrepancy is on the Juju side where we are referencing a instance that doesn't exist in the cloud.
If MachineName is empty then the discrepancy comes from the cloud where a instance exists that is not being tracked by Juju.