initial commit
Remove silly wait
added tool
Added some tests
Merge branch 'reboot-tool' into staging
stage 1
gofmt
responded to feedback
Fix bug in upgrade test

oldID is converted to a string. Which is different to the the bytes
version stored in the document.
Merge branch 'master' of https://github.com/juju/juju into fix-upgrade-bug
Fixes bug #1364939

- Added RetryableCreationError type to the instance/instance.go, which indicates that something went
wrong during instance creationg, but the cleanup was successful and instance creation can safely be
retried
- Added transientErrorInjection channel to the dummy provider, which enables tests to
patch this variable to induce errors in instance creation (see PatchTransientErrorInjectionChannel function
and StartInstance function in provider/dummy/environs.go
- Added retry once code to the provisioner (provisioner_task.go) in case the RetryableCreationError
is received
- Added tests to the provisioner
- In the lxc.go added a destroy call if a container fails to start - we need to cleanup the environment
in case of errors - and a RetryableCreationError is returned
- Added tests to the lxc (via an error injection channel)
Fixes wrt cmars' review
Fixes wrt comments from anastasiamac
Fixes wrt comments from fwereade

- removed changes in the lxc package -> those will be in the following PR
- added NewRetryableCreationError function to the instance.go
- fixed comments in the provisioner_test.go
Fixes bug #1364939

Depends on changes in https://github.com/juju/juju/pull/1026

- Added a cleanup step in lxc.go if a containers fails to start. If the lxcContainer.Destroy() call does
not return an error a RetryableCreationError is returned, which means that it is safe for the provisioner
to retry instance creation (changes in the provisioner are in PR #1026). If the Destroy call fails
a RetryableCreationError should not be returned - a container is left in an error state and user
intervention may be required to clean up the environment.
- Added an error injection channel to the mock lxc code - if a message is received on the error injection
channel the Start or Destroy function will fail. This is used to test the changes in lxc.go.
- Added tests for the code introduced to lxc.go in lxc_test.go (see TestCreateContainerFailsWithInjectedError
and TestCreateContainerWithInjectedErrorDestroyFails)
- Fixed the CreateContainerTest in container/testing/common.go (errors.Tracef masks the true type of
the error)
Fix LP 1386968

* move things around to make recordingStorage simpler
* break out the blobs file map into its own type as that is the bit we want to interrogate after the test run
* add more locks, that always seems to help

Passes several runs of stress.bash without puking, race detector is happy as well.
Dump the oplog.
Add oplog-focused tests.
Fix test oplog marshalling.
Strip oplog entries for ignored databases.