Commit Graph

155 Commits (aaeadcab12ca8b91d230bff4b08b74ab11d622ea)

Author SHA1 Message Date
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