Merge master into nate-minver. #4648

Merged
merged 3,358 commits into from Mar 9, 2016

Conversation

Projects
None yet
Contributor

kat-co commented Mar 8, 2016

ericsnowcurrently and others added some commits Feb 22, 2016

Merge pull request #4511 from ericsnowcurrently/resources-resource-ge…
…t-from-charmstore

Download resource files from the charm store.

When a resource file is not found in the state cache (blobstore), we must download it from the charm store (for resources of "store" origin). This patch achieves that.

(Review request: http://reviews.vapour.ws/r/3878/)
Merge pull request #4456 from ericsnowcurrently/resources-worker-poll…
…-charm-store

Add a worker that polls the charm store for changes in resources.

There are a number of efficiencies that may be applied, but this patch gets the ball rolling.

(Review request: http://reviews.vapour.ws/r/3891/)
cloudconfig/sshinit: base64 encode initial script
Yet another variation on the cloud-config sshinit
script dance. The go.crypto-based ssh client doesn't
like whitespace in the command, so we base64-encode
it and decode on the remote side.

Live-tested with both openssh- and go.crypto-based
clients.
Merge pull request #4502 from wallyworld/beta1-cleanup
Include lxd in list-clouds, imrpove bootstrap help

juju list-clouds and show-clouds now includes "lxd" in the output.

bootstrap help is also improved

(Review request: http://reviews.vapour.ws/r/3939/)
Merge pull request #4515 from axw/lp1548799-ssh-windows
cloudconfig/sshinit: base64 encode initial script

Yet another variation on the cloud-config sshinit
script dance. The go.crypto-based ssh client doesn't
like whitespace in the command, so we base64-encode
it and decode on the remote side.

Live-tested with both openssh- and go.crypto-based
clients.

(Review request: http://reviews.vapour.ws/r/3950/)
MADE Identity File Writer
Move the Identity File Writer worker from the machine agent runner to the dependancy engine.
Merge pull request #4517 from axw/jujuclient-models-per-user
all: nest models under accounts in models.yaml

jujuclient has been updated so that models.yaml
has the following structure:

    controllers:
      <controller>:
        accounts:
          <account>:
            models: ...
            current-model: ...

The output of "list-controllers" and "show-controller"
has been updated to reflect the new structure. Listing
controllers now only shows a current model if there is
a current account for the controller.

The modelcmd package has been updated accordingly.
 - a controller command may be initialised without
   a current account, but will error if an attempt
   is made to obtain an API connection without setting
   the current account.
 - model command will fail if an attempt is made to
   set the current model, but there is no current
   account for the controller.

There is no way to identify a model for a different
account in a controller; the current account for the
controller is always assumed.

Some minor changes were made to the change-user-password
and create-model commands. The change-user-password
command no longer requires the specified user to exist
in the local jujuclient store. The create-model command
no longer uses configstore, and uses jujuclient exclusively.

(Review request: http://reviews.vapour.ws/r/3952/)
bootstrap: write current-controller earlier
Write the current-controller file earlier
in the bootstrap process, so we can run
"juju status" while bootstrap is ongoing.

jujubot and others added some commits Mar 2, 2016

Merge pull request #4597 from wallyworld/verbose-list-controllers
Add detail to list-controllers --format yaml

Fixes: https://bugs.launchpad.net/bugs/1551743

juju list-controllers --format yaml now displays all the details for the yaml file

As a drive by, rename models.go to listmodels.go. And rename env stuff to model stuff. No new code, just file rename and variable renames.

(Review request: http://reviews.vapour.ws/r/4037/)
Merge pull request #4601 from jameinel/fix-lp1545046
Use HasLXDSupport to fix bug #1545046

This is just Tycho's patch, but fixed for typos. (we no longer need to import runtime packages, and the name of the attribute is not exported.)

(Review request: http://reviews.vapour.ws/r/4041/)
Merge pull request #4596 from davecheney/resource-api-always-send-res…
…ponse-even-during-error

resource/api: always send a response to the client

Always send a response to the client, even when an error occurs.

(Review request: http://reviews.vapour.ws/r/4036/)
state: unexport UpgradeInProgressError
There are too many ways for juju's API server to tell the client that it
is in upgrade state. Some come from state itself, others come from the
API server interpreting other errors from other sources.

This CL is part of a pair of changes that reduce the number of ways the
API server can say it is in upgrade state. Specifically other packages
can only inspect the error they get from state with the supplied helper
method, they cannot inspect it directly.

This CL is less than ideal is state depends on apiserver/params for the
CodeUpgradeInProgress constant. But this source dependency existed
before hand, so it's not the end of the world.
Merge pull request #4605 from anastasiamac/hook-context-az-lp1546790
Fixes lp 1546790 (master): env var missing from hook context.

Availability zone environment variable was missing from hook context.

(Review request: http://reviews.vapour.ws/r/4045/)
apiserver/common: cleanup errors.go
Lots of driveby cleanups

- remove unused types
- unexport various isError helpers that were only used internally
Merge pull request #4600 from davecheney/apiserver-common-cleanup-errors
apiserver/common: cleanup errors.go

Lots of driveby cleanups

- remove unused types
- unexport various isError helpers that were only used internally

(Review request: http://reviews.vapour.ws/r/4040/)
Fix intermittent test bug #1552589.
It was possible to change the configuration before the provisioner task
was started, and thus there was never any change to observe.
Now we always observer the initial config. It means the test itself
is slightly weaker, because sometimes we never observer the *change*,
but at least the test doesn't accidentally fail.
A better fix would be to wait to change the config until you know
that the config has already been seen. However, we can't do that
via the Observer interface, because there is a race that we
could have already started the Task before we get a chance to
set the observer.
Merge pull request #4612 from wallyworld/autoload-credentials-part3
Add interactive autoload credentials

juju autoload-credentials is now interactive.

openstack detection now supports ~/.novarc files

Detected credentials have a label (based on the spec) so that this can be presented to the user to allow them to make a choice as to what they want to save.

(Review request: http://reviews.vapour.ws/r/4052/)
Merge pull request #4613 from wallyworld/hide-credential-secrets
Remove secrets by default from listed credentials

Fixes: https://bugs.launchpad.net/juju-core/+bug/1552408

and also

add a --show-secrets flag to list-credentials. 
Now, by default, secrets are hidden unless --show-secrets is used.

Also as a drive by, fix the --include-passwords flag for show-controller - rename to show-passwords

(Review request: http://reviews.vapour.ws/r/4053/)
Merge pull request #4611 from davecheney/state-unexport-upgradeinprog…
…ress

state: unexport UpgradeInProgressError

There are too many ways for juju's API server to tell the client that it
is in upgrade state. Some come from state itself, others come from the
API server interpreting other errors from other sources.

This CL is part of a pair of changes that reduce the number of ways the
API server can say it is in upgrade state. Specifically other packages
can only inspect the error they get from state with the supplied helper
method, they cannot inspect it directly.

This CL is less than ideal is state depends on apiserver/params for the
CodeUpgradeInProgress constant. But this source dependency existed
before hand, so it's not the end of the world.

(Review request: http://reviews.vapour.ws/r/4051/)
Merge pull request #4621 from anastasiamac/stream-to-cloudimage-query…
…-master

Forward-porting to master: passing stream to image download

#4619

Enables specifying streams in image download when calling ubuntu-cloudimage-query command. 

(Review request: http://reviews.vapour.ws/r/4061/)
api/block: driveby cleanups
Multi line logging, seriously ??
Merge pull request #4401 from davecheney/api-block-driveby
api/block: driveby cleanups

Multi line logging, seriously ??
dependencies.tsv: upgrade juju/testing
Upgrade juju/testing to latest to pick up improvements to MgoInstance
testing suite.
Merge pull request #4632 from davecheney/juju-testing
dependencies.tsv: upgrade juju/testing

Upgrade juju/testing to latest to pick up improvements to MgoInstance
testing suite.

(Review request: http://reviews.vapour.ws/r/4074/)
Merge pull request #4614 from jameinel/fix-lp1552589-intermittent-Tes…
…tProvisionerObservesMachineJobs

Fix intermittent test bug #1552589.

It was possible to change the configuration before the provisioner task
was started, and thus there was never any change to observe.
Now we always observer the initial config. It means the test itself
is slightly weaker, because sometimes we never observer the *change*,
but at least the test doesn't accidentally fail.
A better fix would be to wait to change the config until you know
that the config has already been seen. However, we can't do that
via the Observer interface, because there is a race that we
could have already started the Task before we get a chance to
set the observer.

(Review request: http://reviews.vapour.ws/r/4054/)
Remove LXD LinkLocal and MachineLocal addresses.
fixes-bug#1552423
This changes the LXD client code so that calling Addresses no longer returns
local addresses. I tried just setting their Scope appropriately, but it
seems that we'll still treat them as addresses that we will try to use
for things like SSH.
We know that these addresses won't be accessible outside of the local
machine, so there is no reason for a Provider to be returning them.
We should still see them when we look at SetMachineAddresses, but that
is fine, as we handle those addresses correctly.
provider/maas: make bridge script idempotent
If an interface was already bridged the script would create a stuttered
iface name and an additional bridge_ports option which is invalid. For
example:

  iface eth0 inet manual

  iface test-br-eth0 inet manual

  auto test-br-test-br-eth0
  iface test-br-test-br-eth0 inet static
    address 1.2.3.4
    netmask 255.255.255.0
    gateway 4.3.2.1
    bridge_ports eth0
    bridge_ports test-br-eth0

This is fixed by only adding a bridge if the iface does not have an
existing 'bridge_ports' option.

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

(cherry picked from commit 605940d)
Merge pull request #4636 from jameinel/lxd-remove-local-addresses-155…
…2423

Remove LXD LinkLocal and MachineLocal addresses.

fixes-1551842

This changes the LXD client code so that calling Addresses no longer returns
local addresses. I tried just setting their Scope appropriately, but it
seems that we'll still treat them as addresses that we will try to use
for things like SSH.
We know that these addresses won't be accessible outside of the local
machine, so there is no reason for a Provider to be returning them.
We should still see them when we look at SetMachineAddresses, but that
is fine, as we handle those addresses correctly.

(Review request: http://reviews.vapour.ws/r/4079/)
Merge pull request #4640 from frobware/master-lp1553915
provider/maas: make bridge script idempotent

Forward port from 1.25 of http://reviews.vapour.ws/r/4078/

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

(cherry picked from commit 605940d)

(Review request: http://reviews.vapour.ws/r/4083/)
Merge pull request #4626 from cherylj/fix-destroy-controller-help
Correct help text to suggest 'juju destroy-model'



(Review request: http://reviews.vapour.ws/r/4066/)
Merge branch master into feature-minver
`github.com/juju/juju/version` has migrated to `github.com/juju/version` and `github.com/juju/juju/jujuversion`.

Conflicts:
    agent/agent_test.go
    agent/format-1.16.go
    agent/format-1.16_whitebox_test.go
    agent/format-1.18_whitebox_test.go
    api/apiclient_test.go
    api/provisioner/provisioner.go
    api/provisioner/provisioner_test.go
    api/upgrader/unitupgrader_test.go
    api/upgrader/upgrader.go
    api/upgrader/upgrader_test.go
    apiserver/client/client.go
    apiserver/client/perm_test.go
    apiserver/modelmanager/modelmanager.go
    apiserver/modelmanager/modelmanager_test.go
    apiserver/params/environment.go
    apiserver/service/service.go
    apiserver/service/service_test.go
    cmd/envcmd/environmentcommand.go
    cmd/envcmd/environmentcommand_test.go
    cmd/juju/commands/bootstrap.go
    cmd/juju/commands/bootstrap_test.go
    cmd/juju/commands/main_test.go
    cmd/juju/commands/synctools_test.go
    cmd/juju/commands/upgradejuju.go
    cmd/juju/commands/upgradejuju_test.go
    cmd/jujud/agent/machine.go
    cmd/jujud/agent/upgrade.go
    cmd/jujud/agent/upgrade_test.go
    cmd/plugins/juju-metadata/toolsmetadata.go
    cmd/plugins/juju-metadata/toolsmetadata_test.go
    cmd/plugins/juju-metadata/validatetoolsmetadata_test.go
    cmd/supercommand.go
    container/kvm/live_test.go
    dependencies.tsv
    environs/jujutest/livetests.go
    environs/jujutest/tests.go
    environs/open_test.go
    environs/tools/tools_test.go
    juju/api_test.go
    juju/testing/conn.go
    provider/azure/environ_test.go
    provider/local/environ_test.go
    provider/local/environprovider.go
    provider/maas/environ_whitebox_test.go
    provider/maas/maas_test.go
    state/backups/storage.go
    state/environ.go
    state/state.go
    state/state_test.go
    state/toolstorage/tools.go
    upgrades/agentconfig_test.go
    upgrades/steps118_test.go
    upgrades/steps121_test.go
    upgrades/steps122_test.go
    upgrades/steps123_test.go
    upgrades/steps124_test.go
    upgrades/steps125_test.go
    upgrades/toolstorage_test.go
    version/version.go
    version/version_test.go
    worker/provisioner/container_initialisation_test.go
    worker/provisioner/lxc-broker.go
    worker/provisioner/provisioner_task.go
    worker/provisioner/provisioner_test.go
    worker/upgrader/upgrader.go
    worker/upgrader/upgrader_test.go
Contributor

kat-co commented Mar 8, 2016

$$merge$$

Contributor

jujubot commented Mar 8, 2016

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

Contributor

jujubot commented Mar 8, 2016

Build failed: Generating tarball failed
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/6709

Contributor

kat-co commented Mar 8, 2016

$$merge$$

Contributor

jujubot commented Mar 8, 2016

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

Contributor

jujubot commented Mar 8, 2016

Build failed: Generating tarball failed
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/6710

Contributor

kat-co commented Mar 8, 2016

$$merge$$

Contributor

jujubot commented Mar 8, 2016

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

Contributor

jujubot commented Mar 8, 2016

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

Contributor

kat-co commented Mar 8, 2016

$$merge$$

Contributor

jujubot commented Mar 8, 2016

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

Contributor

jujubot commented Mar 8, 2016

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

Contributor

kat-co commented Mar 8, 2016

$$merge$$

Contributor

jujubot commented Mar 8, 2016

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

Contributor

jujubot commented Mar 8, 2016

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

Contributor

kat-co commented Mar 9, 2016

$$merge$$

Contributor

jujubot commented Mar 9, 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 Mar 9, 2016

@jujubot jujubot merged commit 7e106de into juju:nate-minver Mar 9, 2016

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