Commit Graph

172 Commits (56de5cc1115d1d49fa25a27f2323111808c36aca)

Author SHA1 Message Date
Sébastien Han 6005f446db Rework upstart and sysvinit
Once again and hopefully final commit to rework the support of both
upstart and sysvinit. As from now, Ubuntu systems will use upstart and
the others will use sysvinit.
A later commit might include the support of systemd as the unit files
come out. This will be for Hammer so probably soon.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-30 11:38:19 +02:00
Sébastien Han b6b8437a7a Activate either sysvinit or upstart
Depending on the distro, init scripts will look for different files to
be available on the ceph data dir.
Fixing the upstart support here.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-26 18:23:58 +01:00
Sébastien Han 57b8eef771 Default client is already client.restapi
No need to specify it.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-25 11:29:51 +01:00
Sébastien Han 22348ebce7 Fix RGW startup
If the distribution wasn't Ubuntu, the check wasn't performed so the
evaluation in the task later wasn't possible.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-24 11:02:12 +01:00
Leseb 8d126a361b Merge pull request #233 from leseb/fix-mds-pool-creation
Enforce var pool creation
2015-03-24 10:12:22 +01:00
Sébastien Han 1122c90ec4 Enforce var pool creation
Make sure that 'mds' is enabled before creating the filesystem.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-23 18:53:42 +01:00
Sébastien Han a2bef31425 Implement Ceph REST API
Now the Ceph REST API can be deployed.
Default implementation deploys it on the same nodes as the monitors
which should be fine.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-23 18:30:52 +01:00
Sébastien Han 4f68598779 Rework radosgw keys and data dir path
Fix the usage of Upstart for Ubuntu machines instead of the init.d
script.
Note that because of the way upstart init script looks at the radosgw id
the command 'start radosgw id=' is broken, you should use 'start
radosgw-all' instead.
Keep backard compatibility with the radosgw init script as well by using
client prefixed by 'client.radosgw'.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-23 14:41:22 +01:00
Sébastien Han e4a9031952 Improve YAML syntax
Improve readibility.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-19 12:23:12 +01:00
Sébastien Han 82c9abb725 Fix MDS creation for version >= 0.84
The ceph fs new command was introduced in Ceph 0.84. Prior to this
release, no manual steps are required to create a filesystem, and pools
named data and metadata exist by default.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-11 22:50:38 -05:00
Sébastien Han 3624a85b64 Docker support
WIP!

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-11 21:21:52 -05:00
Leseb c0ce7dd754 Merge pull request #222 from leseb/improve-handlers
Improve Handler support
2015-03-02 17:16:32 +01:00
Sébastien Han 559e3b921d Improve Handler support
Now proper commands/actions are used per hosts and groups.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-02 17:13:30 +01:00
Leseb 1323f7cb89 Merge pull request #212 from leseb/rbd-client-logs
Add RBD client logs support
2015-03-02 15:12:56 +01:00
Sébastien Han c5c0e21532 Add support of civetweb for Rados Gateway
Almost here.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-02 14:16:53 +01:00
Sébastien Han 962d1ad17f Fix Rados Gateway socket path
Fixes: #217

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-03-02 10:48:18 +01:00
Sébastien Han 68e470c6b8 Add RBD client logs support
The path must be writable by QEMU and allowed by SELinux or AppArmor

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-02-23 15:28:27 +01:00
Sébastien Han 6f0a0f7a71 Bring multi RGW support
Now we can setup multi-rgw with the playbook.
Each rgw instance has its own key.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-02-22 01:23:03 +01:00
Sébastien Han eae7bd6029 Fix the rgw section
If we use the hostname, the radosgw will lookup for a wrong secret.
Using the same name for all the gateways.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-02-20 18:41:49 +01:00
Sébastien Han 0095b34c88 Improve RGW config section
Use hostname in socket and log.
Improve jinja template so when a var doesn't exist we don't indent the
next line.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-02-15 02:21:27 +01:00
Sébastien Han 8951c9c3f5 Fix RGW key fetching
In a previous commit, key name changed, fixing this.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-02-15 01:56:12 +01:00
marmot21 dc32268563 Update ceph.conf.j2
This is just a simple change that will allow multiple gateways
2015-02-12 22:16:24 +11:00
Sébastien Han 9f93b66fae Refactor keys creation and fetching
We isolated the key operations into a file and modified the fetch
function to collect all the new keys.
In the mean time fixed the pool creation since the command is not
indempotent.
Renamed the rgw key to work with the key collection.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-30 18:20:17 +01:00
Sébastien Han ea44582379 Ability to populate OpenStack installation
Creates pools, keys and users.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-30 13:34:35 +01:00
Yin Jifeng 8eca518348 update distro comment
so we don't need change them every ceph release
2015-01-26 14:22:06 +08:00
Yin Jifeng e13aca8c5f epel-release is mandatory
see: https://www.mail-archive.com/ceph-users@lists.ceph.com/msg14819.html
also: 831b130f98
2015-01-22 21:36:47 +08:00
Yin Jifeng 2a2d977e39 make sure we use **fsid** in command 2015-01-22 20:09:06 +08:00
Yin Jifeng 30ac90dcfa update ceph noarch repo url 2015-01-22 20:07:46 +08:00
Sébastien Han 74ffbf90fc Enable Ceph daemons debug options
Add debug options for Ceph daemons.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-16 14:42:11 +01:00
Leseb e18588b147 Merge pull request #186 from leseb/swapoff
Ability to disable swap
2015-01-15 11:44:11 +01:00
Sébastien Han c246d8dc80 Ability to disable swap
With enough memory we will probably not need any swap.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-15 11:42:51 +01:00
Sébastien Han 9b0b83a354 Decrease vfs cache pressure
On OSD servers we want to keep as much inodes and dentries in memory as
we can.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-15 11:08:57 +01:00
Sébastien Han 30467a8243 Fix transparent huge page sys path
The old path was meant for old kernels...

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-15 10:58:45 +01:00
Sébastien Han e9360456f0 Add more option to maximise sequential IO
Using the largeio,inode64,swalloc options usually improves sequential
workloads.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-15 10:54:08 +01:00
Sébastien Han d8ab8c0bd3 Add yum priority plugin
Without this plugin if a Ceph version is present in a repo (let's say
epel) it will install the epel version and not the ICE version.
We install yum-plugin-priorities.noarch to honor the 'priority=1' flag.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-13 15:46:47 +01:00
Sébastien Han 25cf4d8650 Ability to disable transparent hugepage
In storage world it's often recommended to disable transparent hugepages
as they will tend to lower performance.
Note that this change won't survive reboot. There are several ways to
disable this permanently such as:

* rc.local
* grub boot line

It's a bit tricky to do this in Ansible since it really depends on the
OS you're running on.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-13 11:11:11 +01:00
Sébastien Han 2cb8941dcc Restructure OS tuning and add new value
We now use a single task and loop over a set of params, it's easier to
add now params.

Setting zone_reclaim_mode to 0.
See the discussion on the Ceph ML:
http://lists.ceph.com/pipermail/ceph-users-ceph.com/2013-December/036211.html

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-13 10:34:46 +01:00
Leseb 5c61ca8e8f Merge pull request #177 from leseb/osd-sections
WIP: Implement OSD sections
2015-01-12 16:46:38 +01:00
Sébastien Han 289cc5423a Make the monitor secret a mandatory variable.
Default behavior is to fail if a variable is not declared however this
can be disable in your ansible.cfg so we force this variable as
mandatory.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-12 14:36:15 +01:00
Sébastien Han f68cd46664 WIP: Implement OSD sections
Still WIP, @mwheckmann free to test
As requested by #162

Current known issue, since ceph.conf gets modified during every single
run (at the end during the merge) so this will restart ceph daemons.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-09 11:14:20 -05:00
Sébastien Han 81b44fcfe2 Make OS tuning var configurable and file re-ordering
Depending on the OS you are runnning on you should be able to configure
these values.
Re-ordering file for clarity as well.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-07 11:44:40 +01:00
Sébastien Han 5e6708394a Fix ICE installation
Wrong ordering and variable.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-07 11:25:34 +01:00
Sébastien Han 5c66801dc7 Bump up maximum number of open files
Large cluster will easily reach the default value so we increase it.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-06 15:26:44 +01:00
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