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 nova-cloud-controller: openstack-origin: cloud:precise-icehouse EOF 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.
PostgreSQL
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.