Commit Graph

697 Commits (main)

Author SHA1 Message Date
Leseb f72d748bce Merge pull request #891 from ceph/dmcrypt
ceph-osd: add dmcrypt scenario
2016-08-08 16:27:34 +02:00
Sébastien Han 788b75efec ceph-osd: re-arrange osd scenario numbers
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-08 15:55:12 +02:00
Martin Bukatovic 1e998120f6 remove ability to disable swap
Addressing issue #919.
2016-08-08 11:35:22 +02:00
Ken Dreyer 1b7e08ad50 remove references to Inktank Ceph Storage
ICE is beyond end-of-life, and this Inktank GPG key is considered
untrusted (https://access.redhat.com/blogs/766093/posts/2176181)

RIP ICE, we will not miss you.
2016-07-26 13:57:32 -06:00
Sébastien Han b0e152d684 common: set journal size to 5GB
Journal size is not mandatory anymore, a default from 5GB is being
added. A simple warning message will show up if the size is set to
something below 5GB.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-26 13:51:32 +02:00
Sébastien Han 5978d55d22 ceph-osd: add dmcrypt scenario
add the ability to encrypt osd data store using dm-crypt

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-19 18:02:11 +02:00
Leseb ce3258898f Merge pull request #879 from ceph/rbd-mirror-docker
rbd-mirror: container deployment support
2016-07-19 12:07:56 +02:00
Leseb 48599c07cc Merge pull request #848 from font/master
Add option to enable ntp
2016-07-18 18:24:54 +02:00
Sébastien Han e6097469bd rbd-mirror: container deployment support
add the ability to deploy a containerized version of the rbd mirror
daemon.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-18 18:13:27 +02:00
Ivan Font 6f5f6610a8 Support for docker image tags
Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-07-12 15:49:07 -07:00
Leseb e52d5b2357 Merge pull request #858 from dang/custom-repo
Add a custom yum repo ability
2016-07-06 15:30:49 +02:00
Daniel Gryniewicz a7d999b45b Add a custom repo ability
Add the ability to use a custom repo, rather than just upstream, RHEL,
and distro.  This allows ansible to be used for internal testing.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-24 09:46:48 -04:00
Ivan Font 453c299ed7 Add option to enable ntp
This fixes: #845 only for non-containerized deployments

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-06-23 09:58:32 -07:00
Daniel Gryniewicz 4c2a433acb Add support for Ceph NFS Gateway
Ceph has the ability to export it's filesystem via NFS using Ganesha.
Add a ceph-nfs role that will start Ganesha and export the Ceph
filesystems.

Note that, although support is going in to export RGW via NFS, this is
not working yet.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-22 13:29:11 -04:00
Alfredo Deza f05a7c5ff6 group_vars: define the rh_storage_version
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1346812
2016-06-16 14:54:44 -04:00
Sébastien Han 753f715c27 ceph-common: declare mon_containerized_deployment
If not declared, the play will fail.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-06-13 12:33:36 +02:00
Leseb d9d1d7856e Merge pull request #812 from rootfs/fix
some fixes for container deployment
2016-06-09 15:33:32 +02:00
Leseb 157d32560a Merge pull request #844 from matthewrees/master
Various fixes for check_firewall task
2016-06-07 17:26:37 +02:00
Leseb 202d372dba Merge pull request #840 from jimcurtis/master
docker: enable mds container on Atomic host environment
2016-06-07 13:56:37 +02:00
Matthew Rees 7ef1564185 Update sample vars for change in default value of check_firewall 2016-06-06 15:12:03 +02:00
Leseb 98b4153e62 Merge pull request #839 from dcwangmit01/centos_remove_plugin_priorities
Remove Centos7 dependency yum-plugin-priorities
2016-06-06 13:41:15 +02:00
Leseb 58f9a6cfe0 Merge pull request #804 from dang/docker-dev
Allow running on local dev docker images
2016-06-06 11:12:43 +02:00
David C Wang a1c1cd6e9b Ran generate_group_vars_sample.sh
The changes here are not anything to do with removing
  yum-plugin-priorities.  They must be leftover from
  prior commits that did not run generate_group_vars_sample.sh
2016-06-03 19:26:52 +00:00
David C Wang 94d2e11425 Remove Centos7 dependency yum-plugin-priorities
This causes ceph-ansible scripts to fail when targeting Centos7 machines.
Installation fails because newer ceph package dependencies provided
  by ceph-release-{version}.noarch.rpm were overridden by older
  package dependency versions in default distribution repositories,
  due to the fact that default distribution repositories have higher
  priority.
2016-06-03 19:14:27 +00:00
Daniel Gryniewicz 9d08d74385 Allow running on local dev docker images
Docker makes it difficult to use images that are not on signed
registries.  This is a problem for developers, who likely won't have
access to a registry with proper signed certificates.

This allows the ability to use any docker image on the machine running
vagrant/ansible.  The way it works is that the image in question is
exported locally, then sent to each target box and imported there.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-03 14:52:21 -04:00
Huamin Chen c4f9bf8d13 update osd default vars
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-03 16:42:22 +00:00
Jim Curtis 959edf7205 docker: enable mds container on Atomic host environment 2016-06-02 15:54:56 -07:00
Leseb 0c9ee965a9 Merge pull request #828 from jimcurtis/master
docker: enable rgw container on Atomic host environment
2016-06-02 10:55:53 +02:00
Jim Curtis a803be1815 docker: review feedback on PR #828 2016-06-01 09:55:08 -07:00
Jim Curtis c580b1b20c docker: enable rgw container on Atomic host environment 2016-05-31 12:59:05 -07:00
Leseb 21c2555049 Merge pull request #822 from gcharot/patch-2
Specify OSD journal size unit
2016-05-31 15:05:17 +02:00
Grégory Charot e72cc505eb Specify OSD journal size unit
Specify unit to use for the journal_size parameter.
2016-05-31 14:45:42 +02:00
Grégory Charot bf05382f85 Ambiguous "version is only supported on RHEL 7.1"
Change from "only supported on RHEL 7.1" to "only supported on RHEL >= 7.1" for RHS
2016-05-31 14:32:04 +02:00
Huamin Chen a124078612 in containerized deployment, use the right interface name variable in mon; remove one line inline files
cleanup on docker osd tasks

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-25 18:17:37 +00:00
Sébastien Han 82aec38a71 ceph-rgw: implement num_threads for civetweb
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-20 14:31:49 +02:00
Andrew Schoen a6a946d86b fix the radosgw_civetweb_bind_ip default value
We want just the address for ansible_default_ipv4, not the entire
dictionary in ceph.conf.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-18 15:53:47 -05:00
Leseb 82a249e742 Merge pull request #771 from ceph/client-role
ceph-client: introduce new client role
2016-05-11 14:40:15 +02:00
Sébastien Han 40df8fb814 ceph-client: introduce new client role
By default, this roles will create a ceph config file and get the admin
key. You can optionnally add other users, keys and pools for your tests.

Closes: #769

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-11 14:36:35 +02:00
Samuel Matzek 9fec57a583 Add Debian ppc64le support
Add support to allow ceph-ansible to install and
configure Ceph on Debian on the ppc64le architecture.

Canonical has ppc64le Debian packages in Ubuntu distros
and on Ubuntu Cloud Archive.  Both of which can be installed
and configured using the 'distro' or 'uca' options in
ceph-ansible when this patch is used.

Signed-off-by: Samuel Matzek <smatzek@us.ibm.com>
2016-05-10 14:26:30 -05:00
Leseb 52b2f1cb85 Merge pull request #694 from ceph/purge-ceph-conf-options
ceph-common: purge ceph.conf file
2016-05-10 18:24:07 +02:00
Sébastien Han 47860a887f ceph-common: purge ceph.conf file
Since ##461 we have been having the ability to override ceph default
options. Previously we had to add a new line in the template and then
another variable as well. Doing a PR for one option was such a pain. As
a result, we now have tons of options that we need to maintain across
all the ceph version, yet another painful thing to do.
This commit removes all the ceph options so they are handled by ceph
directly. If you want to add a new option, feel free to to use the
`ceph_conf_overrides` variable of your `group_vars/all`.

Risks, for those who have been managing their ceph using ceph-ansible
this is not a trivial change as it will trigger a change in your
`ceph.conf` and then restart all your ceph services. Moreover if you did
some specific tweaks as well, prior to run ansible you should update the
`ceph_conf_overrides` variable to reflect your previous changes.

To avoid service restart, you need to know a bit of ansible for this,
but generally the idea would be to run ansible on a dummy host to
generate the ceph.conf, then scp this file to all your ceph hosts and
you should be good.

Closes: #693

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-10 16:51:42 +02:00
Stephan Hohn 6ae24541ce align group_vars/all.sample with roles/ceph-common/defaults/main.yml 2016-05-10 10:20:23 +02:00
Leseb 30f7208334 Merge pull request #748 from ceph/use-jewel
ceph: use jewel release
2016-05-09 01:13:54 +02:00
Sébastien Han b3971354bf ceph-mds: fix the handler
Moving the mds_name fact in the common role so the MDS can properly
be restarted.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-09 00:39:03 +02:00
Samuel Matzek ae239aaf09 Add support for install from Ubuntu Cloud Archive
This adds support to allow the install of Ceph from the
Ubuntu Cloud Archive.  The Ubuntu Cloud Archive provides newer
release of Ceph than the normal Ubuntu distro repository.

Signed-off-by: Samuel Matzek <smatzek@us.ibm.com>
2016-05-03 10:51:39 -05:00
Sébastien Han 94ce2be758 ceph: use jewel release
Also fix the repo url.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-03 14:02:44 +02:00
Andrew Schoen f81140d21f Adds a use_server_package_split var
This will allow a user to conditionally install the ceph package on rpm
based systems. Installing this package is not required or wanted in
versions passed infernalis.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-28 09:15:05 -05:00
Leseb 7bd44d0563 Merge pull request #721 from ceph/fix-admin-socket-warning
change defaults for rbd_client_directories and rbd_client_admin_socket_path
2016-04-23 01:00:23 +02:00
Andrew Schoen 79a6e05228 default rbd_client_log_path to /var/log/ceph
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-22 12:39:16 -05:00
Andrew Schoen b649c4229a default rbd_client_admin_socket_path to /var/run/ceph
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-22 10:59:00 -05:00
Andrew Schoen f297af23c5 default rbd_client_directories to true
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-22 10:56:30 -05:00
Sébastien Han 4fa4154b4d ceph-rgw: ability to bind civetweb on an IP
Introducing a new config option: `radosgw_civetweb_bind_ip` which points
to the `ansible_default_ipv4` by default. You can override this
variable. Use ansible facts to put a proper value.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-22 17:47:57 +02:00
James Saint-Rossy fc270bb772 fixed handling of new ceph_version 2016-04-12 21:26:59 -04:00
Leseb 74e3e04dcd Merge pull request #696 from stpierre/dedup-rbd-client-dirs
Deduplicate RBD client directory creation
2016-04-12 12:03:56 +02:00
James Saint-Rossy 4e7b93d725 Rebasing fork to account for upstream commits 2016-04-09 14:40:00 -04:00
Chris St. Pierre 1efe62252c Deduplicate RBD client directory creation
Instead of creating the RBD client socket path three different places
in three different ways, this creates it once. Ceph on OpenStack users
have the option to customize the permissions of the RBD client
directories.

Fixes #687
2016-04-08 13:50:00 -05:00
Leseb f783adcc9e Merge pull request #678 from ceph/rbd-mirror
ceph-rbd-mirror: add new role
2016-04-08 12:12:30 +02:00
Sébastien Han 2d21f741f5 ceph-rbd-mirror: add new role
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-08 12:12:15 +02:00
Sébastien Han a8df31cb14 ceph-common: let ceph handle pool_default_min_size
We now set the value to 0, which means no specific default; ceph will
use size-size/2

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-05 17:01:49 +02:00
Sébastien Han 84e57724e3 ceph-common: change the pool_default_size to 3
3 has been the default since Firefly I believe so we should stick with
this value.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-05 16:22:29 +02:00
Sébastien Han 6c5ac63ecc ceph-mon: docker fix run on atomic host
fix template issues.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-31 16:41:28 +02:00
Sébastien Han 450feaac0a ceph: implement cluster name support
we now have the ability to enable the `cluster` variable with a specific
value that will determine the name of the cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-30 18:08:38 +02:00
James Saint-Rossy d788d2ce88 Add infernalis to list of stable releases comment 2016-03-29 18:49:46 -04:00
Leseb 4c31c3bcb5 Merge pull request #661 from PiotrProkop/ceph-osd-kv
Adding ceph-osd continerized deployment with kv store.
2016-03-29 14:15:40 +02:00
pprokop 879f9d73ae Updating group_vars/osds.sample 2016-03-29 12:47:46 +02:00
pprokop ec9a96e570 Adding ceph-osd continerized deployment with kv store 2016-03-29 10:23:31 +02:00
ksingh7 06e92923fa ceph-common: Fix for issue no. 652
ceph.conf file generation task in ceph-common role was getting failed
because it ansible cant find defination of varriable mon_containerized_deployment_with_kv
This fix declare mon_containerized_deployment_with_kv under ceph-common/defaults/main.yml which fixes this issue

Signed-off-by: ksingh7 <karan.singh731987@gmail.com>
2016-03-26 19:47:40 +02:00
Leseb f27fada28a Merge pull request #649 from ceph/bluestore-ceph-disk
ceph-osd: add support for bluestore
2016-03-25 17:00:41 +01:00
Leseb e40e0f8950 Merge pull request #650 from stpierre/rbd-client-directory-owner
Make RBD client directory owner/group configurable
2016-03-25 16:41:31 +01:00
Sébastien Han 225e066db2 ceph-osd: add support for bluestore
With Jewel comes a new store to store Ceph object: BlueStore. Adding an
extra scenario might seem like a useless duplication however the
ultimate goal is remove the other roles later. Thus this is easier to
add new role instead of modifying existing one. Once we drop the support
for release older than Jewel we will just remove all the previous
  scenario files.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-25 16:02:02 +01:00
Chris St. Pierre 23e40e3113 Make RBD client directory owner/group configurable
Some versions (?) of libvirt provide a 'libvirt' group instead of
'libvirtd'. (Observed with libvirt-daemon-1.2.17-13.el7_2.2.x86_64.)
This makes the RBD client directory owner and group configurable to
allow for this.
2016-03-25 08:51:20 -05:00
Sébastien Han b0f56590e0 docker: fix tons of issues
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-24 17:55:21 +01:00
pprokop eef421716d Adding var to choose between custom and default ceph.conf populated into etcd 2016-03-24 16:27:56 +01:00
pprokop 42e748a514 Adding dockerized ceph-mon deployment with kv backend 2016-03-24 16:26:28 +01:00
pprokop b68b9506f2 Adding common-coreos.sample 2016-03-24 16:24:44 +01:00
Sébastien Han 3e87da0f16 docker: fix group_vars file
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-24 16:24:44 +01:00
Jim Curtis dae1bb072e Review feedback fixes from PR #518 2016-03-24 16:19:45 +01:00
Jim Curtis d5f642c206 Changes to allow ceph-ansible and vagrant to work on Openstack VMs 2016-03-24 16:18:46 +01:00
Huamin Chen 6cf3fff436 split osd disk to prepare and activate
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-03-24 16:16:27 +01:00
Huamin Chen 70561b3fc3 add variable to allow containerized mon to run privileged mode.
this is to allow ceph-authtool to read and write to /var/ and /etc on CentOS Atomic.
Add doc on how to run containerized deployment on RHEL/CentOS Atomic

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-03-24 16:14:58 +01:00
Huamin Chen 29b239a8f8 containerized mon: create restapi keyring
add sample config for containerized deployment
2016-03-24 16:09:02 +01:00
Huamin Chen 0647cad7be containerized mon 2016-03-24 16:08:20 +01:00
Andrew Schoen 73a60bd5e0 docs for usage of monitor_interface and monitor_address
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-03-23 07:30:01 -05:00
Andrew Schoen 959d525f81 Provide the ability to provide monitor_address instead of an interface
This would allow users who don't know what interface to provide to
give an IP address to use for the monitor instead.

Note: the includes are needed in ceph.conf.j2 because without them
jinja2 can not properly evaluate the template and will complain about a
missing 'ansible_interface' variable. The includes allow the template to
be evaluated correctly and then the correct include will be used during
render time.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-03-23 07:30:01 -05:00
Sébastien Han 71a0f27f39 add libselinux-python as dependency pkg for centos
closes: #631

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-17 17:39:01 +01:00
Alfredo Deza 498cbbff08 add the commented out options for calamari-server in mons.sample
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-03-09 15:18:40 -05:00
Sébastien Han e46cbe98aa ceph-common: update group_vars
from #588 changes

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-03 10:00:47 +01:00
Sébastien Han 059cc1ea5b ceph-common: allow usage of fqdn for mon/mds
this commit introduces the ability to use fqdn for mon/mds name while
generation the ceph.conf file from the template.
Simply turn mon_use_fqdn and or mds_use_fqdn to true to use FQDN.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-03-02 11:11:43 +01:00
Chris St. Pierre c4a9b1020f Generate group_vars samples automagically
This adds a script, generate_group_vars_sample.sh, that generates
group_vars/*.sample from roles/ceph-*/defaults/main.yml to avoid
discrepancies between the sets of files. It also converts the line
endings in the various main.yml from DOS to Unix, since generating the
samples was spreading the line ending plague around to more files.
2016-02-29 12:07:01 -06:00
Leseb f9c3159e0d Merge pull request #553 from stpierre/add-tunables
Use object map for xattrs with ext4
2016-02-29 19:00:56 +01:00
Chris St. Pierre be52a01c49 Add tunable to use object map for xattrs
Defaults to true if using ext4, false otherwise, and can be explicitly
overridden if desired.
2016-02-29 11:31:04 -06:00
Leseb e06a05014c Merge pull request #569 from stpierre/skip-generate-fsid
Add option to skip generating fsid
2016-02-29 16:11:46 +01:00
Leseb f4dd00bf4f Merge pull request #567 from ceph/distribut-keys
ceph-: abitlity to copy admin on all the nodes
2016-02-29 15:43:00 +01:00
Sébastien Han 51e4fe8e0b ceph-: update group_vars to reflect previous change
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-02-29 15:10:34 +01:00
Sébastien Han 4e14b47174 ceph-common: use saner defaults for ceph dir
re-use the logic introduced in #512 for the ceph directory and the
`ceph.conf` file.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-02-29 11:10:56 +01:00
Chris St. Pierre 8e0d53e5a4 Add option to skip generating fsid
If using another method to generate a consistent fsid, then we can
skip creation of an (unused) cluster UUID file. If cephx is disabled
as well, we can skip creation of the fetch directory entirely.
2016-02-25 10:29:12 -06:00
Chris St. Pierre 53af359c65 Improve firewall checks
The firewall checks can fail for any number of reasons -- e.g., the
ceph cluster hostnames are unresolvable from the ansible host, or the
ports are filtered by some intermediate hop, etc. Make two changes to
make those checks better:

* Set pipefail when running the checks, so if nmap itself fails the
  command will be marked as 'failed'. Specifically, this fixes the
  case where the hostnames cannot be resolved.
* Add a new variable, check_firewall, which can be used to disable
  checks entirely. Specifically, this fixes the case where some
  intermediate firewall filters the ports, so nmap returns "filtered".
2016-02-23 11:38:25 -06:00
Leseb f86da22ce6 Merge pull request #543 from ceph/min_free_kbytes
ceph-common: calculate vm.min_free_kbytes
2016-02-16 16:27:23 +01:00
Sébastien Han 6a3c4311b5 ceph-common: update group_vars vm.min_free_kbytes
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-02-15 15:05:42 +01:00
Alfredo Deza f49b348979 create a group_vars agent sample file
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-02-15 07:52:46 -05:00
Sébastien Han a3cc055e61 ceph-osd: docker: fix type
use ceph_osd_docker_devices and not ceph_osd_docker_device

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-02-11 17:57:10 +01:00
Matt Thompson a227a50ab2 Control when ceph packages get updated
Currently, all the ceph package installation resources use
"state=latest", which means subsequent runs of the ceph playbooks
could result in ceph being upgraded if there are package updates
available in the selected repo.

This commit adds a new variable to ceph-common called
'upgrade_ceph_packages' which defaults to False.  This variable is used
in the package installation resources for ceph packages to determine if
the resource should use "state=present" or "state=latest".  If the
variable gets set to True, "state=latest" will be used.

Additionally, we update rolling_update.yml to override
upgrade_ceph_packages to true to permit package upgrades in this
context specifically.

Closes issue #506
2016-02-02 09:56:40 +00:00
Sébastien Han 22d1b26f15 update group_vars/all.sample with min_free_kbytes
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-27 23:29:54 +01:00
pprokop cb21e4e3a3 Adding newline 2016-01-22 14:27:36 +01:00
pprokop 3cc0ea72cc Adding python-setuptools dependency for CentOS 7 2016-01-22 14:25:10 +01:00
Byron McCollum a9dceb6ca3 Configurable Ceph Conf Directory Permissions
This change allows for configurable Ceph Conf Directory permissions. This
is required for integrators of Ceph, like OpenStack Cinder, which needs to
read from /etc/ceph for operation.
2016-01-17 17:57:09 -06:00
Sébastien Han 9157656d49 Clarify ceph_origin usage
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-15 19:10:47 +01:00
Logan V 044396369f adding repo url to group_vars/all 2016-01-12 06:38:17 -06:00
Sébastien Han 4407967de0 Using config_template
Thanks to @cloudnull great patch at
https://github.com/ansible/ansible/pull/12555
we now have the ability to add more configuration options instead of
having to push a PR to add a new option to the template. So you can
dynamically add and remove flags.

To use it, edit `ceph_conf_overrides` in `group_vars/all` like so:

```
ceph_conf_overrides
 global:
     foo: 12345
     bar: 6789
```

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-16 17:19:50 +01:00
Sébastien Han c1e1b65db7 Change update group_vars ivetweb port
follow up on #458

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-15 23:30:15 +01:00
Leseb f64920e233 Merge pull request #449 from nexecook/pre-infernalis_fixes
fixes ceph_stable_release logic mentioned in issue #446
2015-12-12 13:34:23 +01:00
Eric Cook 2e7994ef62 fix comment headings 2015-12-11 07:36:09 -05:00
Eric Cook 9f542fccad add ceph_stable_releases to group_vars/all.sample 2015-12-10 13:43:32 -05:00
Bjoern Teipel 27fa1cc299 Adding osd_scrub_begin_hour and osd_scrub_end_hour to limit scrub window of 24h if needed
Fixes-Bug: #451
2015-12-09 10:22:59 -06:00
Sébastien Han 2fa995a889 Use new Infernalis release
Add proper fixes for the new ceph user and dir/files permissions

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-11-18 11:47:38 +01:00
Sébastien Han d7c17812dd Ability to collocate bare metal and container
Since we renamed the variables and removed the old 'docker' variable we
can now collocate container daemons with standard bare metal deployment.
For instance, monitors can be containerized but osds can be deployed
traditionally.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-10-21 23:18:22 +02:00
Bill Sanders ac06e22cb6 Changed URL for Ceph release and developer GPG keys, because previous key URL suffers sporadic timeouts 2015-10-16 13:27:21 -07:00
Marc Heckmann e279055a3b Support setting the "mon pg warn max object skew" in ceph.conf
It should be used to disable health warnings about number of PGs
being too low if some pools have very few objects bringing down
the average number of objects per pool. This happens when running RadosGW.

The default is 10 and since the warnings only occur with some use cases,
the default here is 10 as well. Set to 20 or more to silence the warnings.
2015-09-03 17:08:51 -04:00
Sébastien Han 0cbc81622f Get Ceph from distro repository (redhat-based)
Follow up on #392

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-31 15:25:42 +02:00
Leseb d1c8c46bf1 Merge pull request #392 from HanXHX/apt-origin
Get Ceph from distro repository (debian-based)
2015-08-31 14:24:12 +02:00
Emilien Mantel a75e1cbb67 Import changes to sample 2015-08-27 18:01:34 +02:00
Matt Thompson afc934d22a Make fetch directory configurable
Currently, the fetch directory is created in your working directory
(where ansible is run from).  We prefer to not keep any state in this
directory and would prefer to have the fetch directory configurable so
we can store it outside of our code checkout.

This commit creates a new variable in each role called
`fetch_directory` (defaulting to the previous value of 'fetch/'), and
then updates each reference to 'fetch' to use the new variable instead.

Closes issue #383
2015-08-27 16:49:50 +01:00
Sébastien Han b3c7c36299 Make package dependencies configurable
Closes: #386 and #384

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-26 11:21:24 +02:00
Sébastien Han 0496a3e0d4 Remove zap variables
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-06 17:34:25 +02:00
Sébastien Han 7ed67f37d8 Remove rgw installation from the ceph-rgw role
The installation of rgw is now handled by the ceph-common role.
Fixes: #307

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-03 22:17:43 +02:00
Sébastien Han 3b32abee4d Fix dummy mistakes with variables
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 22:10:14 +02:00
Sébastien Han 4408a8d514 Re-arrange docker invocation and fix bootstrap restapi
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 17:57:58 +02:00
Sébastien Han 7184d21af5 Re-arrange docker invocation and fix bootstrap rgw
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 17:46:56 +02:00
Sébastien Han fea0cc87ec Re-arrange docker invocation and fix bootstrap mds
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 17:25:53 +02:00
Sébastien Han 6d0e8777e2 Re-arrange docker invocation and fix bootstrap
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 16:05:35 +02:00
Sébastien Han 329e4e4793 Add customisable env variables
Now we can easily pass new variables to bootstrap the container.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 15:32:58 +02:00
leseb 08add29d92 Modify the repo to host reoles on the galaxy
Signed-off-by: leseb <seb@redhat.com>
2015-07-24 18:14:59 +02:00
leseb 1112cf5431 Add primary affinity option
Signed-off-by: leseb <seb@redhat.com>
2015-07-20 14:48:58 +02:00
leseb be34f2de5f Do not track group_vars files
While deploying it's a bit annoying to have these files tracked by git.
If we want to closely work with the upstream version it will be easier.

Signed-off-by: leseb <seb@redhat.com>
2015-07-17 14:42:16 +02:00
leseb 444837e9ae Do not change while checking
Signed-off-by: leseb <seb@redhat.com>
2015-07-17 14:34:44 +02:00
leseb c27450ff40 Generate initial monitor key dynamically
Cool stuff :). We don't need to specify an initial monitor key anymore.
A key will automatically be generated.

The default key can always be overriden with the `monitor_secret`
variable.

Signed-off-by: leseb <seb@redhat.com>
2015-07-17 11:58:50 +02:00
leseb b6d5c6634f Add support for image format
By default, we want to use format 2.
This closely works with rbd features as well.

Signed-off-by: leseb <seb@redhat.com>
2015-07-08 14:21:16 +02:00
leseb 9831da7510 Re-use public network for private network
We don't always have a dedicated cluster network so we can by default
re-use the public network value.
This is just laziness :).

Signed-off-by: leseb <seb@redhat.com>
2015-07-07 18:18:47 +02:00
leseb afe10d4e53 Disable monitors complain about low pgs per osd
Also add a bunch of option that weren't activated before...

Signed-off-by: leseb <seb@redhat.com>
2015-07-07 17:55:05 +02:00
leseb fd2515f9c5 Activate rgws on rhel7
Signed-off-by: leseb <seb@redhat.com>
2015-07-07 17:41:28 +02:00
leseb b6f16164c6 Add more client options
Add `rbd_default_features` and `rbd_default_map_options`.

Signed-off-by: leseb <seb@redhat.com>
2015-07-06 13:58:08 +02:00
leseb 7fdc2b1d36 Use more variable check
Fail early if a variable is not defined.

Signed-off-by: leseb <seb@redhat.com>
2015-07-03 21:38:30 +02:00
leseb 50d1f73afe Change default options
We want to force the user to only enable the options they need. Thus
they shouldn't have to enable one option and then disable another.

Signed-off-by: leseb <seb@redhat.com>
2015-07-03 18:38:30 +02:00
leseb 99e401b7c9 Add more repo source for stable
Attempt to fix #305

Signed-off-by: leseb <seb@redhat.com>
2015-07-03 16:35:17 +02:00
leseb 77b5650180 Add red hat storage cdn installation
Signed-off-by: leseb <seb@redhat.com>
2015-07-03 12:38:17 +02:00
leseb c670004de2 Cleanup daemon declaration
Now we don't need to activate the services through a variable. If the
role is activated in the inventory, actions will occur automatically.

Fixing the repo creation for red hat storage too.

Signed-off-by: leseb <seb@redhat.com>
2015-07-02 15:22:18 +02:00
leseb 11f72c62f9 Add red hat storage support
The new product version has jsut came out. ICE doesn't exist anymore and
Red Hat Storage is the name of the new product.

Signed-off-by: leseb <seb@redhat.com>
2015-07-01 18:36:26 +02:00
leseb 5fb6df1cf3 Add group_vars for restapi
Signed-off-by: leseb <seb@redhat.com>
2015-06-30 13:44:58 +02:00
leseb c3bc5b3e44 Merge branch 'group_names' of https://github.com/bjne/ceph-ansible into bjne-group_names
Signed-off-by: leseb <seb@redhat.com>

Conflicts:
	roles/ceph-common/handlers/main.yml
	roles/ceph-mon/tasks/ceph_keys.yml
2015-06-26 15:10:50 +02:00
Sébastien Han 2929a00041 Update the Docker bootstrap part
We now use ceph/daemon as a default container image so reflecting the
change here.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-06-25 12:14:23 +02:00
Sébastien Han b50e525004 Reduce scrubbing impact
Add more param to reduce the scrub overhead.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-06-11 16:49:57 +02:00
Bjørnar Ness 5588ada332 make group names definable 2015-06-11 02:42:41 +02:00
Sébastien Han e1f0e660e8 Add more flags to RBD clients
More options.
We also now configure the rbd clients directories for logs and socket.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-06-09 17:20:15 +02:00
Bjørnar Ness a5ed377e4e Add rbd_concurrent_management_ops 2015-06-09 00:42:01 +02:00
Sébastien Han bdd4cc4363 Add support for Rados Gateway configuration with Keystone
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-06-03 21:42:16 +02:00
Sébastien Han 8ca8ecc0e1 Fix radosgw startup on RedHat systems
Fix startup and move vars to group_vars

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-06-03 16:31:51 +02:00
Sébastien Han 8dc1554788 Fix multiple things
* fix the Vagrantfile ruby check
* fix the variable positions

Bring more mandatory variables and try to separate Vagrant vars from the
playbook vars.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-05-15 14:32:26 +02:00
Yin Jifeng f0b5691186 make sure journal_size configured 2015-05-14 19:55:09 +08:00
Sébastien Han a37b373357 Ability to secure cluster pools
We set several flags to keep the cluster secure:
* nodelete
* nopgchange
* nosizechange

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-05-12 11:21:16 +02:00
Yin Jifeng 72269eb5a2 update ceph_stable_release var under group_vars 2015-04-14 22:00:43 +08: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
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 30ac90dcfa update ceph noarch repo url 2015-01-22 20:07:46 +08: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 12dc4fbb09 Update group_vars files to match roles defaults vars
Updating each group_vars file to reflect the content of each role
default variables.

Closes: #169

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-06 22:47:49 +01:00
Igor Shestakov ce569b8c6e added auto-discovery of OSD disks 2014-11-13 17:19:18 +03: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
Cornelius Keller 497d987fa9 making vagrant up work 2014-11-07 15:32:49 +01:00
Alexis Lahouze d10d0747d5 Moved OSD directory variables into defaults. 2014-07-08 13:07:44 +02:00
Alexis Lahouze 642d2aea70 Added dummy variable because ansible is not happy when there is no variable in group_vars files. 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
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 bd03dd9b02 Use firefly as the default release
Since Firefly is out, we use it.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-07-03 15:36:59 +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
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
Sébastien Han ed52853d20 Change the default disk numbering
While trying to auto-provision with vagrant, new disks get /dev/sdb and
so forth. So starting from /dev/sdd doesn't make sense.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-04-30 17:57:10 +02:00
Sébastien Han f0b9994a03 Fix non-declared rgw email_address variable
Fix: #77

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2014-04-30 14:56:37 +02: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 f43cc8253f Merge pull request #48 from guestisp/remove-https-for-ceph-key
Remove HTTPS from ceph key url
2014-03-19 14:13:12 +01:00
Alessandro Corbelli fe3b584e8f Remove HTTPS from ceph key url. It's a public key, no need for HTTPS as it trigger "failed to validate the SSL certificate for ceph.com:443" errors 2014-03-19 11:56:31 +01:00
Jimmy Tang 2e17fb8dbe note what the radosgw_interface variable means 2014-03-17 07:17:27 +00:00
Jimmy Tang b34ead5457 make radosgw_interface configurable for haproxy 2014-03-16 09:43:49 +00: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 0b6fb1cc2f Fix typo in group_vars/mons and remove "-C foo" 2014-03-12 15:32:09 +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 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
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 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 a984854956 Add Ceph Playbook
Initial commit.

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