Ceph Object Integration with OpenStack

Registered by Chuck Short

Rationale:

Ceph provides a solid, horizontally scalable object storage solution which may be key in future Ubuntu and OpenStack development.

We should ensure that the Ceph packages in Ubuntu are up-to-date and well tested during the Quantal development cycle.

Goal:

Deliver an up-to-date and well tested set of Ceph packages.

Whiteboard

Status - 20120720:

0.48 release in Ubuntu quantal (merged from Debian)
MIR for in-tree dependencies approved - now using leveldb and libs3 from archive.
MIR for libfcgi, radosgw - upstream now located, initial +1 from MIR team - pending security team review.
MIR for google-perftools - still unallocated - will chase up.

UDS Discussion:

Glance has supported ceph as a a backend storage for the past couple of releases of openstack. We should make it as easy as possible for users to use ceph with glance. This could be an alternative for users who do not want to setup for a full swift setup. As discussed, the lack of Ceph intrgration with Keystone does not make the swift replacement story compelling anywhere else than as, eventually, a backend for glance.
Ceph has also worked on integrating RBD with nova-volume (now cinder) which makes it a nice candidate to provide a scalable backend for it.

Conclusion:
- we should make sure Ceph is well integrated on Ubuntu
- we should concentrate on the Ceph RBD integration with OpenStack Cinder

TODO

Upstream CEPH changed significantly just now.
keystone+ceph RADOS: no good story here right now

Arch issues are bugs.

User Stories:

Tony decides that he would like to use an alternative to Swift to support object storage in OpenStack. Ubuntu provides Ceph as a supported technology so he is able to integrate this into his customized OpenStack deployment.
nijaba: ceph does not provide an integration with keystone atm, so this would be lower prio than being able to use ceph as a backend for cinder (ex nova-volume)

Frank has a requirement for storing objects in a resilient, distributed fashion using a RESTful API. He selects Ceph on Ubuntu as a Canonical supported offering to meet this requirement.

June wants to get started quickly with Ceph; using the latest charm from the Juju charm store she is quickly and easily able to get a running Ceph cluster on bare metal using MAAS.

Nick wants to have a scalable and open source back-end for Cinder (ex nova-volume) which Ceph RBD could provide nicely.

Phil would like to use Ceph RADOS as a backend for Glance.

Assumptions:

- Ceph will not replace swift as the default supported image store during 12.10
- All testing will be functional and not performance/benchmark driven.
- Ceph will remain the Ubuntu main

Test Plans:

- Test Ceph using XFS based storage.

- Test Ceph using BTRFS based storage.

- Test Charm

Release Note:

Ubuntu 12.10 provides Ceph 0.4x, a distributed object storage technology. Ceph has been tested with XFS and BTRFS during this development cycle.

(?)

Work Items

Work items for quantal-alpha-3:
[james-page] Ceph 0.47.2 update for Ubuntu: DONE
[james-page] Ceph 0.48 update for Ubuntu: DONE
[james-page] Review MIR actions for ceph from last cycle: DONE
[james-page] Check on status of libvirt+rdb in quantal (supported == YES through qemu - currently lacks authentication due in 0.9.13): DONE

Work items for ubuntu-12.10-beta-1:
[james-page] Ceph 0.48.1 update for Ubuntu: DONE

Work items for ubuntu-12.10-beta-2:
[james-page] Remove in-tree dependencies: DONE
[james-page] Enable radosgw: DONE
[james-page] Enable use of google-perftools (test failures/glibc compat): DONE

Work items for ubuntu-12.10:
[james-page] Test ceph with XFS based storage: DONE
Test ceph rbd as backend to nova volume: DONE
Test ceph rdb as backend to glance: DONE
Determine the current state of ceph and keystone integration (specifically for radosgw): DONE
Investigate ceph backport via cloud archive (PPA for time being): POSTPONED
[james-page] Update juju charm for ceph to support more options and fix for indempotency: DONE
[james-page] Integrate Ceph into existing OpenStack charms: DONE

Dependency tree

* Blueprints in grey have been implemented.