Juju stable 1.21.1 is released

2015-01-29 Thread Curtis Hovey-Canonical
# juju-core 1.21.1

A new stable release of Juju, juju-core 1.21.1, is now available.
This release replaces 1.20.14.


## Getting Juju

juju-core 1.21.1 is available for utopic and backported to earlier
series in the following PPA:

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

Windows and OS X users will find installers at:

https://launchpad.net/juju-core/+milestone/1.21.1



## Notable Changes

  * Selecting provisioner harvest modes
  * Using apt mirrors
  * Configuring OS update and upgrade for faster provisioning
  * Using daily image streams for faster provisioning
  * Selecting the agent stream to get alternate version of Juju
  * Tuning Juju to take advantage of NUMA
  * Configuring the MAAS network rules
  * Improved availability zone selection in Openstack and MAAS
  * Juju now prefers SSD storage in AWS
  * Adding many machines
  * Choosing the nodes used to ensure high availability
  * Inspecting the API connection settings
  * Managing who can connect to the Juju environment
  * Upgrade robustness
  * Rebooting units from charm hooks
  * Improvements to ports management for charms
  * Developing Juju providers for clouds without storage
  * More mirrors for faster bootstraps


### Selecting provisioner harvest modes

Juju keeps a model of what it thinks the environment looks like, and
based on that model, can harvest machines which it deems are no longer
required. This can help keep your costs low, and keep you out of web
consoles. Juju supports several harvesting modes to suit your needs.

Destroyed: Juju will harvest only machine instances that are marked as
dead, and that Juju knows about. Running instances unknown to Juju will
not be harvested. This is the default mode.

Unknown: Juju will harvest only instances that Juju does not know about.

All: Juju will terminate all instances – destroyed or unknown – that it
finds. This is a good option if you are only utilizing Juju for your
environment.

None: Juju won't harvest any machines. This is the most conservative
mode, and a good choice if you manage your machines utilizing a separate
process outside of Juju.

Juju's harvesting behaviour is set through the environments.yaml file.

provisioner-harvest-mode: MODE

'provisioner-harvest-mode' replaces 'safe-mode'. Environments with
'safe-mode' set will be converted to 'provisioner-harvest-mode' when
upgraded.


### Using apt mirrors

You can now configure 'apt-mirror' in environments.yaml to specify the
mirror used by all the machines provisioned in the environment:

apt-mirror: http://my.archive.ubuntu.com

On precise, the cloud tools archive is now pinned before calling apt
upgrade to ensure its packages are a lower priority than the default
precise archives. Charms developed on precise will see the same packages
when deployed into a Juju provisioned machine. If your precise charm
requires packages from the cloud tool's archive, you can use the
'target-release' option to specify the archive to select:

apt-get --target-release precise-updates/cloud-tools my-package


### Configuring OS update and upgrade for faster provisioning

When Juju provisions a machine, its default behaviour is to update the
list of available packages and upgrade the existing packages to the
latest version. If your OS images are fresh or the services you deploy
do not require updated packages, you can disable updates and upgrades to
provision the machine faster.

Two configuration options are available to disable apt updates and
upgrades. When your OS images are fresh, you can set both
'enable-os-refresh-update', and 'enable-os-upgrade' to false. When you
know that some charms want the latest packages to to set up services,
you will want to keep 'enable-os-refresh-update' set to true.

You can configure the options in environments.yaml for fast provisioning
like so:

enable-os-upgrade: false
enable-os-refresh-update: false

The local provider skips apt upgrades by default for faster
provisioning. If you wish to enable upgrades in your local
development, set 'enable-os-upgrade' to
true in your environments.yaml:

enable-os-upgrade: true

If you are using the local-provider to develop charms or test, you
will want to regularly purge the juju template and lxc caches to
be certain you are using fresh images. For example, before you start
testing a new trusty charm, you can remove the template and cloud
image like this:

sudo lxc-destroy -n juju-trusty-lxc-template
sudo rm -r /var/cache/lxc/cloud-trusty


### Using daily image streams for faster provisioning

Juju prefers to use the slow-changing released images when
provisioning machines. The 'image-stream' option in environments.yaml
can be set to daily use more up-to-date images, thus shortening the
time it takes to perform apt-get update/upgrade. While this feature has
existed since 1.18.0, it was not applied consistently to KVM containers.
KVM containers will now use daily when environments.yaml is set to:

image-stream: 

Juju stable 1.21.1 is released

2015-01-29 Thread Curtis Hovey-Canonical
# juju-core 1.21.1

A new stable release of Juju, juju-core 1.21.1, is now available.
This release replaces 1.20.14.


## Getting Juju

juju-core 1.21.1 is available for utopic and backported to earlier
series in the following PPA:

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

Windows and OS X users will find installers at:

https://launchpad.net/juju-core/+milestone/1.21.1



## Notable Changes

  * Selecting provisioner harvest modes
  * Using apt mirrors
  * Configuring OS update and upgrade for faster provisioning
  * Using daily image streams for faster provisioning
  * Selecting the agent stream to get alternate version of Juju
  * Tuning Juju to take advantage of NUMA
  * Configuring the MAAS network rules
  * Improved availability zone selection in Openstack and MAAS
  * Juju now prefers SSD storage in AWS
  * Adding many machines
  * Choosing the nodes used to ensure high availability
  * Inspecting the API connection settings
  * Managing who can connect to the Juju environment
  * Upgrade robustness
  * Rebooting units from charm hooks
  * Improvements to ports management for charms
  * Developing Juju providers for clouds without storage
  * More mirrors for faster bootstraps


### Selecting provisioner harvest modes

Juju keeps a model of what it thinks the environment looks like, and
based on that model, can harvest machines which it deems are no longer
required. This can help keep your costs low, and keep you out of web
consoles. Juju supports several harvesting modes to suit your needs.

Destroyed: Juju will harvest only machine instances that are marked as
dead, and that Juju knows about. Running instances unknown to Juju will
not be harvested. This is the default mode.

Unknown: Juju will harvest only instances that Juju does not know about.

All: Juju will terminate all instances – destroyed or unknown – that it
finds. This is a good option if you are only utilizing Juju for your
environment.

None: Juju won't harvest any machines. This is the most conservative
mode, and a good choice if you manage your machines utilizing a separate
process outside of Juju.

Juju's harvesting behaviour is set through the environments.yaml file.

provisioner-harvest-mode: MODE

'provisioner-harvest-mode' replaces 'safe-mode'. Environments with
'safe-mode' set will be converted to 'provisioner-harvest-mode' when
upgraded.


### Using apt mirrors

You can now configure 'apt-mirror' in environments.yaml to specify the
mirror used by all the machines provisioned in the environment:

apt-mirror: http://my.archive.ubuntu.com

On precise, the cloud tools archive is now pinned before calling apt
upgrade to ensure its packages are a lower priority than the default
precise archives. Charms developed on precise will see the same packages
when deployed into a Juju provisioned machine. If your precise charm
requires packages from the cloud tool's archive, you can use the
'target-release' option to specify the archive to select:

apt-get --target-release precise-updates/cloud-tools my-package


### Configuring OS update and upgrade for faster provisioning

When Juju provisions a machine, its default behaviour is to update the
list of available packages and upgrade the existing packages to the
latest version. If your OS images are fresh or the services you deploy
do not require updated packages, you can disable updates and upgrades to
provision the machine faster.

Two configuration options are available to disable apt updates and
upgrades. When your OS images are fresh, you can set both
'enable-os-refresh-update', and 'enable-os-upgrade' to false. When you
know that some charms want the latest packages to to set up services,
you will want to keep 'enable-os-refresh-update' set to true.

You can configure the options in environments.yaml for fast provisioning
like so:

enable-os-upgrade: false
enable-os-refresh-update: false

The local provider skips apt upgrades by default for faster
provisioning. If you wish to enable upgrades in your local
development, set 'enable-os-upgrade' to
true in your environments.yaml:

enable-os-upgrade: true

If you are using the local-provider to develop charms or test, you
will want to regularly purge the juju template and lxc caches to
be certain you are using fresh images. For example, before you start
testing a new trusty charm, you can remove the template and cloud
image like this:

sudo lxc-destroy -n juju-trusty-lxc-template
sudo rm -r /var/cache/lxc/cloud-trusty


### Using daily image streams for faster provisioning

Juju prefers to use the slow-changing released images when
provisioning machines. The 'image-stream' option in environments.yaml
can be set to daily use more up-to-date images, thus shortening the
time it takes to perform apt-get update/upgrade. While this feature has
existed since 1.18.0, it was not applied consistently to KVM containers.
KVM containers will now use daily when environments.yaml is set to:

image-stream: 

Re: Juju stable 1.21.1 is released

2015-01-29 Thread Marco Ceppi
WOW! What an action packed release! Great job to all the people who
reported bugs, hacked on code, and helped release this!

On Thu Jan 29 2015 at 12:03:07 PM Curtis Hovey-Canonical 
cur...@canonical.com wrote:

 # juju-core 1.21.1

 A new stable release of Juju, juju-core 1.21.1, is now available.
 This release replaces 1.20.14.


 ## Getting Juju

 juju-core 1.21.1 is available for utopic and backported to earlier
 series in the following PPA:

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

 Windows and OS X users will find installers at:

 https://launchpad.net/juju-core/+milestone/1.21.1



 ## Notable Changes

   * Selecting provisioner harvest modes
   * Using apt mirrors
   * Configuring OS update and upgrade for faster provisioning
   * Using daily image streams for faster provisioning
   * Selecting the agent stream to get alternate version of Juju
   * Tuning Juju to take advantage of NUMA
   * Configuring the MAAS network rules
   * Improved availability zone selection in Openstack and MAAS
   * Juju now prefers SSD storage in AWS
   * Adding many machines
   * Choosing the nodes used to ensure high availability
   * Inspecting the API connection settings
   * Managing who can connect to the Juju environment
   * Upgrade robustness
   * Rebooting units from charm hooks
   * Improvements to ports management for charms
   * Developing Juju providers for clouds without storage
   * More mirrors for faster bootstraps


 ### Selecting provisioner harvest modes

 Juju keeps a model of what it thinks the environment looks like, and
 based on that model, can harvest machines which it deems are no longer
 required. This can help keep your costs low, and keep you out of web
 consoles. Juju supports several harvesting modes to suit your needs.

 Destroyed: Juju will harvest only machine instances that are marked as
 dead, and that Juju knows about. Running instances unknown to Juju will
 not be harvested. This is the default mode.

 Unknown: Juju will harvest only instances that Juju does not know about.

 All: Juju will terminate all instances – destroyed or unknown – that it
 finds. This is a good option if you are only utilizing Juju for your
 environment.

 None: Juju won't harvest any machines. This is the most conservative
 mode, and a good choice if you manage your machines utilizing a separate
 process outside of Juju.

 Juju's harvesting behaviour is set through the environments.yaml file.

 provisioner-harvest-mode: MODE

 'provisioner-harvest-mode' replaces 'safe-mode'. Environments with
 'safe-mode' set will be converted to 'provisioner-harvest-mode' when
 upgraded.


 ### Using apt mirrors

 You can now configure 'apt-mirror' in environments.yaml to specify the
 mirror used by all the machines provisioned in the environment:

 apt-mirror: http://my.archive.ubuntu.com

 On precise, the cloud tools archive is now pinned before calling apt
 upgrade to ensure its packages are a lower priority than the default
 precise archives. Charms developed on precise will see the same packages
 when deployed into a Juju provisioned machine. If your precise charm
 requires packages from the cloud tool's archive, you can use the
 'target-release' option to specify the archive to select:

 apt-get --target-release precise-updates/cloud-tools my-package


 ### Configuring OS update and upgrade for faster provisioning

 When Juju provisions a machine, its default behaviour is to update the
 list of available packages and upgrade the existing packages to the
 latest version. If your OS images are fresh or the services you deploy
 do not require updated packages, you can disable updates and upgrades to
 provision the machine faster.

 Two configuration options are available to disable apt updates and
 upgrades. When your OS images are fresh, you can set both
 'enable-os-refresh-update', and 'enable-os-upgrade' to false. When you
 know that some charms want the latest packages to to set up services,
 you will want to keep 'enable-os-refresh-update' set to true.

 You can configure the options in environments.yaml for fast provisioning
 like so:

 enable-os-upgrade: false
 enable-os-refresh-update: false

 The local provider skips apt upgrades by default for faster
 provisioning. If you wish to enable upgrades in your local
 development, set 'enable-os-upgrade' to
 true in your environments.yaml:

 enable-os-upgrade: true

 If you are using the local-provider to develop charms or test, you
 will want to regularly purge the juju template and lxc caches to
 be certain you are using fresh images. For example, before you start
 testing a new trusty charm, you can remove the template and cloud
 image like this:

 sudo lxc-destroy -n juju-trusty-lxc-template
 sudo rm -r /var/cache/lxc/cloud-trusty


 ### Using daily image streams for faster provisioning

 Juju prefers to use the slow-changing released images when
 provisioning machines. The 'image-stream' option in environments.yaml