Added versions to Agent API.
Added forgotten params.
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Minor fixes after first review.
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
fixed an error formatting bug
Redesign including different testing approach (better separation).
Add custom image metadata to environment storage

Image metadata is now added to environment storage
instead of provider storage. Custom simplestreams
data sources are now registered in the environs
package, and the imagemetadata.SupportsCustomSources
interface has been removed.

At bootstrap time, if --metadata-source is specified
then we register a datasource pointing to the image
metadata (if it exists), and we read it and add it
to the MachineConfig. We use this to create simplestreams
files on disk on the bootstrap machine, which jujud
bootstrap-state reads and adds to environment storage.

State servers now register an environment-storage
based datasource directly after opening state. This
will be used instead of the old provider state
datasource.
Fix tests
Address review comments
apiserver: allow an extra API method during upgrades

Client.EnvironmentGet is required to support "juju ssh". SSH should be
available during upgrades but this method was not in the list of
upgradingRoot's allowed API methods.

This revision fixes the issue (tested manually). A CI test change will
be made next ensure that SSH continues to work during upgrades.

Fixes LP#1367009.
Merge pull request #774 from axw/image-metadata-envstorage

Add custom image metadata to environment storage

Image metadata is now added to environment storage instead of provider
storage. Custom simplestreams data sources are now registered in the
environs package, and the imagemetadata.SupportsCustomSources interface has
been removed.

At bootstrap time, if --metadata-source is specified then we register a
datasource pointing to the image metadata (if it exists), and we read it
and add it to the MachineConfig. We use this to create simplestreams files
on disk on the bootstrap machine, which jujud bootstrap-state reads and
adds to environment storage.

State servers now register an environment-storage based datasource directly
after opening state. This will be used instead of the old provider state
datasource.
Merge pull request #795 from mjs/ssh-fails-during-upgrade

apiserver: allow an extra API method during upgrades

Client.EnvironmentGet is required to support "juju ssh". SSH should be available during upgrades but this method was not in the list of upgradingRoot's allowed API methods.

This revision fixes the issue (tested manually). A CI test change will be made next ensure that SSH continues to work during upgrades.

Fixes LP#1367009.

http://reviews.vapour.ws/r/61/diff/
Merge pull request #789 from mattyw/go-vet-fix

fixed an error formatting bug
FirewallerAPIV1 implemented; tests improved
Merge pull request #770 from dimitern/api-firewaller-watch-machine-ports

FirewallerAPIV1 implemented; tests improved

This is part 2/4 in the port ranges support work: changes
to the firewaller API to enabled watching opened ports on
machines and not units.

Changes in FirewallerAPI V1:
 - Added WatchOpenedPorts(environTag) method. Environment tag
   is currently ignored internally, but required for future
   compatibility.
 - Added GetMachinePorts() and apifirewaller.Machine.OpenedPorts().
   It returns all opened ports for a given machine on a given
   network (currently, until multiple networks are supported,
   the default public network is hard-coded in a few places).
 - Added GetMachineActiveNetworks() and apifirewaller.Machine.
   ActiveNetworks(). It returns a list of networks the machine
   has opened ports on.
 - Watch() method no longer allows unit tags, as the firewaller
   won't need to watch units anymore.
 - OpenedPorts() and apifirewaller.Unit.OpenedPorts() removed.

Refactored both the apiserver/firewaller and api/firewaller to
test API versions as needed, and minimized duplicated code/tests.

Also, during testing I found out the openedPortsWatcher does
not behave as expected and was fixed.

Right now, the firewaller worker still uses FirewallerAPIV0, and
it will be changed to use the new version in the next follow-up.

Later, there will be a few more steps to complete the port
ranges support: firewaller worker to use the new API, an
upgrade step to migrate unit ports to machine ports, cleaning
up all legacy support code and other improvements, making
"open-port" and "close-port" hook tools accept port ranges,
and finally adding a new "opened-ports" hook tool to list
ports.
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker. Changes after review.