OpenStack Charm work for Saucy/Havana

Registered by James Page

General improvements to OpenStack Charms; specifically:

1) Rationalize charms to all be python based
2) Unit testing
3) Consolidate openstack-charm-helpers (see also charmsupport from Canonical IS)
4) Automated testing of proposed changes (including regression testing back to essex)

The current shell based charms are becoming hard to support; we have todo all work twice for reusable bits (sh and python).
Work is being duplicated across several groups of charmers.

Blueprint information

Dave Walker
Ubuntu Server
Series goal:
Accepted for saucy
Milestone target:
milestone icon ubuntu-13.10
Started by
Dave Walker

Related branches


User stories:

John is maintaining some openstack juju charms. When he wants to push a change affecting multiple charms, he does not want to duplicate his work across bash and shell.

Mike wants to ensure deploying specific configuration of OpenStack is supported and tested.

Bob from Bob's Super Storage Systems Inc wants to easily deploy his cinder plugin alongside our Juju charms without making changes to the cinder charm itself.


Charm changes break backward comparability with existing upstream charms.
Network configuration being added to charms may conflict with future work in MAAS/Juju wrt network abstraction.

Test Plan:

Implement some automated integration testing on all charm changes, as specified in WIs.

Release Notes:



Work Items

Work items for ubuntu-13.08:
[andreserl] glance python rewrite: DONE
[gandelman-a] cinder python rewrite: DONE
[gandelman-a] swift-storage python rewrite: DONE
[gandelman-a] nova-compute python rewrite: DONE
[gandelman-a] nova-cloud-controller python rewrite: DONE
[james-page] openstack-dashboard python rewrite: DONE
[james-page] quantum-gateway python redux: DONE
Integrate current openstack-charm-helpers into lp:charm-helpers: DONE
[gandelman-a] Automate basic smoke test of proposed charm change: DONE
[gandelman-a] Merge back all Grizzly charm work to charm store ASAP: DONE
[gandelman-a] Drop nova-cloud-controller quantum network configuration: DONE

Work items for ubuntu-13.09:
[james-page] Add support for neutron rename/havana upgrades to quantum-gateway (0.5): DONE
Update wiki with simple juju-deployer bundle (.25): DONE
subordinate -> templated-based principle config refactoring (1): DONE
Design + implement subordinate approach to principle charm configuration (1): DONE
Write a really good network charmhelper (1): POSTPONED
Add support for automatic network interface configuration to charms (1): DONE
Implement relation scrubbing for all multi-unit services (1): POSTPONED

Work items for ubuntu-13.10:
[gandelman-a] keystone public endpoint SSL (1): POSTPONED
[jamespage] Update quantum-gateway to support single-NIC deployment (2): POSTPONED
Update keystone charm to use new charmhelpers (1): POSTPONED
Update swift-proxy charm to use new charmhelpers (1): DONE
Avaliability zone configuration for nova-compute and cinder (1): DONE
Implement support for openstack reference network architectures in charms (2): POSTPONED

Work items:
[yolanda.robla] Investigate backup and monitoring interfaces across OpenStack charms (.5): POSTPONED
Rewrite the Neutron charm integration ala Cinder style (2): POSTPONED
Implement targetted test for HA aspects of charms (~): POSTPONED
[james-page] Redux ceilometer and ceilometer-agent charms for new charmhelpers (1): INPROGRESS
[james-page] Submit ceilometer charms to the charm-store (.5): TODO
[james-page] Update swift-proxy to support ceilometer (1): TODO
Design for openstack reference network architectures for charms (~): POSTPONED

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.