Project

General

Profile

Ceph-deploy » History » Version 1

Jessica Mack, 06/22/2015 02:02 AM

1 1 Jessica Mack
h1. Ceph-deploy
2
3
h3. Summary
4
5
Running from arbitrary locations is something that we should be able to do, reusing configuration locations and not depending on the current working directory holding a ceph.conf file.
6
7
h3. Owners
8
9
* Alfredo Deza <alfredo.deza@inktank.com>
10
11
h3. Interested Parties
12
13
* Loic Dachary <loic@dachary.org>
14
15
h3. Current Status
16
17
Issue #6398 already describes what the expectation is to not depend on the current working directory and prevent users to be forced to go to a determined location.
18
19
h3. Detailed Description
20
21
Backwards compatibility is the primary concern. The tool can continue to support the "feature" of running where a ceph.conf file exists, but not without a big warning. The new default would be to use a directory specific to ceph-deploy that has several directories to point to what config file should be used.
22
For example, you could have a directory structure that resembles this (for a default config):
23
<pre>
24
/home/username/ceph-deploy/default/ceph.conf
25
</pre>
26
If the configuration is *not* specified, it will use default unless it is running from where a ceph.conf file is located. This directory structure would allow to contain several different configurations to be used without clobbering other files used for other environments (a test cluster for example) and those can be used by specifying them on the command line. For a test cluster named "test1", installing would look like:
27
<pre>
28
ceph-deploy --conf test1 install node1
29
CEPH_DEPLOY_CONF=test1 ceph-deploy install node1
30
</pre>
31
So both flags and environment variables can be used.
32
If a user does not want to follow what ceph-deploy considers a normal directory location, it can/will use a custom location if an absolute path is passed in. If the configuration for the `test1` cluster exists somewhere else, like in `/opt/ceph_configs/test1` this could look like this:
33
<pre>
34
ceph-deploy --conf /opt/ceph_configs/test1 install node1
35
CEPH_DEPLOY_CONF=/opt/ceph_configs/test1 ceph-deploy install node1
36
</pre>
37
 
38
 
39
h3. Work items
40
41
h4. Coding tasks
42
43
# Be able to run independently from the location of ceph.con
44
# Interpret absolute paths or names as part of the directory structure
45
# Have clear warnings when a user is running from a ceph.conf path
46
47
h4. Documentation tasks
48
49
# Explain the new behavior (that should retain backwards compatibility) for running in any path