~1chb1n/charms/trusty/cinder/next.normalize-makefile-test-deps

« back to all changes in this revision

Viewing changes to README.md

  • Committer: Adam Gandelman
  • Date: 2013-10-17 21:48:08 UTC
  • Revision ID: adamg@canonical.com-20131017214808-k52pya40bowxzg4i
Merging python-redux and havana work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Overview
 
2
--------
 
3
 
 
4
This charm provides the Cinder volume service for OpenStack.  It is intended to
 
5
be used alongside the other OpenStack components, starting with the Folsom
 
6
release.
 
7
 
 
8
Cinder is made up of 3 separate services: an API service, a scheduler and a
 
9
volume service.  This charm allows them to be deployed in different
 
10
combination, depending on user preference and requirements.
 
11
 
 
12
This charm was developed to support deploying Folsom on both
 
13
Ubuntu Quantal and Ubuntu Precise.  Since Cinder is only available for
 
14
Ubuntu 12.04 via the Ubuntu Cloud Archive, deploying this charm to a
 
15
Precise machine will by default install Cinder and its dependencies from
 
16
the Cloud Archive.
 
17
 
 
18
Usage
 
19
-----
 
20
 
 
21
Cinder may be deployed in a number of ways.  This charm focuses on 3 main
 
22
configurations.  All require the existence of the other core OpenStack
 
23
services deployed via Juju charms, specifically: mysql, rabbitmq-server,
 
24
keystone and nova-cloud-controller.  The following assumes these services
 
25
have already been deployed.
 
26
 
 
27
Basic, all-in-one using local storage and iSCSI
 
28
===============================================
 
29
 
 
30
The api server, scheduler and volume service are all deployed into the same
 
31
unit.  Local storage will be initialized as a LVM phsyical device, and a volume
 
32
group initialized.  Instance volumes will be created locally as logical volumes
 
33
and exported to instances via iSCSI.  This is ideal for small-scale deployments
 
34
or testing:
 
35
 
 
36
    cat >cinder.cfg <<END
 
37
    cinder:
 
38
        block-device: sdc
 
39
        overwrite: true
 
40
    END
 
41
    juju deploy --config=cinder.cfg cinder
 
42
    juju add-relation cinder keystone
 
43
    juju add-relation cinder mysql
 
44
    juju add-relation cinder rabbitmq-server
 
45
    juju add-relation cinder nova-cloud-controller
 
46
 
 
47
Separate volume units for scale out, using local storage and iSCSI
 
48
==================================================================
 
49
 
 
50
Separating the volume service from the API service allows the storage pool
 
51
to easily scale without the added complexity that accompanies load-balancing
 
52
the API server.  When we've exhausted local storage on volume server, we can
 
53
simply add-unit to expand our capacity.  Future requests to allocate volumes
 
54
will be distributed across the pool of volume servers according to the
 
55
availability of storage space.
 
56
 
 
57
    cat >cinder.cfg <<END
 
58
    cinder-api:
 
59
        enabled-services: api, scheduler
 
60
    cinder-volume:
 
61
        enabled-services: volume
 
62
        block-device: sdc
 
63
        overwrite: true
 
64
    END
 
65
    juju deploy --config=cinder.cfg cinder cinder-api
 
66
    juju deploy --config=cinder.cfg cinder cinder-volume
 
67
    juju add-relation cinder-api mysql
 
68
    juju add-relation cinder-api rabbitmq-server
 
69
    juju add-relation cinder-api keystone
 
70
    juju add-relation cinder-api nova-cloud-controller
 
71
    juju add-relation cinder-volume mysql
 
72
    juju add-relation cinder-volume rabbitmq-server
 
73
 
 
74
    # When more storage is needed, simply add more volume servers.
 
75
    juju add-unit cinder-volume
 
76
 
 
77
All-in-one using Ceph-backed RBD volumes
 
78
========================================
 
79
 
 
80
All 3 services can be deployed to the same unit, but instead of relying
 
81
on local storage to back volumes an external Ceph cluster is used.  This
 
82
allows scalability and redundancy needs to be satisified and Cinder's RBD
 
83
driver used to create, export and connect volumes to instances.  This assumes
 
84
a functioning Ceph cluster has already been deployed using the official Ceph
 
85
charm and a relation exists between the Ceph service and the nova-compute
 
86
service.
 
87
 
 
88
    cat >cinder.cfg <<END
 
89
    cinder:
 
90
        block-device: None
 
91
    END
 
92
    juju deploy --config=cinder.cfg cinder
 
93
    juju add-relation cinder ceph
 
94
    juju add-relation cinder keystone
 
95
    juju add-relation cinder mysql
 
96
    juju add-relation cinder rabbitmq-server
 
97
    juju add-relation cinder nova-cloud-controller
 
98
 
 
99
 
 
100
Configuration
 
101
-------------
 
102
 
 
103
The default value for most config options should work for most deployments.
 
104
 
 
105
Users should be aware of three options, in particular:
 
106
 
 
107
openstack-origin:  Allows Cinder to be installed from a specific apt repository.
 
108
                   See config.yaml for a list of supported sources.
 
109
 
 
110
block-device:  When using local storage, a block device should be specified to
 
111
               back a LVM volume group.  It's important this device exists on
 
112
               all nodes that the service may be deployed to.
 
113
 
 
114
overwrite:  Whether or not to wipe local storage that of data that may prevent
 
115
            it from being initialized as a LVM phsyical device.  This includes
 
116
            filesystems and partition tables.  *CAUTION*
 
117
 
 
118
enabled-services:  Can be used to separate cinder services between service
 
119
                   service units (see previous section)
 
120
 
 
121
Contact Information
 
122
-------------------
 
123
 
 
124
Author: Adam Gandelman <adamg@canonical.com>
 
125
Report bugs at: http://bugs.launchpad.net/charms
 
126
Location: http://jujucharms.com