Project

General

Profile

Rbd - cloud management platform features » History » Version 2

Jessica Mack, 06/22/2015 12:24 AM

1 1 Jessica Mack
h1. Rbd - cloud management platform features
2 1 Jessica Mack
3 1 Jessica Mack
h3. Summary
4 1 Jessica Mack
5 1 Jessica Mack
This blueprint is a placeholder for updating various cloud management platforms (OpenStack, Cloudstack, etc.) for better ceph integration.
6 1 Jessica Mack
7 1 Jessica Mack
h3. Owners
8 1 Jessica Mack
9 1 Jessica Mack
* Name (Affiliation)
10 1 Jessica Mack
* Name (Affiliation)
11 1 Jessica Mack
* Name
12 1 Jessica Mack
13 1 Jessica Mack
h3. Interested Parties
14 1 Jessica Mack
15 1 Jessica Mack
* Daniele Stroppa (ZHAW)
16 1 Jessica Mack
* Sébastien Han (eNovance)
17 1 Jessica Mack
* Josh Durgin
18 1 Jessica Mack
* Name
19 1 Jessica Mack
20 1 Jessica Mack
h3. Current Status
21 1 Jessica Mack
22 1 Jessica Mack
There has been a large amount of work integrating ceph (and rbd in particular) with various cloud management platforms. What features are in some but not others? What features are missing from all of them, or need better documentation or ease of use?       
23 1 Jessica Mack
24 1 Jessica Mack
h3. Detailed Description
25 1 Jessica Mack
26 1 Jessica Mack
h4. All
27 1 Jessica Mack
28 1 Jessica Mack
* flatten automatically when clone chains are too long
29 1 Jessica Mack
* flatten children automatically when deleting a parent snapshot with fewer than N children (otherwise flatten and delete the parent snapshot (and image if it's supposedly deleted) when fewer than N children remain).
30 1 Jessica Mack
* taking advantage of new ceph features
31 2 Jessica Mack
** namespace support (see [[rbd - namespace support]])
32 1 Jessica Mack
*** create rados client for each tenant and put new volumes in namespace named after tenant
33 1 Jessica Mack
*** pass tenant id and key to compute node
34 1 Jessica Mack
*** maybe store tenant's keys in separate service (Barbican for OpenStack?)
35 1 Jessica Mack
** configuring localized or balanced reads
36 1 Jessica Mack
** configuring local shared cache per compute node (maybe this is just running a daemon, with configuration for guests to use it)
37 1 Jessica Mack
** adjusting write-back cache parameters (size etc.)
38 1 Jessica Mack
** configuring copy-on-read
39 1 Jessica Mack
40 1 Jessica Mack
h4. OpenStack
41 1 Jessica Mack
42 1 Jessica Mack
* once auto-flattening is in place, clone_volume in cinder can be implemented with an rbd clone instead of the plain copy it's currently using
43 1 Jessica Mack
44 1 Jessica Mack
h4. CloudStack
45 1 Jessica Mack
46 1 Jessica Mack
* snapshot and create_from_snapshot (clone) support
47 1 Jessica Mack
* backing up to rbd (using diffs between snapshots as a bonus)
48 1 Jessica Mack
* configuring rbd caching
49 1 Jessica Mack
50 1 Jessica Mack
h3. Work items
51 1 Jessica Mack
52 1 Jessica Mack
h4. Coding tasks
53 1 Jessica Mack
54 1 Jessica Mack
# OpenStack: implement direct url for RBD in nova while booting (ie: https://review.openstack.org/#/c/37817/) (leseb)
55 1 Jessica Mack
# OpenStack: implement RBD stripe_unit, stripe_count and rbd_chunk_size with Cinder (I already coded this, I just need some tests then I'll push it) (leseb)
56 1 Jessica Mack
# OpenStack: Ability to store snapshots and images to different places (ie: https://blueprints.launchpad.net/glance/+spec/ability-to-separate-snapshots-and-images); Glance's folks where quite entousiastic about this, but weren't sure if it should be either in Glance or Nova. (leseb) It seems like Glance is missing a level of indirection between users and backend stores (joshd)
57 1 Jessica Mack
# OpenStack: Join the LFS initiative to build a transparent fronted API for Object Stores (leseb) => rgw see http://www.mail-archive.com/ceph-devel@vger.kernel.org/msg15479.html
58 1 Jessica Mack
# OpenStack: hopefully this code https://review.openstack.org/#/c/36042/ will land into Havana, then as soon as it's implement. The depreciation work must start by joining the 'brick' implementation. (leseb)
59 1 Jessica Mack
# OpenStack: enhance user experience by allowing to set the body of the RBD image. Not sure if makes sense right now, we better discuss that. It's definitely end-user oriented (ex: cinder create --metadata stripe_count=16 stripe_unit=65536 --display-name=tiny-ios 10).(leseb)
60 1 Jessica Mack
61 1 Jessica Mack
h4. Build / release tasks
62 1 Jessica Mack
63 1 Jessica Mack
# Task 1
64 1 Jessica Mack
# Task 2
65 1 Jessica Mack
# Task 3
66 1 Jessica Mack
67 1 Jessica Mack
h4. Documentation tasks
68 1 Jessica Mack
69 1 Jessica Mack
# OpenStack: the Havana cycle brought some changes and made configuration easier, this has to be documented. (leseb)
70 1 Jessica Mack
# Task 2
71 1 Jessica Mack
# Task 3
72 2 Jessica Mack
73 1 Jessica Mack
h4. Deprecation tasks
74 1 Jessica Mack
75 1 Jessica Mack
# Task 1
76 1 Jessica Mack
# Task 2
77 1 Jessica Mack
# Task 3