General Charm Updates

Icehouse support for 12.04 and 14.04

All OpenStack charms now support deployment of OpenStack 2014.1 (Icehouse) on Ubuntu 12.04 LTS and Ubuntu 14.04 LTS; this support includes the following charms:

  • keystone
  • cinder
  • glance
  • nova-cloud-controller
  • nova-compute
  • quantum-gateway
  • swift-proxy
  • swift-storage
  • ceilometer
  • ceilometer-agent
  • heat

To deploy OpenStack Icehouse on Ubuntu 12.04, use the 'openstack-origin' configuration option, for example:

cat > config.yaml << EOF
  openstack-origin: cloud:precise-icehouse
juju deploy --config config.yaml nova-cloud-controller

OpenStack Icehouse is provided as the default OpenStack release on Ubuntu 14.04 so no additional configuration is required in 14.04 deployments.

Active/Active and SSL RabbitMQ

All OpenStack charms now feature support for use with the rabbitmq-server charm configured in native active/active HA mode. To deploy RabbitMQ in this mode:

juju deploy rabbitmq-server
juju add-unit -n 1 rabbitmq-server

Charms should be related to the rabbitmq-server charm as before:

juju add-relation cinder rabbitmq-server

The rabbitmq-server charm also now supports use of SSL connections, for example:

juju set rabbitmq-server ssl=only

This will force all RabbitMQ connections to operate over SSL. Options for the ssl config flag include:

  • 'only': configure RabbitMQ server over a SSL port only.
  • 'off': configure RabbitMQ server over a non-SSL port only.
  • 'both': configure RabbitMQ server with SSL and non-SSL ports.

NOTE: This feature is not yet compatible with RabbitMQ server in native Active/Active HA mode.

Active/Active MySQL

Ubuntu 14.04 includes the first distribution release of Percona XtraDB Cluster 5.5, a MySQL alternative that supports active/active clustering using the Galera wsrep synchronous replication extensions. This can be deployed as a drop-in replace for the mysql charm in an Ubuntu 14.04 OpenStack deployment:

juju deploy --config config.yaml cs:~openstack-charmers/trusty/percona-cluster
juju add-unit -n 2 percona-cluster
juju deploy hacluster pxc-hacluster
juju add-relation pxc-hacluster percona-cluster
juju add-relation cinder percona-cluster

For full details of how to deploy the percona-cluster charm, please refer to its README.


Support for use of PostgreSQL as the database for OpenStack components has been added to the OpenStack charms. This feature can be used by deploying the postgresql charm and relating services to it - for example:

juju deploy postgresql
juju add-relation cinder postgresql:db

The nova-cloud-controller charm requires access to two databases (neutron and nova), so the procedure is slightly different:

juju add-relation nova-cloud-controller:pgsql-nova-db postgresql:db
juju add-relation nova-cloud-controller:pgsql-neutron-db postgresql:db

NOTE: Its not possible to switch an existing MySQL deployment to PostgreSQL - the charms will error and fail-safe if you try to do this.

Upgrading 12.04 deployments to Icehouse

WARNING: Upgrading an OpenStack deployment is always a non-trivial process. The OpenStack charms automate alot of the process, however always plan and test your upgrade prior to upgrading production OpenStack environments.

Existing Havana and Grizzly deployments of OpenStack on Ubuntu 12.04 can be upgraded to Icehouse by issuing:

juju upgrade-charm <charm-name>
juju set <charm-name> openstack-origin=cloud:precise-icehouse

for each OpenStack charm in your deployment. Services which cannot be upgraded directly from Grizzly->Icehouse will be stepped automatically through the Havana release first.

New Charm Features

Neutron - modular layer 2 plugin

The nova-cloud-controller, nova-compute and quantum-gateway charms will deploy the Modular Layer 2 (ml2) plugin, using the Open vSwitch L2 driver and GRE tunnelling, by default for Icehouse.

Existing Havana deployments using the older Open vSwitch (ovs) plugin will be automatically migrated to the ml2 plugin on upgrade.

Neutron - enabled extensions

The following extensions/drivers have been enabled for Icehouse deployments:

  • Metering
  • Load Balancing as-a Service - using the default haproxy implementation.
  • Firewall as-a Service - using the default iptables implementation
  • VPN as-a Service - using OpenSwan IPSec VPN.

Swift - default middleware

The following middleware has been added to the default swift-proxy pipeline for OpenStack Icehouse:

  • gatekeeper
  • staticweb
  • bulk
  • slo - static large objects
  • dlo - dynamic large objects
  • tempurl
  • formpost
  • container-quotas
  • account-quotas
  • container_sync

In addition, container versioning has also been enabled in the swift-storage charm.

For more details on these features, please refer to the upstream documentation.

Cinder - multiple backend support

The cinder charm has been extended to support use with multiple storage backends, allowing a single cinder deployment to manage multiple types of block storage.

The first implementation of this charm feature is a refactoring of the ceph integration into a new cinder-ceph backend:

juju deploy cinder
juju deploy -n 3 ceph
juju deploy cinder-ceph
juju add-relation cinder-ceph ceph
juju add-relation cinder cinder-ceph

Note that the cinder charm retains its existing ceph support as well.

Support for new storage backends is anticipated as a result of activity in Canonical's OIL programme for OpenStack interoperability testing.

TrustyTahr/ReleaseNotes/OpenStackCharms (last edited 2014-04-16 16:39:18 by adam-collard)