ceph-ansible/library
Dimitri Savineau dcd02e6494 ceph_volume: fix multiple db/wal devices
When using the lvm batch ceph-volume subcommand with dedicated devices
for bluestore (db/wal) then the list of devices is convert to a string
instead of being extended via an iterable.
This was working with only one dedicated device but starting with more
then the ceph_volume module fails.

TASK [ceph-osd : use ceph-volume lvm batch to create bluestore osds] **
fatal: [xxxxxx]: FAILED! => changed=true
  cmd:
  - ceph-volume
  - --cluster
  - ceph
  - lvm
  - batch
  - --bluestore
  - --yes
  - --prepare
  - --osds-per-device
  - '4'
  - /dev/nvme2n1
  - /dev/nvme3n1
  - /dev/nvme4n1
  - /dev/nvme5n1
  - /dev/nvme6n1
  - --db-devices
  - /dev/nvme0n1 /dev/nvme1n1
  - --report
  - --format=json
  msg: non-zero return code
  rc: 2
  stderr: |2-
     stderr: lsblk: /dev/nvme0n1 /dev/nvme1n1: not a block device
     stderr: error: /dev/nvme0n1 /dev/nvme1n1: No such file or directory
     stderr: Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
    usage: ceph-volume lvm batch [-h] [--db-devices [DB_DEVICES [DB_DEVICES ...]]]
                                 [--wal-devices [WAL_DEVICES [WAL_DEVICES ...]]]
                                 [--journal-devices [JOURNAL_DEVICES [JOURNAL_DEVICES ...]]]
                                 [--no-auto] [--bluestore] [--filestore]
                                 [--report] [--yes] [--format {json,pretty}]
                                 [--dmcrypt]
                                 [--crush-device-class CRUSH_DEVICE_CLASS]
                                 [--no-systemd]
                                 [--osds-per-device OSDS_PER_DEVICE]
                                 [--block-db-size BLOCK_DB_SIZE]
                                 [--block-wal-size BLOCK_WAL_SIZE]
                                 [--journal-size JOURNAL_SIZE] [--prepare]
                                 [--osd-ids [OSD_IDS [OSD_IDS ...]]]
                                 [DEVICES [DEVICES ...]]
    ceph-volume lvm batch: error: Unable to proceed with non-existing device: /dev/nvme0n1 /dev/nvme1n1

So the dedicated device list is considered as a single string.

This commit also adds the block_db_devices and wal_devices documentation
to the ceph_volume module.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1816713

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit 760b6cd7b0)
2020-03-30 10:04:26 -04:00
..
__init__.py tests for the ceph_volume module 2017-12-11 09:58:06 -06:00
ceph_add_users_buckets.py rgw users/buckets module 2018-12-20 14:23:25 +01:00
ceph_crush.py ansible: use 'bool' filter on boolean conditionals 2019-06-07 16:05:51 +02:00
ceph_facts Discover rbd facts. 2018-11-20 15:06:01 +01:00
ceph_key.py ceph_key: restore file mode after a key is fetched 2019-11-15 06:10:40 +01:00
ceph_volume.py ceph_volume: fix multiple db/wal devices 2020-03-30 10:04:26 -04:00
config_template Using config_template 2015-12-16 17:19:50 +01:00
igw_client.py iscsi module linting 2018-10-30 14:41:36 +01:00
igw_gateway.py igw: Add check for mismatch ceph-iscsi and iscsigws.yml settings 2019-07-04 00:04:04 +00:00
igw_lun.py iscsi module linting 2018-10-30 14:41:36 +01:00
igw_purge.py igw: Support new ceph-iscsi package during purge 2019-07-04 00:04:04 +00:00
validate library: add a placeholder module for the validate action plugin 2018-05-18 17:58:24 +02:00