merge master to lxd-container-type #4396

Merged
merged 421 commits into from Feb 12, 2016

Conversation

Projects
None yet
10 participants
Contributor

tych0 commented Feb 11, 2016

Dimiter Naydenov and others added some commits Jan 5, 2016

Merge pull request #4043 from dimitern/maas-spaces-better-interfaces
provider/maas: Better NetworkInterfaces() using the new API

Now the full network interface details for an instance are extracted using the
new 1.9+ MAAS API, when we detect it is available. The new implementation allows
us to pave the way for multi-NIC containers and is also simpler than the legacy
approach (which is still supported on older versions of MAAS).

Also tested live on 1.9 in addition to the unit tests.

(Review request: http://reviews.vapour.ws/r/3462/)
Merge pull request #4046 from dimitern/maas-spaces-demo-hotfix
maas: Better handling of NICs with no IPs and more logging

Interfaces with no IP addresses assigned are now skipped and logged rather than causing errors. Before trying to parse the interfaces from the node details, we always refresh them to ensure we have the latest details. Added more logs around the uniter NetworkConfig API used by network-get. NICs configured as "auto" or "unconfigured" are handled better, as we read the interfaces after startNode succeeds, rather than after acquireNode (where "auto" NICs don't have IPs yet). So "static"-only NICs are no longer a requirement.

Tested live on 1.9rc4 with both bindings and storage to ensure the storage code wasn't broken.
Confirmed to work for the ceph demo by David.
 
Review request: http://reviews.vapour.ws/r/3465/)
Merge pull request #4056 from dooferlad/bundle-endpoint-bindings
Add endpoint binding support to charm bundle deployment.

Adds support for reading endpoint bindings from a charm bundle, for example:
```yaml
services:
    wordpress:
        charm: wordpress
        num_units: 1
        bindings:
            db: db
            url: public
    mysql:
        charm: mysql
        num_units: 1
        bindings:
            server: db
relations:
    - ["wordpress:db", "mysql:server"]
```
There is no support for overriding endpoint bindings on the command line like there is for storage, but it could, in theory, be added after the syntax has been agreed.

(Review request: http://reviews.vapour.ws/r/3475/)
Merge pull request #4054 from voidspace/maas-spaces-networking-api8
Tests for discoverspaces apiserver

Tests for discoverspaces apiserver. EnvironWatcher is no longer used in the worker, api client or apiserver. EnvironConfig is implemented directly instead.

(Review request: http://reviews.vapour.ws/r/3473/)
provider/maas: DNS entries do not demarcate stanzas
When parsing an interfaces file, entries beginning with 'dns-' do not
demarcate stanzas. DNS entries are now considered part of the iface
stanza that is being parsed.

For example, the following interfaces file:

   auto eth0
   iface eth0 inet dhcp

   dns-nameservers 10.10.19.2
   dns-search maas-19

we would previously bridge and render as:

   iface eth0 inet manual

   auto br-eth0
   iface br-eth0 inet dhcp
       bridge_ports eth0

   dns-nameservers 10.10.19.2
   dns-search maas-19

but is now parsed and rendered as:

   iface eth0 inet manual

   auto br-eth0
   iface br-eth0 inet dhcp
       dns-nameservers 10.10.19.2
       dns-search maas-19
       bridge_ports eth0

Fixes [LP:#1532176](https://bugs.launchpad.net/juju-core/+bug/1532176)
Merge pull request #4062 from frobware/maas-spaces-lp1516891
provider/maas: DNS entries do not demarcate stanzas

When parsing an interfaces file, entries beginning with 'dns-' do not
demarcate stanzas. DNS entries are now considered part of the iface
stanza that is being parsed.

For example, the following interfaces file:

   auto eth0
   iface eth0 inet dhcp

   dns-nameservers 10.10.19.2
   dns-search maas-19

we would previously bridge and render as:

   iface eth0 inet manual

   auto br-eth0
   iface br-eth0 inet dhcp
       bridge_ports eth0

   dns-nameservers 10.10.19.2
   dns-search maas-19

but is now parsed and rendered as:

   iface eth0 inet manual

   auto br-eth0
   iface br-eth0 inet dhcp
       dns-nameservers 10.10.19.2
       dns-search maas-19
       bridge_ports eth0

Fixes [LP:#1532176](https://bugs.launchpad.net/juju-core/+bug/1532176)

(Review request: http://reviews.vapour.ws/r/3481/)

Michael Foord and others added some commits Feb 9, 2016

Merge pull request #4352 from voidspace/maas-spaces-address-provider-id
Add SpaceProviderId to network.Address

Precursor to using space provider id instead of name in MAAS provider.

(Review request: http://reviews.vapour.ws/r/3796/)
apiserver/provisioner: Simplified a couple of tests, extracted Provis…
…ioningInfo code and tests in separate files
Merge pull request #4331 from dimitern/maas-spaces-optional-bindings
Make service endpoint bindings optional and drop network.DefaultSpace dependency

RB link: http://reviews.vapour.ws/r/3773/
rcp: simplify serverError type
serverError was over compliated. It did not need to inherit from
requestError, and the way it did was overengineered. serverError just
needs to extend the error interface to match the ErrorCoder interface,
and as serverError only knows one status code, we can hard code that as
well.
Merge pull request #4357 from davecheney/rpc-simplify-server-error
rcp: simplify serverError type

serverError was over compliated. It did not need to inherit from
requestError, and the way it did was overengineered. serverError just
needs to extend the error interface to match the ErrorCoder interface,
and as serverError only knows one status code, we can hard code that as
well.

(Review request: http://reviews.vapour.ws/r/3802/)
rpc: use errors.Annotate
Use errors.Annotate to include the "request error: " boilerplate that
other code (almost always tests) expects. This lets callers use
errors.Cause to unwrap the error to recover the *rpc.RequestError type
without having to restort to string inspection of the .Error() value.
Merge pull request #4354 from dimitern/maas-spaces-state-fix-spaces-s…
…ubnets

Allow state.Space and Subnet with duplicate ProviderIds across models

Needed to allow discoverspaces to work in models other than the
controller model.

Also includes some improvements to tests.

(Review request: http://reviews.vapour.ws/r/3798/)
lp1543216 - Use consistent addr for replicaset.
The same logic should be used to select an address
for the mongo server during bootstrap and after
the system comes up.

After bootstrap, addresses for a machine are run
though MergedAddresses, which de-duplicates
provider addresses.  We should do the same during
bootstrap to avoid churning mongo by changing the
address after bootstrap completes.
Merge pull request #4373 from cherylj/1543216-set-right-mongo-addr-at…
…-bootstrap

lp1543216 - Use consistent addr for replicaset.

The same logic should be used to select an address
for the mongo server during bootstrap and after
the system comes up.

After bootstrap, addresses for a machine are run
though MergedAddresses, which de-duplicates
provider addresses.  We should do the same during
bootstrap to avoid churning mongo by changing the
address after bootstrap completes.

(Review request: http://reviews.vapour.ws/r/3816/)
Merge pull request #4366 from davecheney/rpc-use-errors-annotate
rpc: use errors.Annotate

Use errors.Annotate to include the "request error: " boilerplate that
other code (almost always tests) expects. This lets callers use
errors.Cause to unwrap the error to recover the *rpc.RequestError type
without having to restort to string inspection of the .Error() value.

(Review request: http://reviews.vapour.ws/r/3809/)
Merge pull request #4386 from dimitern/maas-spaces-merge-master-c215028
Merge master @ c215028 into maas-spaces

Hopefully for the last time..

(Review request: http://reviews.vapour.ws/r/3829/)
apiserver/params: remove ClientError helper
Updates LP#1538583

api/apiclient.APICall was the sole caller of params.ClientError.
params.Client error would rewrite the error value iff it was
rpc.RequestError, claiming that it was leaking unnecessary information
to the caller, specfically the "request error: " prefix. In b4e2785
the error prefix was convered to an errors.Annotate wrapper removing
the requirement to convert the error type.

Now, by removing params.ClientError, we can also remove the
errors.Annotate wrapper as the _type of the error_ tells us what it is.

So, callers get

a. A nice annotate error backtrace using errors.Trace
b. Access to the original *rpc.RequestError to inspect if they want.
Merge pull request #4361 from davecheney/apiserver-params-remove-clie…
…nterror

apiserver/params: remove ClientError helper

Updates LP#1538583

api/apiclient.APICall was the sole caller of params.ClientError.
params.Client error would rewrite the error value iff it was
rpc.RequestError, claiming that it was leaking unnecessary information
to the caller, specfically the "request error: " prefix. In b4e2785
the error prefix was convered to an errors.Annotate wrapper removing
the requirement to convert the error type.

Now, by removing params.ClientError, we can also remove the
errors.Annotate wrapper as the _type of the error_ tells us what it is.

So, callers get

a. A nice annotated backtrace using errors.Trace
b. Access to the original *rpc.RequestError to inspect if they want.
Merge pull request #4392 from juju/maas-spaces
Merge maas-spaces into master

We had a Blessed build for both master and maas-spaces and last few CI runs seem to indicate similar reliability of both branches, I think it's time to merge now.

(Review request: http://reviews.vapour.ws/r/3834/)
Merge pull request #4227 from bogdanteleaga/config-add-retry-bool
environs/config: add automatically-retry-hooks option

What the title says.

If I missed anything please let me know.

(Review request: http://reviews.vapour.ws/r/3665/)
Merge branch 'master' into lxd-container-type
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
un-fuck tools/lxdclient after master merge
For whatever reason git couldn't figure this out, so this is basically a
cherry-pick of 2a17adb on top of this
branch.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
more un-fucking of master merge
This is a cherry pick of 70c8b25 and
f8e3c5e.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Contributor

tych0 commented Feb 11, 2016

$$merge$$

Contributor

jujubot commented Feb 11, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

Contributor

jujubot commented Feb 11, 2016

Build failed: Tests failed
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/6362

Contributor

tych0 commented Feb 11, 2016

$$merge$$

Contributor

jujubot commented Feb 11, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

Contributor

jujubot commented Feb 12, 2016

Build failed: Tests failed
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/6363

remove unused import
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Contributor

tych0 commented Feb 12, 2016

$$merge$$

Contributor

jujubot commented Feb 12, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

jujubot added a commit that referenced this pull request Feb 12, 2016

Merge pull request #4396 from tych0/lxd-container-type
merge master to lxd-container-type



(Review request: http://reviews.vapour.ws/r/3838/)

@jujubot jujubot merged commit 7694111 into juju:lxd-container-type Feb 12, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment