Re: Juju devel 1.26-alpha2 is available for testing

2015-11-30 Thread Curtis Hovey-Canonical
There are other options to play with juju+lxd on trusty...

On Fri, Nov 27, 2015 at 2:26 PM, Rick Harding
 wrote:
>
> On Fri, Nov 27, 2015 at 11:35 AM Mark Shuttleworth  wrote:
>>
>> On 27/11/15 16:21, Aaron Bentley wrote:
>>
>> It's dependent on what compiler was used to create the jujud binary.
>> AIUI, the Ubuntu policy is that nothing goes into a distroseries which
>> cannot be compiled with the tools in that distroseries.  Thus the
>> jujud for Trusty is compiled with the version of Go provided by that
>> platform.
>>
>>
>> My understanding is that a Go 1.5 backport to Trusty is part of the
>> current cycle planned work.
>
>
> Yes, the work for Go 1.5 into Trusty moves forward. For this alpha it's not
> yet ready to provide the build so my understanding is that the alpha build
> for Trusty is done with the current outdated tool chain. Once the Go
> toolchain is updated for Trusty the builds released will be in order.
>
> Aaron, please correct me if I'm mistaken there.

The Juju clients and agents built with Go lang are statically
compiled. They are Ubuntu release agnostic. The wily-built Juju runs
fine on Trusty and Precise (and Centos 7). You can install the wily
juju-core and juju-local packages to play with the lxd feature now.

Per the conversation above, the Juju PPAs build with a deps that
provides the Juju teams minimum and preferred Golang. We used this to
get newer Gos for precise without waiting on Ubuntu. We plan to switch
to switch to Go 1.5 soon at a part of our plan to change Juju's
minimum version of Go.


-- 
Curtis Hovey
Canonical Cloud Development and Operations
http://launchpad.net/~sinzui

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-30 Thread Curtis Hovey-Canonical
There are other options to play with juju+lxd on trusty...

On Fri, Nov 27, 2015 at 2:26 PM, Rick Harding
 wrote:
>
> On Fri, Nov 27, 2015 at 11:35 AM Mark Shuttleworth  wrote:
>>
>> On 27/11/15 16:21, Aaron Bentley wrote:
>>
>> It's dependent on what compiler was used to create the jujud binary.
>> AIUI, the Ubuntu policy is that nothing goes into a distroseries which
>> cannot be compiled with the tools in that distroseries.  Thus the
>> jujud for Trusty is compiled with the version of Go provided by that
>> platform.
>>
>>
>> My understanding is that a Go 1.5 backport to Trusty is part of the
>> current cycle planned work.
>
>
> Yes, the work for Go 1.5 into Trusty moves forward. For this alpha it's not
> yet ready to provide the build so my understanding is that the alpha build
> for Trusty is done with the current outdated tool chain. Once the Go
> toolchain is updated for Trusty the builds released will be in order.
>
> Aaron, please correct me if I'm mistaken there.

The Juju clients and agents built with Go lang are statically
compiled. They are Ubuntu release agnostic. The wily-built Juju runs
fine on Trusty and Precise (and Centos 7). You can install the wily
juju-core and juju-local packages to play with the lxd feature now.

Per the conversation above, the Juju PPAs build with a deps that
provides the Juju teams minimum and preferred Golang. We used this to
get newer Gos for precise without waiting on Ubuntu. We plan to switch
to switch to Go 1.5 soon at a part of our plan to change Juju's
minimum version of Go.


-- 
Curtis Hovey
Canonical Cloud Development and Operations
http://launchpad.net/~sinzui

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Marco Ceppi
Okay, but I've added the LXD daily/stable PPA which installed `go version
go1.5.1 linux/amd64`. My question is, are the LXD features locked to an
Ubuntu release or is it dependent on checking platform ability at run time?
My point being, I have a trusty machine which has a more recent version of
golang and the latest stable LXD software installed. If Juju won't work
simply because it's trusty then I need to file a bug before 1.26.0 lands.

Marco

On Fri, Nov 27, 2015 at 11:04 AM Aaron Bentley 
wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
>
> On 2015-11-27 11:00 AM, Marco Ceppi wrote:
> > - Running Wily (LXD is installed by default)
> >
> >
> > For the LXD provider, I have the latest LXD installed on trusty,
> > will that work or is it hard-coded to wily+ ?
>
> It will not work.  Only platforms with Go 1.3 will work, because the
> LXD provider only builds with Go 1.3+.  See "Upgrading minimum Go
> version" in juju-dev for more discussion.
>
> Aaron
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v2
>
> iQEcBAEBCAAGBQJWWH75AAoJEK84cMOcf+9hWDwH/iuVczXD8UpRv1KZeXLK7AQC
> vaNY5jaUSwS3+lKGGimEdHHNwrMjH5FxEnMGqvQctRNbIgudCorL7nxEhM1J++3U
> vTus0MAe/le82t5PIos/wKHl4mNhVpxHA1x/mKmSW4CIiiA7us1v8ZOCxg/DKQen
> a+r6+/F8sne/2Q92dyIj02Vy/RN0HTKBz/3Royu0HZgdRbsJVpHaNObglvAbCbdc
> gErAMNPkzChiVceYAciqHUrmDA6FzeOB6Ep7J0kboIxJLiFf0oed0+z0Nt9qeMBE
> a+dJx+767D2B8iavpqr9thnIeoSqvH57Qzbaxev6sxnW2cQCHTN5PEY9hkODFy0=
> =dYa5
> -END PGP SIGNATURE-
>
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Marco Ceppi
Okay, but I've added the LXD daily/stable PPA which installed `go version
go1.5.1 linux/amd64`. My question is, are the LXD features locked to an
Ubuntu release or is it dependent on checking platform ability at run time?
My point being, I have a trusty machine which has a more recent version of
golang and the latest stable LXD software installed. If Juju won't work
simply because it's trusty then I need to file a bug before 1.26.0 lands.

Marco

On Fri, Nov 27, 2015 at 11:04 AM Aaron Bentley 
wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
>
> On 2015-11-27 11:00 AM, Marco Ceppi wrote:
> > - Running Wily (LXD is installed by default)
> >
> >
> > For the LXD provider, I have the latest LXD installed on trusty,
> > will that work or is it hard-coded to wily+ ?
>
> It will not work.  Only platforms with Go 1.3 will work, because the
> LXD provider only builds with Go 1.3+.  See "Upgrading minimum Go
> version" in juju-dev for more discussion.
>
> Aaron
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v2
>
> iQEcBAEBCAAGBQJWWH75AAoJEK84cMOcf+9hWDwH/iuVczXD8UpRv1KZeXLK7AQC
> vaNY5jaUSwS3+lKGGimEdHHNwrMjH5FxEnMGqvQctRNbIgudCorL7nxEhM1J++3U
> vTus0MAe/le82t5PIos/wKHl4mNhVpxHA1x/mKmSW4CIiiA7us1v8ZOCxg/DKQen
> a+r6+/F8sne/2Q92dyIj02Vy/RN0HTKBz/3Royu0HZgdRbsJVpHaNObglvAbCbdc
> gErAMNPkzChiVceYAciqHUrmDA6FzeOB6Ep7J0kboIxJLiFf0oed0+z0Nt9qeMBE
> a+dJx+767D2B8iavpqr9thnIeoSqvH57Qzbaxev6sxnW2cQCHTN5PEY9hkODFy0=
> =dYa5
> -END PGP SIGNATURE-
>
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Mark Shuttleworth
On 27/11/15 16:21, Aaron Bentley wrote:
> It's dependent on what compiler was used to create the jujud binary.
> AIUI, the Ubuntu policy is that nothing goes into a distroseries which
> cannot be compiled with the tools in that distroseries.  Thus the
> jujud for Trusty is compiled with the version of Go provided by that
> platform.

My understanding is that a Go 1.5 backport to Trusty is part of the
current cycle planned work.

Mark


signature.asc
Description: OpenPGP digital signature
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Eric Snow
On Fri, Nov 27, 2015 at 9:00 AM, Marco Ceppi  wrote:
> On Fri, Nov 27, 2015 at 9:37 AM Aaron Bentley 
> wrote:
>>  Requirements
>>
>> - Running Wily (LXD is installed by default)
>>
>
> For the LXD provider, I have the latest LXD installed on trusty, will that
> work or is it hard-coded to wily+ ?

It will work fine if using a juju built with Go 1.3+ (e.g. the juju
package on wily or building locally and using --upload-tools).  The
provider uses the LXD Go bindings which require Go 1.3+.  It is a
compile-time issue rather than a run-time check.

Until trusty ships with Go 1.3+ we cannot ship a Juju that depends on
the LXD Go bindings, thus the LXD provider is disabled if Juju is
compiled with anything older than Go 1.3.  As Aaron said, there's a
separate thread discussing how to solve the problem of getting the
latest full-featured Juju on trusty.

-eric

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Eric Snow
On Fri, Nov 27, 2015 at 9:00 AM, Marco Ceppi  wrote:
> On Fri, Nov 27, 2015 at 9:37 AM Aaron Bentley 
> wrote:
>>  Requirements
>>
>> - Running Wily (LXD is installed by default)
>>
>
> For the LXD provider, I have the latest LXD installed on trusty, will that
> work or is it hard-coded to wily+ ?

It will work fine if using a juju built with Go 1.3+ (e.g. the juju
package on wily or building locally and using --upload-tools).  The
provider uses the LXD Go bindings which require Go 1.3+.  It is a
compile-time issue rather than a run-time check.

Until trusty ships with Go 1.3+ we cannot ship a Juju that depends on
the LXD Go bindings, thus the LXD provider is disabled if Juju is
compiled with anything older than Go 1.3.  As Aaron said, there's a
separate thread discussing how to solve the problem of getting the
latest full-featured Juju on trusty.

-eric

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Pshem Kowalczyk
Hi,

Does this version support MAAS fabrics/subnets ?

kind regards
Pshem
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Aaron Bentley
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 2015-11-27 11:10 AM, Marco Ceppi wrote:
> Okay, but I've added the LXD daily/stable PPA which installed `go 
> version go1.5.1 linux/amd64`. My question is, are the LXD features 
> locked to an Ubuntu release or is it dependent on checking
> platform ability at run time?

It's dependent on what compiler was used to create the jujud binary.
AIUI, the Ubuntu policy is that nothing goes into a distroseries which
cannot be compiled with the tools in that distroseries.  Thus the
jujud for Trusty is compiled with the version of Go provided by that
platform.

> My point being, I have a trusty machine which has a more recent
> version of golang and the latest stable LXD software installed. If
> Juju won't work simply because it's trusty then I need to file a
> bug before 1.26.0 lands.

I recommend contributing to the "Upgrading minimum Go version" thread.

Aaron
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBCAAGBQJWWIMlAAoJEK84cMOcf+9h/GEH/0ftpREnqycLI0MM2bw7VjmM
LZw2dNfiyhnKQNYWlupjMOEYDJoTRwVrvI7fd0mpMTbM83060Jk66caMMsUF64Da
9pMBU9B5G8jIcrHc4JApSStfJOcHPX7rtnYcuCVET0XOEXSimLdpg+06jzU+3zYB
ByM5mCjWNGX33RUzbI96mJypyLy1nqPuJS0d7MXFSGu1U3LTniiCBZIlRJtXtnNt
9QRf86J7ERLLoH2fbL2DBPk5yN9s5X44/izDySBsxDYzzhqNpg6QPReQthRU1Ovh
QyJSFx4lVlaQMhGgrOEz4X+3LzU6A0MFIybivZ60LDWnJ1wvOKrKBC12lxjzIsg=
=xMRG
-END PGP SIGNATURE-

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Aaron Bentley
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 2015-11-27 11:00 AM, Marco Ceppi wrote:
> - Running Wily (LXD is installed by default)
> 
> 
> For the LXD provider, I have the latest LXD installed on trusty,
> will that work or is it hard-coded to wily+ ?

It will not work.  Only platforms with Go 1.3 will work, because the
LXD provider only builds with Go 1.3+.  See "Upgrading minimum Go
version" in juju-dev for more discussion.

Aaron
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBCAAGBQJWWH75AAoJEK84cMOcf+9hWDwH/iuVczXD8UpRv1KZeXLK7AQC
vaNY5jaUSwS3+lKGGimEdHHNwrMjH5FxEnMGqvQctRNbIgudCorL7nxEhM1J++3U
vTus0MAe/le82t5PIos/wKHl4mNhVpxHA1x/mKmSW4CIiiA7us1v8ZOCxg/DKQen
a+r6+/F8sne/2Q92dyIj02Vy/RN0HTKBz/3Royu0HZgdRbsJVpHaNObglvAbCbdc
gErAMNPkzChiVceYAciqHUrmDA6FzeOB6Ep7J0kboIxJLiFf0oed0+z0Nt9qeMBE
a+dJx+767D2B8iavpqr9thnIeoSqvH57Qzbaxev6sxnW2cQCHTN5PEY9hkODFy0=
=dYa5
-END PGP SIGNATURE-

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Rick Harding
On Fri, Nov 27, 2015 at 11:35 AM Mark Shuttleworth  wrote:

> On 27/11/15 16:21, Aaron Bentley wrote:
>
> It's dependent on what compiler was used to create the jujud binary.
> AIUI, the Ubuntu policy is that nothing goes into a distroseries which
> cannot be compiled with the tools in that distroseries.  Thus the
> jujud for Trusty is compiled with the version of Go provided by that
> platform.
>
>
> My understanding is that a Go 1.5 backport to Trusty is part of the
> current cycle planned work.
>

Yes, the work for Go 1.5 into Trusty moves forward. For this alpha it's not
yet ready to provide the build so my understanding is that the alpha build
for Trusty is done with the current outdated tool chain. Once the Go
toolchain is updated for Trusty the builds released will be in order.

Aaron, please correct me if I'm mistaken there.
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Marco Ceppi
On Fri, Nov 27, 2015 at 9:37 AM Aaron Bentley 
wrote:

> # juju-core 1.26-alpha2
>

This is probably the most anticipated release of the year. Looking forward
to trying out all the new features!


> ### LXD Provider
>
> The new LXD provider is the best way to use Juju locally.
>
> The state-server is no longer your host machine; it is now a LXC
> container. This keeps your host machine clean and allows you to utilize
> your local environment more like a traditional Juju environment. Because
> of this, you can test things like Juju high-availability without needing
> to utilize a cloud provider.
>
> The previous local provider remains functional for backwards
> compatibility.
>
>  Requirements
>
> - Running Wily (LXD is installed by default)
>
>
For the LXD provider, I have the latest LXD installed on trusty, will that
work or is it hard-coded to wily+ ?


> - Import the LXD cloud-images that you intend to deploy and register
>   an alias:
>
>   lxd-images import ubuntu trusty --alias ubuntu-trusty
>   lxd-images import ubuntu wily --alias ubuntu-wily
>
>   or register an alias for your existing cloud-images
>
>   lxc image alias create ubuntu-trusty 
>   lxc image alias create ubuntu-wily 
>
> - For alpha2, you must specify the "--upload-tools" flag when
>   bootstrapping the environment that will use trusty cloud-images.
>   This is because most of Juju's charms are for Trusty, and the
>   agent-tools for Trusty don't yet have LXD support compiled in.
>
> juju bootstrap --upload-tools
>
> "--upload-tools" is not required for deploying a wily state-server and
> wily services.
>
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Marco Ceppi
On Fri, Nov 27, 2015 at 9:37 AM Aaron Bentley 
wrote:

> # juju-core 1.26-alpha2
>

This is probably the most anticipated release of the year. Looking forward
to trying out all the new features!


> ### LXD Provider
>
> The new LXD provider is the best way to use Juju locally.
>
> The state-server is no longer your host machine; it is now a LXC
> container. This keeps your host machine clean and allows you to utilize
> your local environment more like a traditional Juju environment. Because
> of this, you can test things like Juju high-availability without needing
> to utilize a cloud provider.
>
> The previous local provider remains functional for backwards
> compatibility.
>
>  Requirements
>
> - Running Wily (LXD is installed by default)
>
>
For the LXD provider, I have the latest LXD installed on trusty, will that
work or is it hard-coded to wily+ ?


> - Import the LXD cloud-images that you intend to deploy and register
>   an alias:
>
>   lxd-images import ubuntu trusty --alias ubuntu-trusty
>   lxd-images import ubuntu wily --alias ubuntu-wily
>
>   or register an alias for your existing cloud-images
>
>   lxc image alias create ubuntu-trusty 
>   lxc image alias create ubuntu-wily 
>
> - For alpha2, you must specify the "--upload-tools" flag when
>   bootstrapping the environment that will use trusty cloud-images.
>   This is because most of Juju's charms are for Trusty, and the
>   agent-tools for Trusty don't yet have LXD support compiled in.
>
> juju bootstrap --upload-tools
>
> "--upload-tools" is not required for deploying a wily state-server and
> wily services.
>
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Aaron Bentley
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 2015-11-27 11:00 AM, Marco Ceppi wrote:
> - Running Wily (LXD is installed by default)
> 
> 
> For the LXD provider, I have the latest LXD installed on trusty,
> will that work or is it hard-coded to wily+ ?

It will not work.  Only platforms with Go 1.3 will work, because the
LXD provider only builds with Go 1.3+.  See "Upgrading minimum Go
version" in juju-dev for more discussion.

Aaron
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBCAAGBQJWWH75AAoJEK84cMOcf+9hWDwH/iuVczXD8UpRv1KZeXLK7AQC
vaNY5jaUSwS3+lKGGimEdHHNwrMjH5FxEnMGqvQctRNbIgudCorL7nxEhM1J++3U
vTus0MAe/le82t5PIos/wKHl4mNhVpxHA1x/mKmSW4CIiiA7us1v8ZOCxg/DKQen
a+r6+/F8sne/2Q92dyIj02Vy/RN0HTKBz/3Royu0HZgdRbsJVpHaNObglvAbCbdc
gErAMNPkzChiVceYAciqHUrmDA6FzeOB6Ep7J0kboIxJLiFf0oed0+z0Nt9qeMBE
a+dJx+767D2B8iavpqr9thnIeoSqvH57Qzbaxev6sxnW2cQCHTN5PEY9hkODFy0=
=dYa5
-END PGP SIGNATURE-

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Juju devel 1.26-alpha2 is available for testing

2015-11-27 Thread Aaron Bentley
# juju-core 1.26-alpha2

A new development release of Juju, juju-core 1.26-alpha2, is now
available.
This release replaces version 1.26-alpha1.


## Getting Juju

juju-core 1.26-alpha2 is available for Wily and backported to earlier
series in the following PPA:

https://launchpad.net/~juju/+archive/devel

Windows and OS X users will find installers at:

https://launchpad.net/juju-core/+milestone/1.26-alpha2

Development releases use the "devel" simple-streams. You must configure
the `agent-stream` option in your environments.yaml to use the matching
juju agents.

Upgrading from stable releases to development releases is not
supported. You can upgrade test environments to development releases
to test new features and fixes, but it is not advised to upgrade
production environments to 1.26-alpha2.


## Notable Changes

* Native support for charm bundles
* Unit agent improvements
* API login with macaroons
* LXD Provider
* Microsoft Azure Resource Manager provider

### Native support for charm bundles

The Juju 'deploy' command can now deploy a bundle. The Juju Quickstart
or Deployer plugins are not needed to deploy a bundle of charms. You can
deploy the mediawiki-single bundle like so:

juju deploy cs:bundle/mediawiki-single

Local bundles can be deployed by passing the path to the bundle. For
example:

juju deploy ./openstack/bundle.yaml

Local bundles can also be deployed from a local repository. Bundles
reside in the "bundle" subdirectory. For example, your local juju
repository might look like this:

juju-repo/
 |
 - trusty/
 - bundle/
   |
   - openstack/
 |
 - bundle.yaml

and you can deploy the bundle like so:

export JUJU_REPOSITORY="$HOME/juju-repo"
juju deploy local:bundle/openstack

Bundles, when deployed from the command line like this, now support
storage constraints. To specify how to allocate storage for a service, you
can add a "storage" key underneath a service, and under "storage" add a
key for each store you want to allocate, along with the constraints. e.g.
say you're deploying ceph-osd, and you want each unit to have a 50GiB
disk:

ceph-osd:
...
storage:
osd-devices: 50G

Because a bundle should work across cloud providers, the constraints in
the bundle should not specify a pool/storage provider, and just use the
default for the cloud. To customize how storage is allocated, you can use
the "--storage" flag with a new bundle-specific format: --storage
service:store=constraints. e.g. say you you're deploying OpenStack, and
you want each unit of ceph-osd to have 3x50GiB disks:

juju deploy ./openstack/bundle.yaml --storage
ceph-osd:osd-devices=3,50G


### Unit agent improvements

We've made improvements to worker lifecycle management in the unit agent
in this release. The resource dependencies (API connections, locks,
etc.) shared among concurrent workers that comprise the agent are now
well-defined, modeled and coordinated by an engine, in a design inspired
by Erlang supervisor trees.

This improves the long-term testability of the unit agent, and should
improve the agent's resilience to failure. This work also allows hook
contexts to execute concurrently, which supports features in development
targeting 2.0.


### API login with macaroons

Added an alternative API login method based on macaroons in support of a
new charm publishing workflow targeting 16.04.


### LXD Provider

The new LXD provider is the best way to use Juju locally.

The state-server is no longer your host machine; it is now a LXC
container. This keeps your host machine clean and allows you to utilize
your local environment more like a traditional Juju environment. Because
of this, you can test things like Juju high-availability without needing
to utilize a cloud provider.

The previous local provider remains functional for backwards
compatibility.

 Requirements

- Running Wily (LXD is installed by default)

- Import the LXD cloud-images that you intend to deploy and register
  an alias:

  lxd-images import ubuntu trusty --alias ubuntu-trusty
  lxd-images import ubuntu wily --alias ubuntu-wily

  or register an alias for your existing cloud-images

  lxc image alias create ubuntu-trusty 
  lxc image alias create ubuntu-wily 

- For alpha2, you must specify the "--upload-tools" flag when
  bootstrapping the environment that will use trusty cloud-images.
  This is because most of Juju's charms are for Trusty, and the
  agent-tools for Trusty don't yet have LXD support compiled in.

juju bootstrap --upload-tools

"--upload-tools" is not required for deploying a wily state-server and
wily services.


 Specifying a LXD Environment

In you environments.yaml, you'll now find a block for LXD providers:

lxd:
type: lxd
# namespace identifies the namespace to associate with containers
# created by the provider.  It is prepended to the container names.
# By default the environment's name