Juju Charm - Ceph OSD
Go to file
Chris Holcombe 5b2cebfdc4 Rolling upgrades of ceph osd cluster
This change adds functionality to allow the ceph osd cluster to
upgrade in a serial rolled fashion.  This will use the ceph monitor
cluster to lock and allows only 1 ceph osd server at a time to upgrade.
The upgrade is initiated setting a config value for source for the
service which will prompt the osd cluster to upgrade to that new
source and restart all osds processes server by server.  If an osd
server has been waiting on a previous server for more than 10 minutes
and hasn't seen it finish it will assume it died during the upgrade
and proceed with its own upgrade.

I had to modify the amulet test slightly to use the ceph-mon charm
instead of the default ceph charm.  I also changed the test so that
it uses 3 ceph-osd servers instead of 1.

Limtations of this patch: If the osd failure domain has been set to osd
than this patch will cause brief temporary outages while osd processes
are being restarted.  Future work will handle this case.

Change-Id: Id9f89241f3aebe4886310e9b208bcb19f88e1e3e
2016-03-23 10:22:04 -07:00
actions Add support for replacing a failed OSD drive 2016-03-17 08:41:15 -07:00
files [bradm] Removed nagios check files that were moved to nrpe-external-master charm 2014-11-18 11:06:09 +10:00
hooks Rolling upgrades of ceph osd cluster 2016-03-23 10:22:04 -07:00
templates Rolling upgrades of ceph osd cluster 2016-03-23 10:22:04 -07:00
tests Rolling upgrades of ceph osd cluster 2016-03-23 10:22:04 -07:00
unit_tests Rolling upgrades of ceph osd cluster 2016-03-23 10:22:04 -07:00
.coveragerc Add unit tests for service status 2015-10-06 21:15:38 +01:00
.gitignore Add support for replacing a failed OSD drive 2016-03-17 08:41:15 -07:00
.gitreview Add gitreview prior to migration to openstack 2016-02-24 21:53:28 +00:00
.project Initial ceph-osd charm 2012-10-08 15:07:16 +01:00
.pydevproject Add unit tests for service status 2015-10-06 21:15:38 +01:00
.testr.conf Add tox support 2015-10-30 11:22:54 +09:00
actions.yaml Add support for replacing a failed OSD drive 2016-03-17 08:41:15 -07:00
charm-helpers-hooks.yaml Rolling upgrades of ceph osd cluster 2016-03-23 10:22:04 -07:00
charm-helpers-tests.yaml Move charm-helpers-sync.yaml to charm-helpers-hooks.yaml and 2014-09-27 02:28:51 +00:00
config.yaml support Ceph's --dmcrypt flag for OSD preparation 2016-03-03 17:03:30 -05:00
copyright Initial ceph-osd charm 2012-10-08 15:07:16 +01:00
icon.svg Add ceph icon 2013-06-25 14:04:30 +01:00
Makefile Use tox in Makefile targets 2016-03-15 20:12:08 -07:00
metadata.yaml Update maintainer 2015-11-18 10:30:34 +00:00
README.md Resync with ceph charm, updates for raring 2012-12-17 10:31:03 +00:00
requirements.txt resync requirements with openstack upstream 2015-10-30 15:05:27 +09:00
revision [hopem] Added use-syslog cfg option to allow logging to syslog 2014-03-25 18:44:23 +00:00
setup.cfg Add unit tests for service status 2015-10-06 21:15:38 +01:00
test-requirements.txt resync requirements with openstack upstream 2015-10-30 15:05:27 +09:00
TODO Enable cephx support by default 2012-10-09 12:19:16 +01:00
tox.ini Add support for replacing a failed OSD drive 2016-03-17 08:41:15 -07:00

Overview

Ceph is a distributed storage and network file system designed to provide excellent performance, reliability, and scalability.

This charm deploys additional Ceph OSD storage service units and should be used in conjunction with the 'ceph' charm to scale out the amount of storage available in a Ceph cluster.

Usage

The charm also supports specification of the storage devices to use in the ceph cluster::

osd-devices:
    A list of devices that the charm will attempt to detect, initialise and
    activate as ceph storage.
    
    This this can be a superset of the actual storage devices presented to
    each service unit and can be changed post ceph-osd deployment using
    `juju set`.

For example::

ceph-osd:
    osd-devices: /dev/vdb /dev/vdc /dev/vdd /dev/vde

Boot things up by using::

juju deploy -n 3 --config ceph.yaml ceph

You can then deploy this charm by simple doing::

juju deploy -n 10 --config ceph.yaml ceph-osd
juju add-relation ceph-osd ceph

Once the ceph charm has bootstrapped the cluster, it will notify the ceph-osd charm which will scan for the configured storage devices and add them to the pool of available storage.

Contact Information

Author: James Page james.page@ubuntu.com Report bugs at: http://bugs.launchpad.net/charms/+source/ceph-osd/+filebug Location: http://jujucharms.com/charms/ceph-osd