Removed Firewaller API V0
Merge pull request #849 from dimitern/drop-firewaller-api-v0

Removed Firewaller API V0

Follow-up to #846, this removes the API version 0 of
the firewaller API facade, as it's no longer used.

NOTE: Already approved as http://reviews.vapour.ws/r/110/.
This PR just re-targets the branch against juju:master
UniterAPI: OpenPorts and ClosePorts added
Merge pull request #850 from dimitern/api-uniter-open-close-ports

UniterAPI: OpenPorts and ClosePorts added

Introduced OpenPorts and ClosePorts uniter API
methods, which allow opening and closing port
ranges on units. The existing OpenPort and ClosePort
methods are left for backwards-compatibility, but
internally they use the new methods.

NOTE: Already approved as http://reviews.vapour.ws/r/111/
This PR just re-targets the branch against juju:master
uniter: open-port and close-port accept ranges
Merge pull request #851 from dimitern/uniter-open-close-port-take-ranges

uniter: open-port and close-port accept ranges

Hook tools "open-port" and "close-port" changed to accept
both "\<port\>[/\<protocol\>]" and "\<from\>-\<to\>[/\<protocol\>]".
Uniter hook context changed to call unit.OpenPorts and
unit.ClosePorts. Added more tests and better validation.

When this lands, charms can start opening and closing
port ranges instead of single ports.

NOTE: Already approved as http://reviews.vapour.ws/r/112/.
This PR just re-targets the branch against juju:master
Removed InfoId interface{} alias

The InfoId type gave the illusion that InfoId was some specific type, however it is not. As an alias for interface{}, _anything_ can be used or converted to this type.
one more place InfoId was used
Merge pull request #854 from davecheney/203-state-multiwatcher-simplify

Remove InfoId interface{} alias

The InfoId type gave the illusion that InfoId was some specific type, however it is not. As an alias for interface{}, _anything_ can be used or converted to this type.
state/multiwatcher: break dependency on params.EntityInfo

This change breaks a dependency from `state/multiwatcher` to `apiserver/params` for the `EntityInfo` type. This is done by declaring a compatible interface in the `multiwatcher` package. As two interfaces with identical method sets are themselves identical, values which fulfil the `params.EntityInfo` interface also fulfil `multiwatcher.EntityInfo`.

Sadly `EntityInfo` defines a `EntityId` method which returns a `params.EntityId` type, which continues to wed us to `apiserver/params`. That problem is the subject of subsequent PRs
Drive-by: log when jujud terminates due to specific login errors
Merge pull request #855 from davecheney/204-state-multiwatcher-dont-depend-on-apiserver-params

state/multiwatcher: break dependency on params.EntityInfo

This change breaks a dependency from `state/multiwatcher` to `apiserver/params` for the `EntityInfo` type. This is done by declaring a compatible interface in the `multiwatcher` package. As two interfaces with identical method sets are themselves identical, values which fulfil the `params.EntityInfo` interface also fulfil `multiwatcher.EntityInfo`.

Sadly `EntityInfo` defines a `EntityId` method which returns a `params.EntityId` type, which continues to wed us to `apiserver/params`. That problem is the subject of subsequent PRs
apiserver: changed login failure handling during upgrades and restores

Login attempts may fail during upgrades or restores due to data
manipulations performed (or not performed yet) by these
operations. Instead of reporting a "bad credentials" error in this
case, which is confusing to users and causes unit agents to terminate,
return "maintenance in progress" instead.

Fixes LP #1372752.
Merge pull request #853 from mjs/1372752-api-login-fails-during-upgrade

apiserver: changed login failure handling during upgrades

Login attempts may fail during upgrades due to schema migrations not having been applied yet. Instead of reporting a "bad credentials" error in this case, which is confusing to users and causes unit agents to terminate, return "upgrade in progress" instead.

Fixes LP #1372752.

http://reviews.vapour.ws/r/119/diff/
action-set: a jujuc command for Actions to send values back to state

action-set permits action hooks to define an arbitrary map of params
which will be returned to the state server at the end of the Action.
action-set multiple invocation tests and panics fixed
action-set: a jujuc command for Actions to send values back to state

Addressed fwereade's concerns for PR 415.
action-set: a jujuc command for Actions to send values back to state

This commit moves the Action results update method into the Context
implementation, so that client code is not changing the results map
on its own.
action-set PR tweaks

Addressed:
 - need to keep Action results map segregated from jujuc
 - testing Context interface mock to support this change
 - removed old Context methods
 - changed actionResults inner "error" type to string rather than error
Now tests action results interleave in context