Commit Graph

305 Commits (e0c588ef4d9cb61139c4875f0c7f7ce254b2df08)

Author SHA1 Message Date
Alexis Lahouze 7eeb895d3d Rolled back comment on filesystem creation. 2014-07-08 10:15:38 +02:00
Sébastien Han 9d7c23396f Use a local key for package instead of downloading it
Using a local key is significantly faster than "wgetting" the key from a
server on Internet.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-07-03 15:53:13 +02:00
Sébastien Han 4f5d195788 Ability to use a directory for OSD instead of a disk
This commit implements a fourth scenario where we can directely use a
directory instead of a block device for the OSDs. The purpose of this
scenario is more testing-oriented. Please note that we do not check
the filesystem underneath the directory so it is really up to you to
configure this properly. Declaring more than one directory on the
same filesystem will confuse Ceph.

Fixes: #14

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-07-03 15:30:49 +02:00
Alexis Lahouze 132e78df84 Allow devices to be partition instead of disks (used for some physical servers with a sigle disk for system and storage). 2014-06-26 14:19:09 +02:00
Kyle Christensen 168faef3bd Fix Ansible architecture tasks 2014-06-02 15:00:43 -04:00
Sébastien Han 670bec24c7 Since Emperor, Ceph stores xattr into levelDB thus this option is not
needed anymore.

Fixes: #83

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-05-20 15:04:09 +02:00
Sébastien Han 567c0bb6ce Enable single host mode
This commit introduces a new config option 'osd crush chooseleaf type'.
With the help of this option and by setting it to '0' we tell Ceph to
store all the replicas on a single host. Basically we tell CRUSH to
iterate over disk and not over host.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-05-01 01:24:20 +02:00
Dexter John Genterone 728e80df5c keys are now copied from the first available mon host
since we're now using fsid for the directory name, it should be safe to
just copy the keys from all mon hosts. Once they are copied, the rest of
the hosts will just skip copying. :)
2014-04-30 16:02:07 +08:00
Hunter Nield 48c1dcd92b Avoid ip/fqdn weirdness & use fsid path for keys 2014-04-30 15:16:11 +08:00
Alessandro Corbelli 58ea349b53 Fix #69 - mon osd min down reporters 2014-04-18 10:47:30 +02:00
Sébastien Han 3c0ffd671f Improve ceph.conf
Add tunables for:

* recovery
* performance

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-04-11 14:07:37 +02:00
Alessandro Corbelli 61ab445128 Add support for subdomain calls in S3 api. See http://ceph.com/docs/master/radosgw/config/#enabling-subdomain-s3-calls 2014-04-07 12:06:24 +02:00
Leseb 6cadebd5c5 Merge pull request #61 from guestisp/remove-default-users-from-rgw
Remove RadosGW default users
2014-03-26 11:35:54 +01:00
Alessandro Corbelli d7195922b2 Totally removed test users creation from RGW tasks 2014-03-26 11:34:05 +01:00
Alessandro Corbelli c2a0865464 Use ansible_hostname in RGW config inside ceph.conf
Fix #54
2014-03-26 11:26:18 +01:00
Alessandro Corbelli c7476fb375 Remove RadosGW default users 2014-03-26 11:22:37 +01:00
Jimmy Tang c3480a588c Drop a update-motd.d fragment for monitors so when the user/admin logs into a monitor there is a small notice for the user about the state of the ceph cluster. Works only on ubuntu for now 2014-03-22 14:57:22 +00:00
Alessandro Corbelli 7623376203 Skip missing RGW hosts in ceph.conf 2014-03-20 12:14:43 +01:00
Sébastien Han b21174b189 Fix section name
All the rgw instance should share the same key so the section name
should not be changed.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-19 16:29:57 +01:00
Sébastien Han 6e355c0ccc Remove hardcoded distro
This was a leftover from some previous tests.

Closes: #53

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-19 16:27:24 +01:00
Leseb a62aebb835 Merge pull request #50 from guestisp/fix-49
Fix #49
2014-03-19 16:15:18 +01:00
Alessandro Corbelli 504ca7b154 Fix #51 2014-03-19 12:45:56 +01:00
Alessandro Corbelli 1efa42d809 Fix #49 2014-03-19 12:40:02 +01:00
Jimmy Tang 7669d05bf3 re-tab/indent configuration 2014-03-17 10:27:49 +00:00
Jimmy Tang 15b89704fd Fix typo in handler 2014-03-17 09:17:49 +00:00
Jimmy Tang b34ead5457 make radosgw_interface configurable for haproxy 2014-03-16 09:43:49 +00:00
Jimmy Tang ea88bd6eaa microformat variable to be in line with rest of roles and playbooks 2014-03-16 09:40:27 +00:00
Jimmy Tang 63f7e5deb3 fix up indentation in configuration file 2014-03-16 09:39:33 +00:00
Jimmy Tang 8841b9d37a more meaningful backend name 2014-03-15 12:10:59 +00:00
Jimmy Tang ecdd54d6f9 Initial add of haproxy example for fronting a number of radosgw's 2014-03-15 08:58:24 +00:00
Sébastien Han 300e87ec35 Remove mon_initial_members option
The mon_initial_members is not used since we declare the mon section in
the ceph.conf file. Later, we could reduce the ceph.conf file by only
using the mon_host flag instead of all the mon sections.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-14 17:11:27 +01:00
Sébastien Han f295b4f5b4 Add RADOS Gateway support
This is a wip branch.
This works on Ubuntu precise, Debian Wheezy and CentOS 6.4.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-13 23:43:57 +01:00
Alessandro Corbelli f363f63446 Fix ceph.conf if MDSs are not reachable 2014-03-12 16:13:06 +01:00
Leseb 69564c14c6 Merge pull request #39 from guestisp/fix-ceph-conf-if-mons-unreachable
Fix ceph.conf if mons are unreachable
2014-03-12 16:00:18 +01:00
Alessandro Corbelli 2530083751 Fix ceph.conf if mons are unreachable 2014-03-12 15:34:54 +01:00
Alessandro Corbelli f97d26470f Use ansible_fqdn when copying from mons 2014-03-12 15:05:42 +01:00
Alessandro Corbelli 1bf18e6c80 Use ansible_fqnd also in mds role 2014-03-12 15:01:46 +01:00
Alessandro Corbelli 57831b4083 Use ansible_fqdn when copying keys to OSDs 2014-03-12 14:46:40 +01:00
Sébastien Han 36d034ad20 Revert 37882255d6 (auto key generation)
We introduced a key generation mechanism that aimed to ease deployment.
In the end, it brought more complexity to the playbook and doesn't
scale.

Reverting the auto generation commit and instructing users to generate
their own keys.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-12 13:31:22 +01:00
Sébastien Han cc7f2ab2ab Cosmetic on apt module
Use 'present' instead of 'installed'.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-11 15:24:51 +01:00
Sébastien Han fc38e21333 Separate OSD scenarios to multiple files
Currently everything lives in main.yml, the file has become difficult to
read at some point and can be a real mess since we keep adding new
scenarios.
I think we should separate the scenarios into dedicated files and just
do includes in the main.yml file.

Closes: #16

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-11 10:36:24 +01:00
Sébastien Han 37882255d6 Autogenerate initial mon key
As mentionned in the issue 24 it's not really safe to store a default
fsid nor a monitor key. Thus the commit brings the auto-generation of
the initial monitor key. However it is quite complex to do the same for
the fsid, so I leave this to the person in charge of the deployment to
generate one and edit group_vars/all accordingly. The default fsid has
been removed as well.

Close: #24

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-11 00:54:21 +01:00
Alfredo Deza 4beec0a05d Merge pull request #18 from leseb/fix-rm-dev
Use full device name
2014-03-10 13:06:00 -04:00
Alfredo Deza 8925f47d76 Merge pull request #22 from leseb/fix-allow-disable-mds
Allow to disable MDS
2014-03-10 13:05:12 -04:00
Sébastien Han 620d2d9a14 Remove hardcoded interface name
Add the ability to select a binding interface for the monitors.

Closes: #20

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-10 17:23:41 +01:00
Sébastien Han 739ee57d39 Allow to disable MDS
Even if MDS are not configured in site.yml the playbook has a
dependancy on the ceph.conf template.
This disables the mds section from the ceph.conf file.

Closes: #21

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-10 17:14:11 +01:00
Sébastien Han 4b6c8c1cfc Use full device name
Use full device name so we can specify custom devices (by-path, links
etc...)

Closes: #17

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-10 16:32:04 +01:00
Sébastien Han 6cdce8b5b2 Multi distro installation support
Now the playbook is able to install Ceph on RedHat systems.
This has been tested on CentOS 6.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-09 17:17:58 +01:00
Alfredo Deza 8577480e41 Merge pull request #11 from leseb/wip-multi-journal
Add multi-journal support and fix collocation scenario
2014-03-07 08:30:21 -05:00
Sébastien Han bb4796774b Add multi-journal support and fix collocation scenario
This commits brings the support of multiple journals where each journal
points to a specific OSD and vice-versa. The commit also clarifies the
usage of multi scenarios for both journal and osd_data.
In the meantime, it fixes the collocation scenario.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-07 14:04:25 +01:00
Sébastien Han 9d06702fc2 Check system and architecture
If the system is not Linux and the architecture is not x86 Ansible will
fail and exit.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-07 11:20:48 +01:00
Alfredo Deza 146dd31c92 Merge pull request #4 from leseb/wip-many-devices
Support diverse setup disks
2014-03-06 09:25:54 -05:00
Sébastien Han 47c361b255 Support diverse setup disks
This brings the support of heterogeneous hardware. Not all the servers
are identical, some have more or less disks than the others. Prior this
commit, the 'parted' command was hanging, now the command simply exits 1
if the device doesn't exist, same for the 'egrep' piped command after.
Then we skip these errors and continue to run. So now, you can specify
multiple devices in group_vars/osds that don't exist on all the
servers.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-06 11:50:14 +01:00
Sébastien Han 72d3f98fa6 Cleanup redundant command
Since the fetch module takes care of the permissions it is not necessary
to set them with another module. The second command is useless.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-04 00:13:17 +01:00
Sébastien Han a984854956 Add Ceph Playbook
Initial commit.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-03-03 19:08:51 +01:00