Increment juju to 1.20.6
Merge pull request #537 from sinzui/inc-1.20.6

Increment juju to 1.20.6

Increment juju stable to 1.20.6.
environs/cloudinit: use actual tools version in bootstrap agent.conf

The upgradedToVersion field in the bootstrap machine agent's config
will now match the tools version that's it's going to use, instead of
the version of the client. This avoids unnecesarily triggering
upgrades at bootstrap time (fixing bug #1358078).
provider/azure: custom data test needs to provide a real tools version

...now that MachineConfig.Tools is used to populate upgradedToVersion
in the initial agent.conf.
When starting LXC containers for localprovider, allow tools to be copied in from mounted host dir
go fmt
Patch IsKVMSupported so tests pass on bot
Merge pull request #538 from mjs/1358078-avoid-upgrade-with-bootstrap-upload-tools-1.20

environs/cloudinit: use actual tools version in bootstrap agent.conf (1.20 backport)

The upgradedToVersion field in the bootstrap machine agent's config will now match the tools version that's it's going to use, instead of the version of the client. This avoids unnecessarily triggering upgrades at bootstrap time (fixing bug #1358078).

This is the 1.20 backport of https://github.com/juju/juju/pull/535.
upgrades: added AreUpgradesDefined

This function return true if there are upgrade operations defined
between the version specified and the running software version. The
logic shared by this and PerformUpgrade has been extracted to an
iterator.
cmd/jujud: avoid entering upgrade mode if no upgrade is required

This is a backport of what has already been merged in to trunk.
Patch VerifyPrerequisites so tests pass on bot
Merge pull request #539 from wallyworld/lxc-tools-dir

Copy tools from mounted dir for lxc containers for local provider

Fixes bug: 1357552

Looking at the logs, Juju was unable to curl tools from the http storage server set up for local provider. But only for some containers. This branch makes it so that for lxc containers for local provider, the directory where the tools are built is mounted into the container. The tools URL is patched to point to this location, and thus cloud init performs a file copy rather than an http get.

This is a fix for 1.20 only, since http storage is going away in trunk.

Tested with local provider and also regression tested creating lxc containers on an AWS deployment.
Merge pull request #542 from mjs/1350111-avoid-unnecessary-upgrade-mode-1.20

Avoid unnecessary upgrade mode (v1.20)

This is rehashed backport of various changes from trunk which ensure the machine agent doesn't enter upgrade mode unless it actually needs to. 

The consequences of entered upgrade mode aren't as severe in 1.20 as in 1.21 (API isn't restricted for users) but it's still worth making these changes.