"make all" does not offer "ceph-disk" and "ceph-detect-init" for
testing. as they are solely used for testing purpose. instead, these two
python command line packages are installed by the "install" target. so
we need to use "make check" to 1) prepare the test dependencies 2)
launch ctest to perform the test.
Signed-off-by: Kefu Chai <kchai@redhat.com>
"rados -p rbd put foo rados" does not work if "rados" is not in current
path. so change it to "rados -p rbd put foo $(which rados)"
Signed-off-by: Kefu Chai <kchai@redhat.com>
we should use the cmake function of add_ceph_test() to add
osd-copy-from.sh as a test. then we won't miss any env variables.
w/o this change, $CEPH_BUILD_VIRTUALENV is not passed to
osd-copy-from.sh.
Signed-off-by: Kefu Chai <kchai@redhat.com>
create temp directory and files in $TMPDIR. the $TMPDIR is hard-wired to
/tmp before this change, we'd better respect the env variable $TMPDIR,
so it would be more consistent, and easier to do the cleanup if any.
Signed-off-by: Kefu Chai <kchai@redhat.com>
rados/client: fix waiting on the condition variable more efficient.
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Sage Weil <sage@redhat.com>
do not copy plugins in unittest_{compression_plugin,async_compressor}
anymore.
42c640e searches in conf->plugin_dir also, if conf->plugin_dir/$type
does not have the requested plugin.
Signed-off-by: Kefu Chai <kchai@redhat.com>
PGMap::recovery_rate_summary() summaries the recovery progress from
a pool's
pool_stat_t.stats.sum.num_{objects_recovered,bytes_recovered,keys_recovered},
now we only increment stats on completion of recovery push, but there
are chances that a PG recovers by pulling data from replicas to primary.
in that case, teuthology will erroneously consider recovery hung: a zero
recovering_keys_per_sec or recovering_bytes_per_sec or
recovering_objects_per_sec. so we should increment stats on pull as
well.
Fixes: http://tracker.ceph.com/issues/16277
Signed-off-by: Kefu Chai <kchai@redhat.com>
If an image is being bootstrapped, it implies that the rbd-mirror
daemon currently has the image open. The removal API will prevent the
removal of any image that is opened by another client.
Works-around: http://tracker.ceph.com/issues/16555
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
send_message is a virtual function, so there is no need to be casting
the pointer to AsyncConnection.
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
`systemd-run` logic in initscripts was introduced because of ticket
http://tracker.ceph.com/issues/7627.
If we have systemd-based operating system, we should use systemd unit files
from systemd directory to start/stop ceph daemons.
Otherwise, `daemon()` from `/etc/init.d/functions` on systemd distro starts service
in `system.slice` and everything works well.
`systemd-run` can not be run on non-systemd distros, so it's not needed
on SysV systems.
also, ceph-disk is now able to run the "systemctl"
to enable and start the ceph-osd, and ceph-deploy is also now
playing well with systemd when it comes to ceph-mon and ceph-mds
Fixes: http://tracker.ceph.com/issues/16440
Signed-off-by: Vladislav Odintsov <odivlad@gmail.com>
`systemd-run` logic in initscripts was introduced because of ticket
http://tracker.ceph.com/issues/7627.
If we have systemd-based operating system, we should use systemd unit files
from systemd directory to start/stop ceph daemons.
Otherwise, `daemon()` from `/etc/init.d/functions` on systemd distro starts service
in `system.slice` and everything works well.
`systemd-run` can not be run on non-systemd distros, so it's not needed
on SysV systems.
also, ceph-disk is now able to run the "systemctl"
to enable and start the ceph-osd, and ceph-deploy is also now
playing well with systemd when it comes to ceph-mon and ceph-mds
Fixes: http://tracker.ceph.com/issues/16440
Signed-off-by: Vladislav Odintsov <odivlad@gmail.com>