Sage Weil [Mon, 9 Dec 2019 20:46:39 +0000 (14:46 -0600)]
Merge PR #31489 into master
* refs/pull/31489/head:
pybind/rados: add WriteOp::writesame() and test WriteOp::writesame()
pybind/rados: add Ioctx::aio_writesame() and test Ioctx::aio_writesame()
pybind/rados: add Ioctx::writesame() and test Ioctx::writesame()
Sage Weil [Mon, 9 Dec 2019 16:30:26 +0000 (10:30 -0600)]
Merge PR #31907 into master
* refs/pull/31907/head:
mgr/dashboard: properly handle a missing rbd-mirror service status
mgr: cull service daemons when the last instance has been removed
mgr: ensure new daemons are properly indexed by hostname
Reviewed-by: Sage Weil <sage@redhat.com> Reviewed-by: Tatjana Dehler <tdehler@suse.com> Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Ilya Dryomov [Wed, 4 Dec 2019 18:08:46 +0000 (19:08 +0100)]
qa: kernel.sh: unlock before rolling back
"rbd snap rollback" expects an unlocked image, but we may get there
locked if object map is enabled (or if lock_on_read is specified in
rbd_default_map_options).
Ilya Dryomov [Wed, 4 Dec 2019 14:26:54 +0000 (15:26 +0100)]
qa: krbd_exclusive_option.sh: update for recent kernel changes
Since 5.3:
- a plain "rbd map" acquires the lock, so it's not different from
"rbd map -o exclusive" in this regard
- if the lock is held by the exclusive peer, I/O is failed right away
instead of blocking
- lock_timeout option is respected only by "rbd map" and not by I/O
Since 5.5:
- if the mapping is read-only, the lock isn't acquired
Added blacklisting test case, dropped lock_timeout test case.
taodd [Sun, 8 Dec 2019 02:10:59 +0000 (10:10 +0800)]
ceph-volume: fix the type mismatch, covert the tries and interval to int from string. Fixes: https://tracker.ceph.com/issues/43186 Signed-off-by: dongdong tao <dongdong.tao@canonical.com>
Sage Weil [Sat, 7 Dec 2019 21:34:59 +0000 (15:34 -0600)]
mgr/diskprediction_local: import scipy early to fix self-test deadlock
We are seeing a hang on centos7 (but not ubuntu 18.04) from
from .predictor import get_diskfailurepredictor_path
in _predict_life_expentancy.
Doing that same predictor import at the top of the file doesn't help--it
hangs right when the diskpredictor_local module is loaded. Commenting
out the import scipy in predictor.py avoids the hang.
I'm not sure why, but doing the full scipy import here appears to work
around the problem.
Fixes: https://tracker.ceph.com/issues/42764 Signed-off-by: Sage Weil <sage@redhat.com>
Sage Weil [Sat, 7 Dec 2019 18:28:15 +0000 (12:28 -0600)]
Merge PR #32039 into master
* refs/pull/32039/head:
test: Improve races by using kill_daemons which waits for OSDs terminate
test: run-standalone.sh: Only run execs in the subdirectories of qa/standalone
test: Use activate_osd() when restarting OSDs
test: osd-scrub-snaps.sh: Fix race with osd restart and doing a scrub
Sage Weil [Fri, 6 Dec 2019 21:54:06 +0000 (15:54 -0600)]
qa/tasks/mgr/test_orchestrator_cli: test with valid network or IP
Passing 'network' will fail with
Error EINVAL: Failed to parse host list: '['host1:network', 'host2:network', 'host3:network']': u'network' does not appear to be an IPv4 or IPv6 address
Sage Weil [Fri, 6 Dec 2019 21:14:31 +0000 (15:14 -0600)]
ceph-daemon: fix bootstrap ownership of tmp monmap file
The file is created with mode 0644 by the ceph:ceph user, but root
cannot write to that. Instead, create the tmp file owned by root, write
to it, then chown it to user ceph.
David Zafman [Fri, 6 Dec 2019 17:01:41 +0000 (09:01 -0800)]
test: run-standalone.sh: Only run execs in the subdirectories of qa/standalone
This will ignore scripts placed at the qa/standalone level, though
I'm not sure if we should be putting any tests there. It does
allow support scripts present like ceph-helper.sh without modifying
run-standalone.sh to ignore it.
* refs/pull/29964/head:
qa/cephfs: test conf file reading for CephFS shell
qa/cephfs: allow passing conf to methods that runs shell command
qa/vstart_runner: add a method to create temporary file
test_cephfs_shell: update test since shell can now read ceph.conf
src/vstart.sh: add cephfs-shell section to ceph.conf
cephfs-shell: read shell variables from ceph.conf
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
templatize metrics collection so as to reuse quering routines.
`MetricCollector` can be subclassed and along with implementing
` process_reports()` to process incoming metrics data.
also, generalize metrics data in `MMgrReport` and metric query
configuration in `MMgrConfigure`.
Rishabh Dave [Wed, 13 Nov 2019 12:42:13 +0000 (18:12 +0530)]
test_cephfs_shell: update test since shell can now read ceph.conf
In the test
test_cephfs_shell.TestMisc.test_issue_cephfs_shell_cmd_at_invocation,
don't set the shell option with in the command to be tested since
CephFS shell can now read it's value from ceph.conf.
Also, add methods to set config options for vstart as well teuthology
testing.
Rishabh Dave [Wed, 28 Aug 2019 13:57:29 +0000 (19:27 +0530)]
cephfs-shell: read shell variables from ceph.conf
Read ceph.conf and initialize shell variables by reading options set
under section cephfs-shell. If there are sections/options that are
duplicated in ceph.conf, CephFS shell overrides the options with the
values last.
Sage Weil [Thu, 5 Dec 2019 23:18:07 +0000 (17:18 -0600)]
mgr: simply exit on SIGINT or SIGTERM
The python modules don't reliable shut down. We've fixed a few shutdown
bugs chasing https://tracker.ceph.com/issues/42744.
This was compounded by https://tracker.ceph.com/issues/42981, which seems
to suggest something in the python module teardown is screwing with the
signal handlers.
Now that df507cde8d71063d5873a42f668156e4c32e86f9 is there, the mgr will
blacklist all rados clients the mgr instantiates, which means we can just
exit immediately and let the blacklisting clean things up.
Works-around: https://tracker.ceph.com/issues/42981 Fixes: https://tracker.ceph.com/issues/42744 Signed-off-by: Sage Weil <sage@redhat.com>
* refs/pull/29421/head:
qa/cephfs: add tests for ACLs
qa/cephfs: allow running tests from xfstests-dev
qa/tasks: add methods to get monitor's sockets
qa/cephfs: don't crash if mountpoint dir is already deleted
vstart_runner.py: set omit_sudo's default value to False
qa/vstart_runner.py: fix get_keyring_path()
qa/cephfs: don't abort if mountpoint is already present
qa/cephfs: allow specifying mountpoint for kernel mounts
qa/cephfs: allow specifying mountpoints for FUSE mounts
qa/vstart_runner.py: allow specifying mountpoint for local FUSE mounts
qa/mount.py: allow setting mountpoint
qa/vstart_runner.py: add a method to create a temporary directory
Reviewed-by: Jeff Layton <jlayton@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Sage Weil [Thu, 5 Dec 2019 20:37:02 +0000 (14:37 -0600)]
mon/PGMap: use NONE for 'pg ls[-*]' output too
We already show CRUSH_ITEM_NONE as NONE in the 'pg dump' output as of 57bac8ea88e5cdcb3854852d439f7e6cbf9df900; do the same for 'pg ls' (which
is the friendlier of the two and what users should be using anyway!).
This makes vstart *way* faster. This option is only really relevant
for dev test environments. We bumped it up back in dbdd1d9b6ec286982b5e86d4c51f831cc16afc12
from 10G just to make ENOSPC less common in dev/test. Let's see if 100G
is a better balance.
Rodrigo Severo [Thu, 5 Dec 2019 16:41:33 +0000 (13:41 -0300)]
doc: obsolete entries for allow_standby_replay
Nautilus release presented the allow_standby_replay fs setting that obsdoleted
several MDS config entries: mds_standby_for_*, mon_force_standby_active, and
mds_standby_replay.
Removing entries instead of just marking them as "Obsolete' as per batrick
suggestion.
Zac Dover [Thu, 5 Dec 2019 16:16:01 +0000 (02:16 +1000)]
doc: s/achieve/achieves (Fixed a verb disagreement)
This bug changes a clause of the form "When x remains in y status
and never achieve a z status" to a clause of the form "When x remains
in y status and never achieves a z status".
Jason Dillaman [Wed, 30 Oct 2019 18:55:41 +0000 (14:55 -0400)]
mgr/dashboard: block mirroring bootstrap UI
Two new modal windows allow an admin to create a base64-encoded bootstrap token
which can then be imported into dashboard on another cluster. The bootstrap
token embeds all the necessary data required to connect to a peer cluster for
RBD mirroring.
Fixes: http://tracker.ceph.com/issues/42355 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 22 Oct 2019 17:58:31 +0000 (13:58 -0400)]
mgr/dashboard: integrate site name into block mirroring overview
The site name is used to differentiate clusters for RBD mirroring.
The local site name is now displayed on the block mirroring
overview page. It also includes a new modal window to edit the site
name.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>