Ansible playbooks to deploy Ceph, the distributed filesystem.
 
 
 
 
Go to file
Sébastien Han 5132cc3de4 Do not search osd ids if ceph-volume
Description of problem: The 'get osd id' task goes through all the 10 times (and its respective timeouts) to make sure that the number of OSDs in the osd directory match the number of devices.

This happens always, regardless if the setup and deployment is correct.

Version-Release number of selected component (if applicable): Surely the latest. But any ceph-ansible version that contains ceph-volume support is affected.

How reproducible: 100%

Steps to Reproduce:
1. Use ceph-volume (LVM) to deploy OSDs
2. Avoid using anything in the 'devices' section
3. Deploy the cluster

Actual results:
TASK [ceph-osd : get osd id _uses_shell=True, _raw_params=ls /var/lib/ceph/osd/ | sed 's/.*-//'] **********************************************************************************************************************************************
task path: /Users/alfredo/python/upstream/ceph/src/ceph-volume/ceph_volume/tests/functional/lvm/.tox/xenial-filestore-dmcrypt/tmp/ceph-ansible/roles/ceph-osd/tasks/start_osds.yml:6
FAILED - RETRYING: get osd id (10 retries left).
FAILED - RETRYING: get osd id (9 retries left).
FAILED - RETRYING: get osd id (8 retries left).
FAILED - RETRYING: get osd id (7 retries left).
FAILED - RETRYING: get osd id (6 retries left).
FAILED - RETRYING: get osd id (5 retries left).
FAILED - RETRYING: get osd id (4 retries left).
FAILED - RETRYING: get osd id (3 retries left).
FAILED - RETRYING: get osd id (2 retries left).
FAILED - RETRYING: get osd id (1 retries left).
ok: [osd0] => {
    "attempts": 10,
    "changed": false,
    "cmd": "ls /var/lib/ceph/osd/ | sed 's/.*-//'",
    "delta": "0:00:00.002717",
    "end": "2018-01-21 18:10:31.237933",
    "failed": true,
    "failed_when_result": false,
    "rc": 0,
    "start": "2018-01-21 18:10:31.235216"
}

STDOUT:

0
1
2

Expected results:
There aren't any (or just a few) timeouts while the OSDs are found

Additional info:
This is happening because the check is mapping the number of "devices" defined for ceph-disk (in this case it would be 0) to match the number of OSDs found.

Basically this line:

    until: osd_id.stdout_lines|length == devices|unique|length

Means in this 2 OSD case it is trying to ensure the following incorrect condition:

    until: 2 == 0

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1537103
2018-01-30 14:44:38 +01:00
contrib contrib: do not skip ci on backport 2017-12-14 17:23:02 +01:00
docker docker: add README documenting directory purpose 2016-09-21 18:21:50 -04:00
docs docs for creating encrypted OSDs with the lvm scenario 2018-01-24 14:10:08 +01:00
group_vars Add default for radosgw_keystone_ssl 2018-01-30 11:30:23 +01:00
infrastructure-playbooks upgrade: skip luminous tasks for jewel minor update 2018-01-25 18:30:34 +01:00
library ceph-volume: adds a dmcrypt param to the ceph_volume module 2018-01-24 14:10:08 +01:00
plugins/actions ceph-defaults: fix handlers that are always triggered 2017-10-13 16:15:27 +02:00
profiles Common: Add profiles 2017-07-19 11:50:03 +02:00
roles Do not search osd ids if ceph-volume 2018-01-30 14:44:38 +01:00
tests tests: remove crush_device_class from lvm tests 2018-01-18 15:03:38 +01:00
.gitignore common: do not run tasks in main.yml, use include 2016-12-09 16:00:46 +01:00
LICENSE Add Ceph Playbook 2014-03-03 19:08:51 +01:00
Makefile Makefile: handle "beta" Git tags 2018-01-12 14:45:19 +01:00
README-MULTISITE.md Experimental RGW Multisite Support 2016-08-16 14:57:01 -04:00
README.rst docs: remove the old README and link to the hosted docs 2017-08-17 16:03:04 -05:00
Vagrantfile Vagrantfile: Fixed repeated OSD controller creation 2017-12-11 11:24:55 +01:00
action_plugins Adding symlink to action_plugins so this works in ansible tower 2016-12-12 10:57:51 -05:00
ansible.cfg ansible: set ssh retry option to 5 2018-01-23 16:16:20 +01:00
ceph-aio-no-vagrant.sh osd: simplify scenarios 2017-08-03 10:20:39 +02:00
ceph-ansible.spec.in ci: test on ansible 2.4.2 2018-01-11 17:27:42 +01:00
dummy-ansible-hosts Fix Travis 2015-01-21 16:33:26 +01:00
example-ansible-role-requirements.yml add a galaxy dependency file example 2016-02-12 15:55:42 +01:00
generate_group_vars_sample.sh generate_group_vars_sample: rhcs.yml.sample 2017-08-03 23:05:42 +02:00
monitor_keys_example Add Monitor Keys example 2015-01-30 16:17:46 +01:00
rhcs_edits.txt common: refactor installation method 2017-08-30 10:52:01 +02:00
rundep.sample Allow ceph-ansible to be run on a locally built/installed Ceph 2016-08-12 10:02:15 -04:00
rundep_installer.sh Allow ceph-ansible to be run on a locally built/installed Ceph 2016-08-12 10:02:15 -04:00
site-docker.yml.sample site-docker: ability to disable fact sharing 2017-12-19 17:22:11 +01:00
site.yml.sample ceph-common: Add initial support for openSUSE Leap distributions 2017-11-14 10:51:22 +00:00
test.yml remove rbd-mirror as well from testing. No packages are available yet 2016-04-12 07:38:13 -04:00
tox.ini ci: test on ansible 2.4.2 2018-01-11 17:27:42 +01:00
vagrant_variables.yml.atomic vagrantfile: Ensure `devices` variable is a list 2017-07-13 00:44:49 +02:00
vagrant_variables.yml.linode vagrant: use group_vars for ceph pkg source 2016-10-21 10:46:11 -04:00
vagrant_variables.yml.openstack vagrantfile: Ensure `devices` variable is a list 2017-07-13 00:44:49 +02:00
vagrant_variables.yml.sample vagrant_variables.yml.sample: Add openSUSE box 2017-11-14 10:51:23 +00:00

README.rst

ceph-ansible
============
Ansible playbooks for Ceph, the distributed filesystem.

Please refer to our hosted documentation here: http://docs.ceph.com/ceph-ansible/master/

You can view documentation for our ``stable-*`` branches by substituting ``master`` in the link
above for the name of the branch. For example: http://docs.ceph.com/ceph-ansible/stable-2.2/