Commit Graph

179 Commits (5c2fb75adba3681290a03a755270f4c415168896)

Author SHA1 Message Date
Sébastien Han 79f6415e9d Bump up max open file for big cluster
Big cluster will easily reach the default limit so we need to increase
it and make it configurable.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-06 14:23:23 +01:00
Sébastien Han 75c4739679 Revert "Remove the fsid vars from mon and osd roles"
This reverts commit 216c8e24c8.
2015-01-06 00:42:54 +01:00
Sébastien Han 216c8e24c8 Remove the fsid vars from mon and osd roles
We do not need them since they get registered by the ceph-common role.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-06 00:18:04 +01:00
Sébastien Han 08330b1fab Move role variables to defaults
Following best practices from
http://docs.ansible.com/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

Closes: #161

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-06 00:13:10 +01:00
Boris Manojlovic 33b8603d6e add quotes so ansible yaml parser do not barf on it... 2014-12-24 17:07:50 +01:00
Sébastien Han a796a962ef Add ICE Kernel module support for Red Hat systems
Install Kernel modules from ICE for Ceph RBD.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-12-18 12:25:17 +01:00
Leseb 69b6231d29 Merge pull request #158 from leseb/zap-disk-before-osd-creation
Zap disk before running ceph-disk prepare
2014-12-18 11:49:59 +01:00
Sébastien Han 839cd99520 Zap disk before running ceph-disk prepare
We remove all the partitions, label and re-create something clean prior
to prepare the design. This will help solving many issues with existing
disks or while scratching/deploy test environments often.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-12-18 11:49:32 +01:00
Sébastien Han 24e2ad8e50 Add multi-OS support for ICE
ICE supports Ubuntu, CentOS and RHEL.
Adding those.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-12-18 11:10:14 +01:00
Sébastien Han 3850320894 Fix OSD device auto-discovery
Missing variable, conditionnal didn't work.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-12-16 15:07:28 +01:00
Sébastien Han 81fe11fae5 Disable MDS and RGW from default
MDS and RGW are not deployed often (RGW more), so we disable them from
the default deployment to only get MONs and OSDs.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-12-16 14:52:49 +01:00
Sébastien Han db91b20308 Add support for Intank Ceph Enterprise
With the appropriate subscription details you will be able to use the
Inktank Ceph Enterprise version of Ceph running on RHEL7.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-12-16 14:47:35 +01:00
Leseb be7fddde5b Merge pull request #148 from shinespb/master
added auto-discovery of OSD disks
2014-12-11 16:15:57 +01:00
Leseb 93d86cd938 Merge pull request #151 from matthewrees/100-continue
Support for 100-continue toggling for RGW
2014-11-26 20:12:17 +01:00
Matthew Rees e07e0b5be4 Replaced shell based sed with apt_repo module call 2014-11-17 12:11:48 +02:00
Matthew Rees 4258dac251 Change to shell from command 2014-11-14 16:48:21 +02:00
Sébastien Han 621df22a4a Fix auto uuid generation
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-14 15:21:30 +01:00
Matthew Rees accbfeff31 Support for 100-continue toggling for RGW
Tested for Precise and Trusty.
2014-11-14 16:05:56 +02:00
Leseb 3a485bf22a Revert "Fix autogen UUID and add auto gen monitor key" 2014-11-14 15:03:50 +01:00
Sébastien Han a7bba85027 Fix autogen UUID and add auto gen monitor key
This fixes the UUID auto generation and introduces the monitor key auto
generation.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-13 15:38:10 +01:00
Igor Shestakov ce569b8c6e added auto-discovery of OSD disks 2014-11-13 17:19:18 +03:00
Sébastien Han a107063543 Auto generate an FSID
It has becomes really anoying to manually generate an fsid prior to the
inital bootstrap. This commit introduces a method that auto-generates an
fsid. If for whatever reasons you want to force your own fsid you can
simply edit these 3 files and override the fsid variable:

- roles/ceph-common/vars/main.yml
- roles/ceph-mon/vars/main.yml
- roles/ceph-osd/vars/main.yml

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-13 14:08:27 +01:00
Leseb b3576608a4 Merge pull request #142 from matthewrees/trusty-radosgw
Fixing errors in rgw playbook for Trusty
2014-11-13 13:51:33 +01:00
Leseb cc4395ae17 Merge pull request #145 from matthewrees/separate-ceph-keys
Standardising key addition
2014-11-13 13:48:02 +01:00
Matthew Rees e2d6e66440 Revert URL-based key addition for Debian 2014-11-13 14:11:51 +02:00
Sébastien Han ef7891fe84 Fix wrong variable for cephx signature
Add a comment for KRBD, enabling cephx signatures will prevent you to
map RBD devices.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-13 10:59:42 +01:00
Matthew Rees b6fcd37bc0 Standardising key addition
Debian based repo’s now fetch keys in a similar manner to Redhat based
ones, and both stable and dev keys have entries in vars.
2014-11-11 17:10:32 +02:00
Leseb cbb878beba Merge pull request #144 from leseb/ceph-client
Add more detail for the client socket
2014-11-11 12:02:36 +01:00
Sébastien Han 1d8871e615 Add more detail for the client socket
Adding: cluster name, type, id and cctid.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-11 12:01:31 +01:00
Leseb c8f2f6610e Merge pull request #141 from matthewrees/monitor-interface
monitor_interface template change
2014-11-11 10:55:41 +01:00
Sébastien Han a0b659e66b Fix wrong vars during RH install
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-11 10:50:03 +01:00
Matthew Rees c54ab6a701 Fixing errors in rgw playbook for Trusty
- We don’t need ceph-extra for trusty
- Enable multiverse repo for access to libapache2-mod-fastcgi
- Update cache before attempting to install packages to register
multiverse repo and only refresh cache once an hour to avoid delays in
the playbook
- Add wildcard to disabling default site as on Ubuntu it is 000_default
by…default
2014-11-11 11:07:41 +02:00
Matthew Rees ec16fe31f3 monitor_interface template change
This will fix the monitor_interface issue for Vagrant provisioning
while being preferred to using group_var entries for physical
deployments.
2014-11-10 16:28:13 +02:00
Leseb 547f16b7aa Merge pull request #140 from leseb/rbd-cache
Add a client section in the ceph configuration file
2014-11-10 14:52:11 +01:00
Sébastien Han 29ea4e6f47 Add a client section in the ceph configuration file
In this section we enabled the rbd cache and a socket per client.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-10 14:50:19 +01:00
Sébastien Han 51070cc4fb Use Giant version
Use the last stable version: Giant

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-10 14:34:45 +01:00
Sébastien Han 5e52d89e94 Increase kernel.pid_max to a higher value
While running big boxes with 72 disks it's easy to get out of PID for
all the threads needed by Ceph. Increasing the default value removes
this limitation.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-11-10 14:13:31 +01:00
Cornelius Keller 530314e9a9 cleanup outcommented code 2014-11-07 15:39:29 +01:00
Cornelius Keller 497d987fa9 making vagrant up work 2014-11-07 15:32:49 +01:00
Sébastien Han 74ede6e166 Merge branch 'master' of https://github.com/jjoos/ceph-ansible into jjoos-master
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>

Conflicts:
	roles/ceph-common/defaults/main.yml
	roles/ceph-common/tasks/Debian.yml
	roles/ceph-osd/tasks/journal_collocation.yml
	roles/ceph-osd/tasks/osd_directory.yml
	roles/ceph-osd/tasks/raw_journal.yml
	roles/ceph-osd/tasks/raw_multi_journal.yml
2014-11-06 15:18:56 +01:00
Gauvain Pocentek 20ce0a8336 ceph-osd: restart OSDs only
Avoid restarting other services when configuring the OSDs.
2014-10-14 12:22:11 +02:00
Sébastien Han 3a083ce1b2 Remove ansible managed header from ceph.conf
Fixes: #125

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-10-10 15:41:31 +02:00
Leseb c57f875a75 Merge pull request #110 from leseb/fix-updatedb
Fix updatedb disable
2014-10-10 15:36:20 +02:00
Leseb e0b9aac9b2 Merge pull request #127 from leseb/remove-ansible-managed-from-ceph-conf
Remove ansible managed header from ceph.conf
2014-10-10 15:35:09 +02:00
Sébastien Han f34e60813b Remove ansible managed header from ceph.conf
In ceph-common you load {{ ansible_managed }} at the top of the main
config file - this will trigger handlers on that file whenever an
Ansible run is made.

I'd suggest replacing it with a vanilla text comment 'managed by
Ansible' to warn
admins but avoid unnecessary cluster bounces.

fixes: #125

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-10-10 15:34:11 +02:00
Gauvain Pocentek 3386578954 Fix the mon.* generation in ceph.conf
The ceph.conf.j2 template currently always uses the current host facts
to get the IP address of each host in the mon loop. This is not the
expected behavior. This patch uses the correct facts to get the IP.
2014-10-10 15:27:15 +02:00
Sébastien Han 07216bf883 Add more recovery options
Recovery and/or re-balancing decrease performance, adding more options
might help tweaking this behavior.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-09-28 17:31:50 +02:00
jjoos 5e8141f8cf Sweep of all sorts of things. 2014-09-04 21:14:11 +02:00
Sébastien Han 6413b9c251 Improve RedHat support
Fix the rpm key and the repos integration.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-09-04 12:18:17 +02:00
Sébastien Han 83be67cd54 Use a very unlikely subnet address for Vagrant
Since 192.168.0.0/24 is very commong and might overlap with some
existing networks on your laptop, using another subnet like '42' is less
bound to happen.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-09-03 00:13:07 +02:00
Sébastien Han d0403b820e Fix OSD update during startup
Proviously we used osd_crush_update_on_start: true, this was interpreted
by Ansible as a boolean and appeared as 'True' inside the Ceph configuration
file. However the Ceph's init script is looking for 'true'.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-09-03 00:04:23 +02:00
Sébastien Han 4196de25d4 Add developement packages support
This commits introduces the support of the developpement branches of
Ceph. You can now install Ceph from master.
The behavior is done through 2 new options:

* ceph_stable: true will use the stable branch
* ceph_dev: true will use the dev branch

For the dev packages don't forget to set the branch that you want to
use.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-09-02 02:37:18 +02:00
Sébastien Han 7e591a4cce Fix some missing option declaration
Missing decleration and cosmetic.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-30 02:58:27 +02:00
Sébastien Han b81392d1c9 Fix restart on config change handler
Prior to this patch, the first match was winning and the playbook wasn't
doing any difference both "restart ceph", adding a distro filtrer fixes
this.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-30 02:34:11 +02:00
Sébastien Han ec6d4ddaba Fix updatedb disable
In some system the command doens't exist and fail to run the playbook.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-30 02:29:07 +02:00
Sébastien Han e2e774d516 Add more common options
Extend settings support.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-08-30 02:26:40 +02:00
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