Commit Graph

2573 Commits (2095df3397dfe2e83e65eb94b00f1de5af86bc89)

Author SHA1 Message Date
Sébastien Han b3889c4442 Disable updatedb OSD directory parsing
It has been reported a couple of months ago by Dan van der Ster from
CERN that updatedb was consumming 100% of CPU while parsing system's
directories. Indeed the process was parsing the OSD PG directories that
might contains billions of objects.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-21 14:21:05 +02:00
Leseb e2599556b9 Merge pull request #106 from leseb/restart-daemons-on-config-change
Restart Ceph service after a configuration change
2014-08-20 14:50:26 +02:00
Sébastien Han 0aa9dea281 Restart Ceph service after a configuration change
After a change is made on the configuration file we must restart the
Ceph services. I also added a check that verifies if a socker exists
because during the first play there are no services running. We check if
a socket exists, if not we don't try to restart the services, if it
exists we can restart them.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-20 14:04:34 +02:00
Ramón Cahenzli f562e4d6fa Fix typo dependancies -> dependencies 2014-08-20 10:57:14 +02:00
Sébastien Han f4e8173a50 Merge branch 'fix_template_path' of https://github.com/Sysnove/ceph-ansible into Sysnove-fix_template_path
Conflicts:
	roles/ceph-common/tasks/Debian.yml
	roles/ceph-common/tasks/RedHat.yml
2014-08-14 14:30:33 +02:00
Leseb 17469b4b5e Merge pull request #102 from leseb/fix-vars
Fix some variables
2014-08-14 14:10:05 +02:00
Sébastien Han bdb27a16a8 Fix some variables
Couple of fixes

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-14 14:08:52 +02:00
Piotr Bak 9a42f9d5bd Fix for devices like /dev/cciss/c0d0, /dev/xvda 2014-07-18 16:43:00 +02:00
Alexis Lahouze 16711d63df Fixed template path. 2014-07-14 15:11:27 +02:00
Leseb 4051e49932 Merge pull request #97 from eltom/patch-2
Update RedHat.yml
2014-07-12 14:44:51 +02:00
eltom e8c6b5cbf8 Update RedHat.yml
Path to Templatefile is wrong, which caused Error on Provisioning
2014-07-12 14:44:06 +02:00
eltom efbac01cbe Update Debian.yml
Path to Templatefile is wrong, which caused Error on Provisioning
2014-07-12 14:43:36 +02:00
Sébastien Han 2fe0342708 Rename roles' names
I added a 'ceph-' prefix to all the roles related to Ceph. Since we are
about to push the roles into the Ansible Galaxy that will be easier when
we want to use these roles into a larger environement with other roles.

Fixes: #94

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-07-08 15:39:42 +02:00
Alexis Lahouze 9bc8842290 Added a main.yml in 'vars' directory to tell it is better to override using host or group vars. 2014-07-08 15:06:50 +02:00
Alexis Lahouze d10d0747d5 Moved OSD directory variables into defaults. 2014-07-08 13:07:44 +02:00
Alexis Lahouze 1d2a66666f Moved variables into "defaults" directory of each role, and commented the ones in group_vars. 2014-07-08 13:07:44 +02:00
Leseb e8d60215cd Merge pull request #89 from Sysnove/partitions
Allow devices to be partition instead of disks
2014-07-08 10:27:11 +02:00
Alexis Lahouze 3e74f153a0 Fixed Engrish grammar. 2014-07-08 10:20:18 +02:00
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