ceph-ansible/infrastructure-playbooks
Dimitri Savineau 1185b7e86a osds: use pg stat command instead of ceph status
The ceph status command returns a lot of information stored in variables
and/or facts which could consume resources for nothing.
When checking the pgs state, we're using the pgmap structure in the ceph
status output.
To optimize this, we could use the ceph pg stat command which contains
the same needed information.
This command returns less information (only about pgs) and is slightly
faster than the ceph status command.

$ ceph status -f json | wc -c
2000
$ ceph pg stat -f json | wc -c
240
$ time ceph status -f json > /dev/null

real	0m0.529s
user	0m0.503s
sys	0m0.024s
$ time ceph pg stat -f json > /dev/null

real	0m0.426s
user	0m0.409s
sys	0m0.016s

The data returned by the ceph status is even bigger when using the
nautilus release.

$ ceph status -f json | wc -c
35005
$ ceph pg stat -f json | wc -c
240

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit ee50588590)
2020-11-03 14:38:49 -05:00
..
untested-by-ci ansible: use 'bool' filter on boolean conditionals 2019-06-07 16:05:51 +02:00
vars osd: remove variable osd_scenario 2019-04-12 00:45:21 +00:00
README.md doc: update infra playbooks statements 2020-03-16 14:43:35 +01:00
add-mon.yml facts: explicitly disable facter and ohai 2020-07-20 21:23:48 +02:00
add-osd.yml facts: explicitly disable facter and ohai 2020-07-20 21:23:48 +02:00
ceph-keys.yml rename docker_exec_cmd variable 2019-05-17 16:05:58 +02:00
docker-to-podman.yml ceph-crash: introduce new role ceph-crash 2020-09-10 20:35:04 -04:00
filestore-to-bluestore.yml fs2bs: support `osd_auto_discovery` scenario 2020-09-29 10:48:36 -04:00
gather-ceph-logs.yml remove ceph restapi references 2019-06-20 15:15:10 -04:00
lv-create.yml lv-create: fix a typo 2019-09-26 16:21:54 +02:00
lv-teardown.yml improve coding style 2019-05-06 15:09:06 +00:00
purge-cluster.yml purge: remove potential socket leftover 2020-09-14 16:51:00 -04:00
purge-container-cluster.yml purge: remove potential socket leftover 2020-09-14 16:51:00 -04:00
purge-docker-cluster.yml purge: rename playbook (container) 2019-12-04 09:12:41 -05:00
purge-iscsi-gateways.yml purge/update: remove backward compatibility legacy 2020-02-03 09:33:05 -05:00
rgw-add-users-buckets.yml Example ceph_add_users_buckets playbook 2018-12-20 14:23:25 +01:00
rolling_update.yml osds: use pg stat command instead of ceph status 2020-11-03 14:38:49 -05:00
shrink-mds.yml shrink-mds: use mds_to_kill_hostname instead 2020-08-18 15:10:06 -04:00
shrink-mgr.yml shrink-mgr: fix systemd condition 2020-03-03 15:19:45 +01:00
shrink-mon.yml shrink: don't use localhost node 2020-03-03 15:19:45 +01:00
shrink-osd.yml common: don't enable debug log on ceph-volume calls by default 2020-08-13 14:21:44 +02:00
shrink-rbdmirror.yml shrink-rbdmirror: fix presence after removal 2020-03-03 15:19:45 +01:00
shrink-rgw.yml facts: explicitly disable facter and ohai 2020-07-20 21:23:48 +02:00
storage-inventory.yml common: don't enable debug log on ceph-volume calls by default 2020-08-13 14:21:44 +02:00
switch-from-non-containerized-to-containerized-ceph-daemons.yml osds: use pg stat command instead of ceph status 2020-11-03 14:38:49 -05:00
take-over-existing-cluster.yml remove ceph-agent role and references 2019-06-17 15:56:00 -04:00

README.md

Infrastructure playbooks

This directory contains a variety of playbooks that can be used independently of the Ceph roles we have. They aim to perform infrastructure related tasks that would help use managing a Ceph cluster or performing certain operational tasks.

To use them, run ansible-playbook infrastructure-playbooks/<playbook>.