Zac Dover [Fri, 29 Jan 2021 16:41:22 +0000 (02:41 +1000)]
doc/dev: Teuthology guide PR#37949 grammar edit
This PR improves the wording of the technical
information added to the documentation in PR#37949.
This is the second is a series of two PRs, which series
is dedicated to testing a workflow wherein developers
add technical information to the documentation and then
technical writers improve its presentation.
crimson/osd: fetch configuration from monitors conditionally.
Before this change we were always attempting to fetch the config
from monitors, even if `--no-mon-config` had been passed. This
was the reason for failures at teuthology like:
http://pulpito.front.sepia.ceph.com/rzarzynski-2021-02-15_21:09:02-rados-master-distro-basic-smithi/5885250
Zac Dover [Tue, 16 Feb 2021 08:37:13 +0000 (18:37 +1000)]
doc/dev: cephfs-shell typo repair
This corrects the formatting for a mention of
cephfs-shell. Previously, it was not properly
formatted. This commit adds two backticks before
the string "cephfs-shell", and adds to backticks
after it.
Sage Weil [Mon, 15 Feb 2021 21:24:41 +0000 (16:24 -0500)]
Merge PR #39424 into master
* refs/pull/39424/head:
cephadm: Mounting <empty> folder for selinux only if it is needed
Reviewed-by: Sage Weil <sage@redhat.com> Reviewed-by: Boris Ranto <branto@redhat.com> Reviewed-by: Sebastian Wagner <swagner@suse.com> Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Sage Weil [Mon, 15 Feb 2021 18:52:30 +0000 (13:52 -0500)]
Merge PR #39282 into master
* refs/pull/39282/head:
osdc/Objecter: remove pool_full_try interface
librados: set FULL_TRY flag on ioctx, not objecter
librados/IoCtxImpl: pass extra_op_flags everywhere
This PR seems to be (indirectly?) responsible for
https://tracker.ceph.com/issues/49237
Also, it was causing the rados.py task's follow-up step to wait
for snap trimming to fail: it would time out a 'ceph osd dump --format=json'
command. :/
Zac Dover [Wed, 10 Feb 2021 01:57:22 +0000 (11:57 +1000)]
doc/dev: teuthology: improve triggering tests
- This PR cleans up the language in the "Triggering
Tests" section of the "Workflow" chapter of the
"Tests: Integration Tests" (Teuthology) guide.
- Added bash prompts.
Kefu Chai [Thu, 11 Feb 2021 18:05:00 +0000 (02:05 +0800)]
doc: split the argdesc pair at the first '='
there is chance that the value of of the argdesc's kv pair contains
"=". for instance, the goodchars regexp could contain '='. so we should
stop at the first '='.
this change fixes the parsing of "osd pool application set" command.
Sebastian Wagner [Fri, 12 Feb 2021 00:06:07 +0000 (01:06 +0100)]
Merge pull request #39364 from mgfritch/cephadm-log-errs
cephadm: add error messages to log file
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com> Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com> Reviewed-by: Varsha Rao <varao@redhat.com>
Sage Weil [Thu, 11 Feb 2021 19:08:19 +0000 (14:08 -0500)]
qa/suites/rados/cephadm/upgrade: change starting version by distro
centos/rhel have podman 2, which does not like conflicting --cap-add and
--privileged arguments. cephadm versions prior to 15.2.5 use both args,
however, which means the rhel/centos upgrade test has to start at 15.2.5
to work at all on those distros (with the updated podman).
Fixes: https://tracker.ceph.com/issues/48142 Signed-off-by: Sage Weil <sage@newdream.net>
Kotresh HR [Fri, 5 Feb 2021 18:05:22 +0000 (23:35 +0530)]
qa: Fix a few mgr/volume test cases
Recovering dirty auth metadata file might not retain the order,
fixed the comparison in 'test_recover_auth_metadata_during_authorize'
and 'test_recover_auth_metadata_during_deauthorize'.
Ken Dreyer [Wed, 10 Feb 2021 15:08:51 +0000 (08:08 -0700)]
cephadm: make /sys/fs/selinux empty
When the following conditions are true:
1) A host has selinux-policy-targeted,
2) We mount the host's /sys into a privileged container,
3) The container has SELINUXTYPE=targeted in /etc/selinux/config,
4) The container does not have an selinux-policy-targeted package,
then SELinux-enabled applications like restorecon or DNF do not work inside
the container.
Resolve this by making /sys/fs/selinux an empty directory.
Fixes: https://tracker.ceph.com/issues/49239 Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Kefu Chai [Wed, 10 Feb 2021 03:47:15 +0000 (11:47 +0800)]
cmake: s/CCACHE_FOUND/CCACHE_EXECUTABLE/
to be more consistent with other find_program() calls.
and more correct this way, as ${CCACHE_FOUND} is not a boolean, it
is a path pointing to the found cache executable.
Sheng Mao [Wed, 10 Feb 2021 03:14:58 +0000 (20:14 -0700)]
cmake: don't pass ccache argument to RocksDB build
RocksDB's cmake has a similar logic to turn on ccache as the main cmake.
Currently BuildRocksDB.cmake explicitly passes ccache to RocksDB cmake
arguments as CMAKE_CXX_COMPILER_LAUNCHER. This causes a compilation error
on ccache 4.0, especially in make -j mode.
ccache: error: Recursive invocation (the name of the ccache binary must
be "ccache")
This commit lets cmake from RocksDB decide RULE_LAUNCH_COMPILE by itself.
Casey Bodley [Mon, 18 Jan 2021 21:59:05 +0000 (16:59 -0500)]
qa/rgw: test_rgw_reshard.py just tries common ports
the 'sudo netstat | grep radosgw' command is causing failures:
File "qa/workunits/rgw/test_rgw_reshard.py", line 53, in get_radosgw_port
x = out.decode('utf8').split(" ")
AttributeError: 'bool' object has no attribute 'decode'
because when valgrind is enabled, the process name is 'valgrind' instead
of 'radosgw'
Nizamudeen A [Tue, 19 Jan 2021 12:35:43 +0000 (18:05 +0530)]
mgr/dashboard: Automatically refresh the crush map metadata table
If we make any change to the osd crush map like do an osd crush reweight from cli, for that change to be reflected on metadata table we need to reload the entire page. Instead this PR takes care of auto refreshing the tree view.
Fixes: https://tracker.ceph.com/issues/48922 Signed-off-by: Nizamudeen A <nia@redhat.com> Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Ilya Dryomov [Mon, 8 Feb 2021 16:01:47 +0000 (17:01 +0100)]
librbd: don't hold owner_lock for validate_image_removal()
handle_exclusive_lock() and handle_shut_down_exclusive_lock() call
validate_image_removal() without owner_lock held, so holding it in
shut_down_exclusive_lock() appears to be redundant.
Ilya Dryomov [Sun, 7 Feb 2021 14:09:24 +0000 (15:09 +0100)]
librbd: treat EROFS as expected in handle_acquire_lock()
If the peer refuses to release exclusive lock (e.g. in case automatic
exclusive lock transitions are disabled), EROFS is retured. Suppress
a rather confusing "Read-only file system" error message -- this case
is no different from EBUSY or EAGAIN.
Ilya Dryomov [Sun, 7 Feb 2021 12:46:15 +0000 (13:46 +0100)]
librbd: refuse to release exclusive lock when removing
Commit 25c2ffe145be ("librbd: acquire exclusive lock from peer when
removing") changed PreRemoveRequest to request exclusive lock from the
peer instead of giving up and proceeding without exclusive lock. This
caused one of the test cases that sometimes runs concurrent "rbd rm"
against the same image to fail intermittently, most often on assert
because exclusive lock is now automatically transitioned to another
"rbd rm" on its request.
The root cause is older and probably goes back to when synchronous
librbd::remove() which held owner_lock across all operations including
trim_image() was converted to a set of state machines. Since then, any
peer that requests exclusive lock (instead of trying once and backing
off) is able to mess with image removal.
Install StandardPolicy to disable automatic exclusive lock transitions
during image removal.