Code review comment for lp:~axwalk/juju-core/manual-bootstrap

Revision history for this message
Andrew Wilkins (axwalk) wrote :

Reviewers: mp+184714_code.launchpad.net,

Message:
Please take a look.

Description:
Implement manual bootstrapping

environs/bootstrap:
   - Added BootstrapStorage interface. If an Environ
     implements this interface, its BootstrapStorage
     will be used by cmd/juju bootstrap.

cmd/juju:
   - Updated bootstrap subcommand to use
     environs/bootstrap.BootstrapStorage,
     as described above.

provider/local/storage:
   - Added LocalStorageConfig interface, which an
     Environ may implement to describe the configuration
     of a "localstorage".

environs/filestorage:
   - Added NewFileStorage (i.e. implement StorageWrite)
     for testing in environs/manual.

environs/manual:
   - Refactored existing code to support bootstrap machines.
   - Added "Bootstrap" function to manually bootstrap an
     existing machine.

To manually bootstrap, you must provide an environment that
implements the new LocalStorageConfig and BootstrapStorage
interfaces. In other words, you can (currently) only manually
bootstrap a machine which is expected to manage the storage
for its environment. This may be relaxed later if needed.

Next up is the null provider, which uses this new Bootstrap
function. I need to address one last issue with it first:
the null provider mustn't narrow the tools to default-series.

https://code.launchpad.net/~axwalk/juju-core/manual-bootstrap/+merge/184714

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/13635044/

Affected files (+525, -53 lines):
   A [revision details]
   M cmd/juju/bootstrap.go
   M environs/bootstrap/bootstrap.go
   M environs/filestorage/filestorage.go
   M environs/manual/agent.go
   A environs/manual/bootstrap.go
   A environs/manual/bootstrap_test.go
   M environs/manual/provisioner.go
   M environs/manual/provisioner_test.go
   A environs/manual/tools.go
   A provider/local/storage/config.go
   M provider/local/storage/worker.go

« Back to merge proposal