Haven't pushed changes yet, need to sort out the storage issues. Here's my answers anyway. https://codereview.appspot.com/13635044/diff/14001/cmd/jujud/machine.go File cmd/jujud/machine.go (right): https://codereview.appspot.com/13635044/diff/14001/cmd/jujud/machine.go#newcode30 cmd/jujud/machine.go:30: localstorage "launchpad.net/juju-core/worker/localstorage" On 2013/09/13 09:24:59, fwereade wrote: > drop the explicit name? Done. https://codereview.appspot.com/13635044/diff/14001/environs/filestorage/filestorage.go File environs/filestorage/filestorage.go (right): https://codereview.appspot.com/13635044/diff/14001/environs/filestorage/filestorage.go#newcode45 environs/filestorage/filestorage.go:45: func NewFileStorage(path string) (environs.Storage, error) { On 2013/09/13 09:24:59, fwereade wrote: > High-level question while I think of it: does the SSHStorage on bootstrap get > reused but backed with a FileStorage? I sort of imagine so, in which case, cool > ...but is it possible for there to be overlap? ie should we be sharing the > flocking everywhere? > or am I just fantasizing? filestorage is only used for testing at the moment. environs/localstorage takes over from environs/sshstorage, reusing the storage directory. However, there is no overlap in use; environs/sshstorage is only used to write the tools and bootstrap state file. *If* there's a failure bootstrapping, the bootstrap storage may also be used to remove the state file. Since there's no overlap, there's no need to share the locking. I did just realise that I totally broke the manual bootstrap code though, when I changed sshstorage's directory structure. I'll have to revisit that before merging. https://codereview.appspot.com/13635044/diff/14001/environs/filestorage/filestorage.go#newcode110 environs/filestorage/filestorage.go:110: file, err := ioutil.TempFile("", "juju-filestorage-"+name) On 2013/09/13 09:24:59, fwereade wrote: > Same different-filesystems problem. This is only for testing, but I will fix it anyway. I think localstorage ought to be renamed httpstorage, and have the backend contain one of these. https://codereview.appspot.com/13635044/diff/14001/environs/manual/bootstrap.go File environs/manual/bootstrap.go (right): https://codereview.appspot.com/13635044/diff/14001/environs/manual/bootstrap.go#newcode28 environs/manual/bootstrap.go:28: bootstrap.BootstrapStorager On 2013/09/13 09:24:59, fwereade wrote: > OK, I think my problem here is maybe that it's not *just* about bootstrap > storage, right? It's the same storage we always use, but this is the path to it > that's accessible from a client machine. Yes? > So, at least in the short term, we *will* need SSHStorage and LocalStorage to > coexist. They're pointing to the same location, but they're never used concurrently. https://codereview.appspot.com/13635044/diff/14001/worker/localstorage/worker.go File worker/localstorage/worker.go (left): https://codereview.appspot.com/13635044/diff/14001/worker/localstorage/worker.go#oldcode1 worker/localstorage/worker.go:1: package storage On 2013/09/13 09:24:59, fwereade wrote: > ah, I see. Can we call this localstorage please? Sorry, fixed. https://codereview.appspot.com/13635044/