Commit Graph

257 Commits (60746d932783b89881c75b2f8302093dccbb8987)

Author SHA1 Message Date
Sébastien Han 17bc64e1ea use dnf when yum is not available
fixes the `importError: No module named yum` see here:
https://jenkins.ceph.com/job/ceph-ansible-pull-requests/45/console

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-28 19:11:22 +01:00
Andrew Schoen 1fc8a17eb0 Add defaults for ceph_stable_ice_tmp_path and ceph_stable_ice_kmod
It seems that in ansible 2.0 even if a task is skipped by it's `when`
clause not evaluating to true the variables in the play are still
rendered. Because these were not defined in defaults/main.yml ansible
was failing in installs/install_on_redhat where those variables are
being used in a `with_items` stanza.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-01-28 11:40:18 -06:00
Sébastien Han 21cd46bf8a remove unecessary variables
these variables will be created on the fly, there is no need to force
them.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-27 23:58:51 +01:00
Sébastien Han 64b32020e9 Necessary change to work on ansible v2
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-25 11:21:30 +01:00
mcsage 8b78b96df5 Changed vm.min_free_kbytes to 4 GB
vm.min_free_kbytes was in bytes not in kbytes.
2016-01-20 20:27:49 +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
Leseb 4466af8c6e Merge pull request #484 from ceph/clarify-ceph-origin-repo
Clarify ceph_origin usage
2016-01-15 19:11:36 +01: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
Ben England b5cdacb136 help ansible find repo template from installs subdirectory 2016-01-15 12:52:31 -05:00
Logan V d23b27e6d7 allow customization of debian ceph stable repo url 2016-01-11 12:13:09 -06:00
Sébastien Han 789834f847 Do not make nmap mandatory
We can not force people to have nmap installed so instead we raise a
warning is not present.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-10 17:22:17 +01:00
Sébastien Han 0a576bebf9 Fix firewall check
Use command module instead of shell since we do not do anything fancy
here. Remove the duplicate register.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-10 16:52:37 +01:00
Sébastien Han 9209f50868 Check for blocked ports
As raised in #466 it is important in order to avoid unnecessary
troubleshooting to check that ceph ports are allowed on the platform.
The check runs a nmap command from the host running Ansible
to all the ceph nodes with their respective ports.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-01-08 18:57:13 +01:00
Ben England 3ba824ffd8 use proper syntax for expanding variables 2016-01-08 08:54:00 -05:00
Leseb 1664316d4d Merge pull request #460 from crcceph/master
fixed for infernalis on EL7
2015-12-17 10:22:51 +01:00
crcceph d89ddb1cee moved set_fact higher in file
moved set_fact for is_ceph_infernalis near top of file so that it can be used in other tests
2015-12-16 11:01:39 -08:00
crcceph 923cd6fc2c move set_fact above test
moved the set_fact above where it is being tested
2015-12-16 09:01:36 -08: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
crcceph 6d91bdaf36 added python-setuptools as dependency
CentOS7 needs python-setuptools for /usr/bin/ceph-init-detect to work correctly
2015-12-15 23:23:37 -08:00
crcceph 4dd993ebae changed permissions under ceph user
when running under the user ceph the rbd client directory should be owned by ceph
2015-12-15 23:19:07 -08:00
Sébastien Han f19b765f79 Change default civetweb port to 8080
Because of some permission issue, likely due to the recent ceph user, if
80 is used for civetweb we get:

set_ports_option: cannot bind to 80: 13 (Permission denied)

Changing the port to 8080 until this gets solved.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-15 23:28:08 +01:00
Leseb abb86d331d Merge pull request #457 from ceph/rgw-log-dir
Use /var/log/ceph for rgw logs
2015-12-15 23:23:09 +01:00
Sébastien Han 8f6870f3a6 Use /var/log/ceph for rgw logs
We should not bother having another directory for this. So we stick with
the default logging dir.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-15 23:22:19 +01:00
Leseb e412ac3f66 Merge pull request #442 from ceph/infernalis-for-rh-storage
Support infernalis for rh storage
2015-12-15 23:20:36 +01:00
Sébastien Han e6a9727478 Support infernalis for rh storage
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-15 22:07:45 +01:00
Abhishek Varshney bd7c03aa3d removed rgw print continue = false, to set it to its default value of true 2015-12-15 21:35:17 +05:30
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 46af3496d4 Add ceph_stable_releases array to ceph-common/defaults/main.yml
rework the various `when' tests to use that array.
2015-12-09 15:52:23 -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 3197896973 Reserve some memory
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-12-07 09:01:08 +01:00
Eike Frost d49e8bd904 Add systemd-specific start/restart tasks/handlers for el7/infernalis 2015-11-20 22:34:29 +01:00
Sébastien Han 83b2a51fe1 Fail for unsupported ansible version
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-11-20 15:30:18 +01: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
Huamin Chen 860125ff8f various fixes for CentOS
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-11-05 20:39:03 +00: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
Emilien Mantel bd7d776e3b Fix and improve checks when ceph_origin == 'distro' 2015-09-21 18:04:19 +02:00
Sébastien Han e0c588ef4d Use new signed key for packages
See:
http://ceph.com/releases/important-security-notice-regarding-signing-key-and-binary-downloads-of-ceph/

Signed-off-by: Sébastien Han <sebhan@cisco.com>
2015-09-18 08:47:05 +02:00
Leseb 8a5bf6bcf7 Merge pull request #402 from msambol/refactor_ceph_common
Update ceph-common styling
2015-09-04 11:47:06 +02:00
Michael Sambol 66259dc1c9 Refactor ceph-common, adjust styling 2015-09-03 21:09:33 -05: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 5849579fa7 Do not check for devices when device autodetect
Closes: #399

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-09-02 14:19:19 +02:00
Abhishek Varshney d87fbdfffd fixing sysctl command to take whitespace-separated multi values for a key 2015-09-02 12:50:03 +05:30
Leseb 00bca9a535 Merge pull request #394 from ti-mo/master
Enable optional-rpms on official RHEL for yum-plugin-priorities
2015-09-01 17:03:08 +02:00
Timo Beckers e0ebd05565 Enable optional-rpms on official RHEL for yum-plugin-priorities 2015-09-01 16:59:52 +02: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 0410f6a258 Merge pull request #389 from AcalephStorage/fix-for-different-monitor-interfaces
Fix for error when the nodes don't have the same interface name.
2015-08-31 14:27:17 +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 b99355839a Remove capital letters 2015-08-31 14:23:20 +02:00
dexter dd65c5ebb1 use hostvars for monitor interface in ceph.conf if available, else, fallback to just the plain monitor_interface var 2015-08-28 00:41:15 +08: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
Emilien Mantel b187393a93 Get Ceph from distro repository (debian-based) 2015-08-27 11:26:54 +02:00
git-harry f60179e33f Prevent failure from race creating fetch directory
When multiple monitor hosts attempt to create the fetch directory there
is the potential for the task to fail with:

  "OSError: [Errno 17] File exists: 'fetch'"

This appear to be an issue with the file module trying to create the
same directory at the same time when the tasks has been delegated to a
single host.

This commit enables run_once on the affected task which should address
the issue.
2015-08-26 10:49:22 +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
dexter a39bd9f2a6 missing quotes. :( 2015-08-26 16:31:01 +08:00
dexter 873c5cffb2 Fix for error when the nodes don't have the same interface name.
This is a rare case but it happens. Since we're just calling
`monitor_interface` and not `hostvars[host]['monitor_interface'],
an error may occur when the current host's interface does not
exist on the other hosts. (eg. eth0 exists for node0, but it does
not exist on node1 and node2)

Fix for this is to use hostvars[host]['monitor_interface']
2015-08-26 16:11:21 +08:00
Andy McCrae 942f914b84 Check to ensure device checks only happen on osds
Add bool for osd_group_name in group_names for osd checks.
2015-08-17 12:45:20 +01:00
Sébastien Han 476c5df38f Use latest packages
Fix back the rolling update playbook.
However every single time the playbook will run it will check for new
packages and install the latest ones. I don't think this is always the
desired behaviour. We need to find a way to conciliate both...

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-17 11:28:20 +02:00
Andy McCrae 25a45332f3 Fix devices check for raw_multi_journal
Fix the logic for the mandatory devices check so that it applies to
raw_multi_journal and journal_collocation scenarios separately.

This fails otherwise because whichever var is "first" in the or is most
likely undefined.
2015-08-14 15:43:10 +01:00
Leseb 6fa7038ab1 Merge pull request #371 from msambol/revert-367-stat_module
Revert "Use stat module instead of shell"
2015-08-07 09:51:59 +02:00
Michael Sambol c187e1ff83 Revert "Use stat module instead of shell" 2015-08-07 00:07:51 -05:00
Michael Sambol 4661dc86fd Update ceph-common README 2015-08-06 09:29:30 -05:00
Michael Sambol 36052b15fb Update ceph-common README 2015-08-06 09:27:52 -05:00
Michael Sambol 6b5f278da1 Update ceph-common README 2015-08-06 08:15:42 -05:00
Michael Sambol 0342bc7fcc Update ceph-common README 2015-08-06 08:13:46 -05:00
Michael Sambol 4531b67a4f Use stat module instead of shell 2015-08-05 23:06:09 -05:00
Sébastien Han f671e91e61 Fix the sudoer template
+ cleanup the docker.yml from OSD.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-03 23:53:08 +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
Michael Sambol 32c149d4f5 Verify only one osd scenario 2015-07-31 22:02:05 -05:00
Michael Sambol e6f22b948c Failed_when instead of ignore_errors
Changed ignore_errors to failed_when so the output doesn't show in
red.
2015-07-29 13:35:46 -05:00
Matt Thompson b12d3374e4 Define dependencies in ceph-common's meta/main.yml
I'm currently getting a KeyError due to missing 'dependencies' on this
role when I attempt to install it with ansible-galaxy (ansible 1.9.2).
This commit simply defines an empty dependencies list so that
ansible-galaxy executes correctly.
2015-07-28 10:48:07 +01:00
leseb 2cb0fab421 Add contribution note
Signed-off-by: leseb <seb@redhat.com>
2015-07-25 11:10:39 +02:00
Leseb 888ea92854 Merge pull request #340 from ceph/add-readmes
Add READMEs for each roles
2015-07-25 10:55:04 +02:00
leseb d84159bdb3 Add READMEs for each roles
Galaxy here we are!

Signed-off-by: leseb <seb@redhat.com>
2015-07-25 10:51:53 +02:00
Andrew F. Ly 76d2cd381d Create a local fetch directory if it doesn't exist 2015-07-24 22:10:39 -05: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 f1e6b0216d Re-arrange roles
Trying to add more clarity in the role's task structure.

Signed-off-by: leseb <seb@redhat.com>
2015-07-24 14:50:32 +02:00
leseb 7bb28afdd8 First steps to Ansible Galaxy
Signed-off-by: leseb <seb@redhat.com>
2015-07-23 11:45:19 +02:00
leseb 1112cf5431 Add primary affinity option
Signed-off-by: leseb <seb@redhat.com>
2015-07-20 14:48:58 +02:00
leseb 5fc4d846a6 Do not track fetch directory
Signed-off-by: leseb <seb@redhat.com>
2015-07-17 18:14:12 +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 4b63bb92ba Fix variable
Should have looked at Travis this time...

Signed-off-by: leseb <seb@redhat.com>
2015-07-08 11:17:27 +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 d432af18fe Do not use latest package
While re-running the playbook we do not want to check for new packages.
We shouldn't perform upgrades, we leave this to the operators.

Signed-off-by: leseb <seb@redhat.com>
2015-07-07 10:39:05 +02:00
leseb 52ddb461b6 Ignore errors
If we don't ignore errors here, the node will get skipped for the rest
of the playbook...

Signed-off-by: leseb <seb@redhat.com>
2015-07-06 18:22:01 +02:00
leseb ed3a7136da Fix a terrible mistake in the ceph.conf template
Feel so bad about this one...
Now it's fixed, the rgw section will be activated once the rgws hosts
are part of the inventory.

Signed-off-by: leseb <seb@redhat.com>
2015-07-06 17:39:37 +02:00
leseb 070b790af0 Speed up repository check
Even if the subcription command is indempotent it takes around 15/16sec
to get it done. Where with the simple yum check we lower down this to
3sec.

Signed-off-by: leseb <seb@redhat.com>
2015-07-06 17:29:25 +02:00
leseb 6cda705c43 Do not change when adding the repo
Since the command is indempotent we don't need to check if the repo is
enabled as it will likely take twice the time.

Signed-off-by: leseb <seb@redhat.com>
2015-07-06 17:03:31 +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 08fad35751 Merge pull request #313 from ceph/change-default-options
Change default options
2015-07-03 18:48:58 +02:00
leseb b0891016a9 Fix the method used
We need to collect the iso from the ansible server.

Signed-off-by: leseb <seb@redhat.com>
2015-07-03 18:43:04 +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 17dd29a556 Merge pull request #312 from ceph/disable-cdn-option
Safer check
2015-07-03 16:57:51 +02:00
leseb d331af4e16 Safer check
Without this, the subcription manager will run since the default value
for cdn is true...

Signed-off-by: leseb <seb@redhat.com>
2015-07-03 16:56:34 +02:00
Leseb f4414208d2 Merge pull request #311 from ti-mo/python2-local-action
Use local_action to ensure Ansible executes under python2
2015-07-03 16:54:38 +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
Timo Beckers d28bd99f89 Use local_action to ensure Ansible executes under python2 2015-07-03 16:25:17 +02:00