]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Volker Theile [Tue, 11 Aug 2020 13:26:24 +0000 (15:26 +0200)]
mgr/dashboard: Hide table action input field if limit=0
Fixes: https://tracker.ceph.com/issues/46901
Signed-off-by: Volker Theile <vtheile@suse.com>
(cherry picked from commit
241855f3e3fee5ceea5d3b3060793ff619f32c6c )
Yuri Weinstein [Thu, 20 Aug 2020 20:21:35 +0000 (13:21 -0700)]
Merge pull request #36289 from dillaman/wip-config-noise-nautilus
nautilus: common/config: less noise about configs from mon we can't apply
Reviewed-by: Neha Ojha <nojha@redhat.com>
Patrick Donnelly [Wed, 19 Aug 2020 20:49:00 +0000 (13:49 -0700)]
Merge PR #36448 into nautilus
* refs/pull/36448/head:
mgr: Add python-enum34 dependency to package for older distributions
mgr/volumes: Add documentation regarding --retain-snapshots option
mgr/volumes: Avoid trashing retained subvolume on create errors
mgr/volumes: Add subvolume v2 test cases
mgr/volumes: Derive v2 from v1 to leverage common methods
mgr/volumes: Introduce v2 subvolumes
mgr/volumes: Use operation type during subvolume open
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Nathan Cutler [Sat, 15 Aug 2020 13:40:20 +0000 (15:40 +0200)]
Merge pull request #36415 from shyukri/wip-46638-nautilus
nautilus: doc/rbd: add rbd-target-gw enable and start
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Yuri Weinstein [Thu, 13 Aug 2020 17:44:18 +0000 (10:44 -0700)]
Merge pull request #36390 from smithfarm/wip-46799-nautilus
nautilus: rgw: append obj: prevent tail from being GC'ed
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Wed, 12 Aug 2020 16:06:00 +0000 (09:06 -0700)]
Merge pull request #36494 from rhcs-dashboard/wip-make_check-nautilus
nautilus: run-make-check.sh: extract run-make.sh + run sudo with absolute path
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Yuri Weinstein [Wed, 12 Aug 2020 14:23:28 +0000 (07:23 -0700)]
Merge pull request #36379 from dzafman/wip-46096-nautilus-smithfarm
nautilus: mon: Warn when too many reads are repaired on an OSD
Reviewed-by: Neha Ojha <nojha@redhat.com>
Jan Fajerski [Wed, 12 Aug 2020 12:19:10 +0000 (14:19 +0200)]
Merge pull request #36493 from rishabh-d-dave/cv-naut-test-fix
nautilus: ceph-volume: fix test_lvm.TestVolume.test_is_not_ceph_device
Jan Fajerski [Wed, 12 Aug 2020 12:18:29 +0000 (14:18 +0200)]
Merge pull request #35878 from ceph/wip-nautilus-32493
nautilus: ceph-volume: don't use container classes in api/lvm.py
Jan Fajerski [Wed, 12 Aug 2020 12:16:45 +0000 (14:16 +0200)]
Merge pull request #35881 from ceph/wip-nautilus-34744
nautilus: ceph-volume: handle idempotency with batch and explicit scenarios
Yuri Weinstein [Tue, 11 Aug 2020 17:41:23 +0000 (10:41 -0700)]
Merge pull request #36435 from yuriw/wip-yuriw-cleanup-nautilus
qa/tests: moved client-upgrade* under new dir
Reviewed-by: Neha Ojha <nojha@redhat.com>
Jenkins Build Slave User [Mon, 10 Aug 2020 20:15:22 +0000 (20:15 +0000)]
14.2.11
Shyamsundar Ranganathan [Wed, 5 Aug 2020 15:19:26 +0000 (11:19 -0400)]
mgr: Add python-enum34 dependency to package for older distributions
Subvolumes v2 introduces Enum usage, that is not part of python<=3.4 and is
provided as an extra package python-enum34 till python 2.4 version.
Added this as an explicit dependency to packaging, to ensure it is installed
in required distributions.
python-enum34 is also used by mgr-dashboard
(src/pybind/mgr/dashboard/plugins/feature_toggles.py) but the dependency is
not called out explicitly and is satisfied by, python-pyopenssl, which
depends on python-cryptography, which depends on python-enum34.
Platform availability notes:
- centos7 comes with python-enum34
- centos8 does not require this, as python versions are higher, and Enum is part
of the language itself
- openSUSE 15.1/2 comes with python-enum34
- Ubuntu Xenial/Bionic comes with python-enum34
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
Shyamsundar Ranganathan [Tue, 21 Jul 2020 13:43:18 +0000 (09:43 -0400)]
mgr/volumes: Add documentation regarding --retain-snapshots option
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
Shyamsundar Ranganathan [Thu, 16 Jul 2020 01:03:58 +0000 (21:03 -0400)]
mgr/volumes: Avoid trashing retained subvolume on create errors
On any create or create_clone errors the entire subvolume was being
removed. This should be conditional and remove only the incarnation
if the subvolume was in the retained state.
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
Shyamsundar Ranganathan [Tue, 14 Jul 2020 21:41:54 +0000 (17:41 -0400)]
mgr/volumes: Add subvolume v2 test cases
Added test cases for v2 subvolumes
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
Conflicts:
qa/tasks/cephfs/test_volumes.py
blacklist previous instance of ceph-mgr during failover, not backported, required intervention
Shyamsundar Ranganathan [Wed, 8 Jul 2020 12:15:57 +0000 (08:15 -0400)]
mgr/volumes: Derive v2 from v1 to leverage common methods
With v2 introduction in subvolumes, there is quite a bit of
common code and methods that both v1 and v2 share.
To reduce overall code bloat and improve maintainability, derive
SubvolumeV2 from SubvolumeV1.
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
Conflicts:
src/pybind/mgr/volumes/fs/operations/versions/subvolume_base.py
subvol pin operation not backported, required resolution
src/pybind/mgr/volumes/fs/operations/versions/subvolume_v1.py
Updated features with Enum values
Shyamsundar Ranganathan [Sun, 5 Jul 2020 23:17:02 +0000 (19:17 -0400)]
mgr/volumes: Introduce v2 subvolumes
Implements subvolume v2 version.
Following support is added,
- Ability to retain snapshots on subvolume deletion
- Modify directory where snapshot is created to the subvolume
- "features" supported to subvolume info output, specifically ability
for a subvolume to retain snashots
- Current state of subvolume in info output
- Auto upgrade to v2 from eligible v1 subvolumes
- Adjust other functions as needed to support the changes
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
Conflicts:
src/pybind/mgr/volumes/fs/volume.py
CephfsClient implementation is not backported, required resolution
Correct single instance of deprecated log.warn invocation
Shyamsundar Ranganathan [Thu, 2 Jul 2020 01:08:34 +0000 (21:08 -0400)]
mgr/volumes: Use operation type during subvolume open
Subvolume open currently takes in 2 optional parameters to
denote desired state and type. This enables the open to
allow the operation to suceed based on the (type, state)
tuple.
Instead, pass an operation type to be performed on a subvolume
during open, and decide internal to a subvolume version if the
operation is allowed based on its state and type.
Also modifies the state machine code, to be more amenable to
modifications and improves redability.
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
(cherry picked from commit
f380bf79435ccae21df12d19e530ef0d89a5cc8d )
Conflicts:
src/pybind/mgr/volumes/fs/operations/op_sm.py
subvol pin operation is not backported, required manual resolution
src/pybind/mgr/volumes/fs/volume.py
mypy type checks are not backported, required manual resolution
David Zafman [Thu, 30 Jul 2020 00:55:10 +0000 (00:55 +0000)]
osd, test: Special Nautilus handling because there is no health mute
osd: Add clear_shards_repaired osd tell command
test: Replace mute handling in test case
Signed-off-by: David Zafman <dzafman@redhat.com>
David Zafman [Tue, 16 Jun 2020 23:28:58 +0000 (16:28 -0700)]
test: flush_pg_stats() ignore OSDs that don't respond to getting sequence
This eliminates bogus errors in the logs and returned from flush_pg_stats()
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
41322eaa62be0de20fdedb44d5817a3f1916ab5e )
David Zafman [Wed, 10 Jun 2020 02:24:00 +0000 (19:24 -0700)]
mgr: Warn when too many reads are repaired on an OSD
Include test case
Configurable by setting mon_osd_warn_num_repaired (default 10)
Ignore new health warning with random eio injection test
Fixes: https://tracker.ceph.com/issues/41564
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
661996d4342c427209b1eae4b0247f8210a00fc3 )
Conflicts:
PendingReleaseNotes
- add pending release note under version heading that makes sense for
nautilus
src/mon/PGMap.cc
-
d0eb22f3ba557b9e98836995c813ea77c5e7c2a5 is not backported to
nautilus, so the "health_check_t& add()" function takes only three
arguments: omit the fourth
Yuri Weinstein [Fri, 7 Aug 2020 23:54:32 +0000 (16:54 -0700)]
Merge pull request #36526 from batrick/i46860-followup
qa: skip cache_size check
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Patrick Donnelly [Fri, 7 Aug 2020 21:51:09 +0000 (14:51 -0700)]
qa: skip cache_size check
Now that we're using the memory limit, this is check is not necessary.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Yuri Weinstein [Fri, 7 Aug 2020 23:25:04 +0000 (16:25 -0700)]
Merge pull request #36513 from batrick/i46860
nautilus: mds: do not raise "client failing to respond to cap release" when client working set is reasonable
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Yuri Weinstein [Fri, 7 Aug 2020 23:22:56 +0000 (16:22 -0700)]
Merge pull request #36512 from batrick/i46858
nautilus: qa: add debugging for volumes plugin use of libcephfs
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Yuri Weinstein [Fri, 7 Aug 2020 23:21:50 +0000 (16:21 -0700)]
Merge pull request #36511 from batrick/i46856
nautilus: client: static dirent for readdir is not thread-safe
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Yuri Weinstein [Fri, 7 Aug 2020 23:20:22 +0000 (16:20 -0700)]
Merge pull request #36462 from ukernel/nautilus-46831
nautilus: mds: initialize MDSlaveUpdate::waiter
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Yuri Weinstein [Fri, 7 Aug 2020 23:18:58 +0000 (16:18 -0700)]
Merge pull request #35272 from jan--f/wip-doc-allow_standby_replay-nautilus
nautilus: doc: obsolete entries for allow_standby_replay
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Fri, 7 Aug 2020 20:26:47 +0000 (13:26 -0700)]
qa: use real entity for config_get
So this changed in Octopus/Pacific to allow
ceph config get mds foo
but it doesn't work in Nautilus which expects a real entity:
https://pulpito.ceph.com/yuriw-2020-08-07_15:03:29-kcephfs-wip-yuri4-testing-2020-08-07-1350-nautilus-distro-basic-smithi/
5308647 /
2020-08-07T18:56:49.830 INFO:teuthology.orchestra.run.smithi106.stderr:2020-08-07 18:56:49.833
7fbe0d7fa700 1 -- 172.21.15.106:0/
369883181 <== mon.1 v2:172.21.15.106:3300/0 7 ==== mon_command_ack([{"prefix": "config get", "who": "mds", "key": "mds_min_caps_per_client"}]=-22 unrecognized entity 'mds' v1) v1 ==== 131+0+0 (secure 0 0 0) 0x7fbdf8000940 con 0x7fbdf40064c0
2020-08-07T18:56:49.830 INFO:teuthology.orchestra.run.smithi106.stderr:Error EINVAL: unrecognized entity 'mds'
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Thu, 6 Aug 2020 17:57:20 +0000 (10:57 -0700)]
qa: add tests for mds_min_caps_working_set
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
f4fc138849cc821d1d327ac1c82206c14dac8028 )
Conflicts:
qa/tasks/cephfs/test_client_limits.py
Patrick Donnelly [Thu, 6 Aug 2020 16:04:23 +0000 (09:04 -0700)]
mds: add working set minimum for caps
A client may hold many inodes pinned in its cache for open files. That
client may be unable to release those caps to respond to cache pressure
from the MDS (or quiescent client cap recall). We should not complain if
that number of capabilities is reasonable (< 10k by default).
Fixes: https://tracker.ceph.com/issues/46830
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
63392e1b65fbead6ef8c7acd6a70e6ef5b322390 )
Patrick Donnelly [Thu, 6 Aug 2020 17:56:57 +0000 (10:56 -0700)]
qa: use config_set/config_get
It's simpler and does not require MDS restarts.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
edc5c14d1cb194760f91dcdb0385007df32aef45 )
Conflicts:
qa/tasks/cephfs/test_client_limits.py
Patrick Donnelly [Thu, 6 Aug 2020 17:55:21 +0000 (10:55 -0700)]
qa: do not append file names to dirname
Otherwise the files generated are not actually under the sub-directory!
This is correcting a confusing aspect of the test infrastructure but
doesn't actually require any changes to the tests.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
ac6c150eb07ddd61c33fc4fad034fee6f5fbad35 )
Patrick Donnelly [Thu, 6 Aug 2020 17:53:58 +0000 (10:53 -0700)]
qa: add exception for test timeouts
To make this easier to catch. It is still a RuntimeError so it should
not affect current tests by default.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
dbc44e5e342605c16e1213120bec0bfec1c0091d )
Patrick Donnelly [Wed, 5 Aug 2020 17:50:03 +0000 (10:50 -0700)]
qa: log entrance/exit into the volumes plugin
Fixes: https://tracker.ceph.com/issues/46851
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
a89b1633e1940d8bd35baaa46ce894fb46670cd5 )
Conflicts:
src/pybind/mgr/volumes/module.py
Patrick Donnelly [Wed, 5 Aug 2020 16:03:54 +0000 (09:03 -0700)]
qa: add debug client for volumes plugin qa
Fixes: https://tracker.ceph.com/issues/46851
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
9bcda7ca42d5ad0cc60a41812e046e1ce7057474 )
Patrick Donnelly [Thu, 6 Aug 2020 21:04:57 +0000 (14:04 -0700)]
client: use non-static dirent for thread-safety
Fixes: https://tracker.ceph.com/issues/46832
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
9b00083489d1d4777519da38f3003cf164dae480 )
Jan Fajerski [Wed, 5 Aug 2020 11:57:03 +0000 (13:57 +0200)]
ceph-volume: fix Volume mock in lvm test case
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit
cb432fe41d4ea8cb71aa592e0727d2da1978121f )
(cherry picked from commit
f713bfa695833cb7acc5c39ff1b3754f794b6f90 )
Kefu Chai [Thu, 5 Sep 2019 09:58:44 +0000 (17:58 +0800)]
run-make-check.sh: extract run-make.sh
so we can reuse run-make.sh for building the artifact used by other
tests than "make check", for instance, dashboard's E2E test and
crimson's performance test.
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
5e9a1d95c9f735955b92204df1f711d5098e2b2d )
Conflicts:
run-make-check.sh
- Remove flags: -DWITH_CEPHFS_SHELL=ON -DWITH_SPDK=ON
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
Kefu Chai [Tue, 20 Aug 2019 02:49:18 +0000 (10:49 +0800)]
run-make-check.sh: run sudo with absolute path
there is chance that `/sbin` is not listed in `secure_path`, see
sudoers(5) for more details
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
11f9aae4ca0da80bcb6ddfa1f9f912a8f03350de )
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
Yan, Zheng [Wed, 5 Aug 2020 06:44:35 +0000 (14:44 +0800)]
mds: initialize MDSlaveUpdate::waiter
introduced by backport commit
4273de4cfaf
"mds: preserve ESlaveUpdate::OP_PREPARE logevent before doing commit"
Fixes: https://tracker.ceph.com/issues/46831
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Guillaume Abrioux [Mon, 20 Jul 2020 13:43:38 +0000 (15:43 +0200)]
ceph-volume: filter by osd-id or osd-fsid when zapping
2f5c10c12c37e6865ce54bb4940d3779353cba4f introduced a bug:
`ceph-volume lvm zap` command fails under certain conditions.
when passing `--osd-id` or `--osd-fsid` to `ceph-volume lvm zap` command
it tries to zap additionnal devices that have nothing to do with the osd
being zapped.
When calling `api.get_lvs()` in `ensure_associated_lvs()` we have to
pass the osd-id/osd-fsid information so only related devices are
returned by `get_lvs()` method
Closes: https://tracker.ceph.com/issues/46627
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit
e94aef6f96189648d0f204d8118501577dde5f52 )
Rishabh Dave [Sat, 4 Jan 2020 08:24:58 +0000 (13:54 +0530)]
ceph-volume: delete devices.lvm.prepare.Prepare.get_lv
Since it calls get_lv_from_argument() internally and use get_first_lv()
instead and update tests.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
ca1d3e694c6390632c86e6dfcf01a2b3c6a67f0d )
Rishabh Dave [Tue, 31 Dec 2019 11:54:42 +0000 (17:24 +0530)]
ceph-volume: don't use api.lvm.VolumeGroups
Use api.lvm.get_vgs() and api.lvm.get_first_vg() instead and update
tests.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
dfe6b1b90384482e8ec38e3be7024971fb252968 )
Rishabh Dave [Fri, 3 Jan 2020 11:40:23 +0000 (17:10 +0530)]
ceph-volume: don't use api.lvm.PVolumes
Update api.lvm.get_first_pv() and api.lvm.get_pvs() instead and update
tests.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
a6e3c69c6cd561ac6680fceb3017b9a2afe3d9de )
Rishabh Dave [Mon, 30 Dec 2019 14:56:22 +0000 (20:26 +0530)]
ceph-volume: don't use api.lvm.get_lv
Use api.lvm.get_lvs() and api.lvm.get_first_lv() instead and update the
tests.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
b2254050c01d872ebc906708a3b4c8d4fa2105d7 )
Rishabh Dave [Mon, 30 Dec 2019 14:05:56 +0000 (19:35 +0530)]
ceph-volume: don't use api.lvm.get_lv_from_argument
Use api.lvm.get_lvs() and api.lvm.get_first_lv() instead and update
tests.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
5301c4959e5169b10cc92716de6222f7516770e6 )
Rishabh Dave [Mon, 30 Dec 2019 06:18:08 +0000 (11:48 +0530)]
ceph-volume: don't use class api.lvm.Volumes
Replace code using class Volumes by methods get_lvs() and
get_first_lv(). Also, update the tests accordingly.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit
2f5c10c12c37e6865ce54bb4940d3779353cba4f )
Yuri Weinstein [Mon, 3 Aug 2020 16:55:55 +0000 (09:55 -0700)]
qa/tests: moved client-upgrade* under new dir
The motivation for this chnage is to enable more developers to use and run upgrades tests in more simplified way as "-s upgrades/"
"client-upgrade*" don't fit this logic as they need to use suites from older branches, so that's why they are separated.
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Yuri Weinstein [Mon, 3 Aug 2020 18:42:19 +0000 (11:42 -0700)]
Merge pull request #36439 from batrick/i46533
nautilus: mds: fix nullptr dereference in MDCache::finish_rollback
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Yan, Zheng [Tue, 14 Jul 2020 12:40:11 +0000 (20:40 +0800)]
mds: fix nullptr dereference in MDCache::finish_rollback
introduced by commit
4940ab62e0d
"mds: preserve ESlaveUpdate::OP_PREPARE logevent before doing commit"
Fixes: https://tracker.ceph.com/issues/46533
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
6715514aa577842942a1221a0f25924c53e03834 )
Zac Dover [Fri, 12 Jun 2020 08:35:54 +0000 (18:35 +1000)]
doc/rbd: add rbd-target-gw enable and start
This commit adds the following commands to the "Configuring the iSCSI Target Using the Command Line" page: "systemctl enable rbd-target-gw" and "systemctl start rbd-target-gw"
Fixes: https://tracker.ceph.com/issues/45987
Signed-off-by: Zac Dover <zac.dover@gmail.com>
(cherry picked from commit
4b126d30e5935c5efddf2dfd23023d8b3aa64057 )
Yuri Weinstein [Fri, 31 Jul 2020 23:29:09 +0000 (16:29 -0700)]
Merge pull request #35733 from idryomov/wip-msgr21-nautilus
nautilus: New msgr2 crc and secure modes (msgr2.1)
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Abhishek Lekshmanan [Mon, 24 Feb 2020 14:32:01 +0000 (15:32 +0100)]
rgw: append obj: prevent tail from being GC'ed
append object tail gets GC'ed otherwise as the state has a manifest similar to
atomic obj processor, but if the manifest exists and the position is correct, it
is not an overwrite and shouldn't be GC'ed
Fixes: https://tracker.ceph.com/issues/42670
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit
2dad52a18f889cca4309e78a88c6c5c2c04d4947 )
Yuri Weinstein [Fri, 31 Jul 2020 00:02:09 +0000 (17:02 -0700)]
Merge pull request #36377 from batrick/i46763
nautilus: qa/tasks: call super class's setUp()
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Yuri Weinstein [Thu, 30 Jul 2020 23:59:34 +0000 (16:59 -0700)]
Merge pull request #36339 from smithfarm/wip-46741-nautilus
nautilus: osd: fix crash in _committed_osd_maps if incremental osdmap crc fails
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Andrew Schoen [Fri, 24 Apr 2020 17:11:52 +0000 (12:11 -0500)]
ceph-volume: handle idempotency with batch and explicit scenarios
If you used --wal-devices or --db-devices with batch and too
many devices are filtered out then a RuntimeError was raised.
However, if --report and --format=json is used then we
should return valid json indicating that no OSDS will be created
so that ceph-ansible and other systems can use that for idempotency checks.
Resolves: rhbz#
1827349
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit
9b8254edc8ee6c91809119120970b722edb100b7 )
Kefu Chai [Fri, 14 Feb 2020 12:31:25 +0000 (20:31 +0800)]
qa/tasks: call super class's setUp()
to address the regression introduced by
87292811215f6ded9a784d3216a910faaef648e2
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
7d262db1145a14a73da481acba66e51b5f30e4af )
Yuri Weinstein [Wed, 29 Jul 2020 16:23:13 +0000 (09:23 -0700)]
Merge pull request #36353 from neha-ojha/wip-46731-nautilus
nautilus: qa/*/nautilus-p2p-stress-split: rework objectstore backends
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Ramana Raja [Wed, 29 Jul 2020 14:23:46 +0000 (19:53 +0530)]
Merge pull request #36314 from kotreshhr/wip-46641-nautilus
nautilus: qa: Fix name collisions
Reviewed-by: Ramana Raja <rraja@redhat.com>
Neha Ojha [Tue, 28 Jul 2020 17:36:09 +0000 (10:36 -0700)]
qa/suites/rados/thrash/crc-failures: randomly inject bad incremental osdmap crc
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
f9399b508c6584e539e323da858372fa7115be3b )
Dan van der Ster [Mon, 27 Jul 2020 15:40:27 +0000 (17:40 +0200)]
osd: don't write transaction when inc crc failed
80da5f9a987c6a48b93f25228fdac85890013520 exposed a flaw in how
handle_osd_map falls back to a full osdmap if the crc of an incremental
failed.
If the first message in a map message had a crc error, then the
loop would exit with last < start, which would then cause a null
dereference in _committed_osd_maps.
Fixes: https://tracker.ceph.com/issues/46443
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit
99463cb523949289384a6210ea250114fbe852f4 )
Dan van der Ster [Mon, 27 Jul 2020 12:23:54 +0000 (14:23 +0200)]
qa/standalone/osd: add bad-inc-map.sh
Test that the osd doesn't crash when it gets a bad incremental osdmap.
Related-to: https://tracker.ceph.com/issues/46443
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit
b550112dba23528655ec150cf9d6d093318abb8c )
Neha Ojha [Tue, 28 Jul 2020 21:08:27 +0000 (14:08 -0700)]
qa/*/nautilus-p2p-stress-split: rework objectstore backends
Earlier we were symlinking to qa/objectstore, which causes older versions of
nautilus to fail when trying to use hybrid allocator.
Fixes: https://tracker.ceph.com/issues/46731
Signed-off-by: Neha Ojha <nojha@redhat.com>
Yuri Weinstein [Tue, 28 Jul 2020 18:17:09 +0000 (11:17 -0700)]
Merge pull request #36250 from dillaman/wip-46673
nautilus: librbd: new 'write_zeroes' API methods to suppliment the `discard` APIs
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Tue, 28 Jul 2020 17:35:26 +0000 (10:35 -0700)]
Merge pull request #36292 from dzafman/wip-46706-nautilus
nautilus: osd: Cancel in-progress scrubs (not user requested)
Reviewed-by: Neha Ojha <nojha@redhat.com>
Yuri Weinstein [Tue, 28 Jul 2020 17:34:42 +0000 (10:34 -0700)]
Merge pull request #36190 from smithfarm/wip-46458-nautilus
nautilus: build/ops: selinux: allow ceph_t amqp_port_t:tcp_socket
Reviewed-by: Kefu Chai <kchai@redhat.com>
Yuri Weinstein [Tue, 28 Jul 2020 17:34:07 +0000 (10:34 -0700)]
Merge pull request #36161 from smithfarm/wip-46090-nautilus
nautilus: osd/PG: fix history.same_interval_since of merge target again
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Kotresh HR [Mon, 6 Jul 2020 16:54:03 +0000 (22:24 +0530)]
qa: Fix name collisions
Addresses the name collisions of volumes, subvolumes,
clones, subvolume groups and snapshots within the tests.
Fixes: https://tracker.ceph.com/issues/43517
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit
3b6f6f1abf1beba54c7b4eb610ae05985cdf42b1 )
Conflicts:
qa/tasks/cephfs/test_volumes.py: Few of the test cases were not
present in nautilus which were present in master, removed them.
Ramana Raja [Mon, 27 Jul 2020 18:38:28 +0000 (00:08 +0530)]
Merge pull request #36167 from ajarr/nautilus-mgr-fs-volumes-misc
nautilus: mgr/fs/volumes misc fixes
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:35:08 +0000 (08:35 -0700)]
Merge pull request #36294 from ajarr/wip-46470
nautilus: client: release the client_lock before copying data in read
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:34:32 +0000 (08:34 -0700)]
Merge pull request #36215 from vshankar/wip-46388
nautilus: client: introduce timeout for client shutdown
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:33:57 +0000 (08:33 -0700)]
Merge pull request #36180 from ajarr/wip-46464-nautilus
nautilus: pybind/cephfs: fix custom exception raised by cephfs.pyx
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:33:08 +0000 (08:33 -0700)]
Merge pull request #36179 from smithfarm/wip-46523-nautilus
nautilus: mds: fix hang issue when accessing a file under a lost parent directory
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:32:43 +0000 (08:32 -0700)]
Merge pull request #36178 from smithfarm/wip-46521-nautilus
nautilus: mds: do not submit omap_rm_keys if the dir is the basedir of merge.
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:31:44 +0000 (08:31 -0700)]
Merge pull request #36177 from smithfarm/wip-46517-nautilus
nautilus: cephfs: client: fix directory inode can not call release callback
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:30:13 +0000 (08:30 -0700)]
Merge pull request #36175 from smithfarm/wip-46474-nautilus
nautilus: mds: make threshold for MDS_TRIM configurable
Yuri Weinstein [Mon, 27 Jul 2020 15:29:40 +0000 (08:29 -0700)]
Merge pull request #36173 from smithfarm/wip-46409-nautilus
nautilus: cephfs: client: fix setxattr for 0 size value (NULL value)
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:29:10 +0000 (08:29 -0700)]
Merge pull request #36172 from smithfarm/wip-46310-nautilus
nautilus: tests: qa/tasks/cephfs/cephfs_test_case.py: skip cleaning the core dumps when in program case
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:28:36 +0000 (08:28 -0700)]
Merge pull request #36171 from smithfarm/wip-46200-nautilus
nautilus: tests: Revert "Revert "qa/suites/rados/mgr/tasks/module_selftest: whitelist …
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:27:57 +0000 (08:27 -0700)]
Merge pull request #36170 from smithfarm/wip-46189-nautilus
nautilus: mds: reset heartbeat in EMetaBlob replay
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:27:16 +0000 (08:27 -0700)]
Merge pull request #36169 from smithfarm/wip-46187-nautilus
nautilus: cephfs: client: fix snap directory atime
Reviewed-by: Ramana Raja <rraja@redhat.com>
Yuri Weinstein [Mon, 27 Jul 2020 15:15:19 +0000 (08:15 -0700)]
Merge pull request #36270 from yuriw/wip-yuriw-nautilus-p2p-nautilus
nautilus: qa/tests: changed rbd-python.yaml workunit to v14.2.10
Reviewed-by: Neha Ojha <nojha@redhat.com>
Kotresh HR [Mon, 27 Jul 2020 10:57:18 +0000 (16:27 +0530)]
nautilus: qa/test_volumes: Modify tests not to use json for 'ceph fs status'
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Ramana Raja [Wed, 22 Jul 2020 10:26:36 +0000 (15:56 +0530)]
nautilus: mgr/volumes: use MgrModule's mon_command()
... instead of 'check_mon_command' which is not in nautilus, and not
compatible with python2 and early versions of py3.
Signed-off-by: Ramana Raja <rraja@redhat.com>
Ramana Raja [Mon, 20 Jul 2020 09:08:29 +0000 (14:38 +0530)]
nautilus: mgr/volumes: fix import typing error
... for python versions earlier than 3.5.
Signed-off-by: Ramana Raja <rraja@redhat.com>
Patrick Donnelly [Tue, 30 Jun 2020 15:33:59 +0000 (08:33 -0700)]
pybind/mgr/volumes: fix volume search for pools
Loop logic would bail out if it first sees any file system that does not
match the volume it's looking for.
Fixes: https://tracker.ceph.com/issues/46277
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
be74a81e19ef3b5e8204d52e6a3f7f0c57d49854 )
Kotresh HR [Tue, 23 Jun 2020 18:19:22 +0000 (23:49 +0530)]
mgr/volumes: Validate mon_allow_pool_delete before volume deletion
Volume deletion wasn't validating mon_allow_pool_delete config
before destroying volume metadata. Hence when mon_allow_pool_delete
is set to false, it was deleting metadata but failed to delete pool
resulting in inconsistent state. This patch validates the config
before going ahead with deletion.
Fixes: https://tracker.ceph.com/issues/45662
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit
e770bb9075d931913847a572d121e02a2e349ca8 )
Patrick Donnelly [Mon, 10 Feb 2020 18:46:09 +0000 (10:46 -0800)]
qa: manage config changes through mons
This provides a generic framework for modifying Ceph configuration
changes in tests through the monitors rather than the asok interface or
local ceph.conf changes. Any changes are reverted during test teardown.
A future patch will convert existing tests manipulating the local
ceph.conf or admin socket.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
87292811215f6ded9a784d3216a910faaef648e2 )
Kotresh HR [Fri, 5 Jun 2020 17:58:36 +0000 (23:28 +0530)]
mgr/volumes: Fix pool removal on volume deletion
While volume deletion, the associated pools are not always
removed. The pools are removed only if the volume is created
using mgr plugin and not if created with custom osd pools.
This is because mgr plugin generates pool names with specific
pattern. Both create and delete volume relies on it. This
patch fixes the issue by identifying the pools of the volume
without relying on the pattern.
Fixes: https://tracker.ceph.com/issues/45910
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit
d07ea8db471b1a1d9082756e1cb775d5543b1307 )
Conflicts:
src/pybind/mgr/volumes/fs/operations/volume.py:
- In nautilus, fs volume create doesn't have placement arg
src/pybind/mgr/volumes/fs/volume.py:
- In nautilus, VolumeClient code not moved to mgr_util.py
00111048 [Fri, 5 Jun 2020 06:46:06 +0000 (14:46 +0800)]
client: release the client_lock before copying data in read
Fixes: https://tracker.ceph.com/issues/46025
Signed-off-by: Chencan <chen.can2@zte.com.cn>
(cherry picked from commit
db292da7d5571ed3addedfb4c5ab8c61fe9bb5e8 )
Conflicts:
src/client/Client.cc
- in nautilus, not switched bufferlist::copy() to iterators
Igor Fedotov [Sat, 25 Jul 2020 19:46:21 +0000 (22:46 +0300)]
Merge pull request #35500 from ifed01/wip-ifed-hybrid-alloc-nau
nautilus: os/bluestore: implement Hybrid allocator
Reviewed-by: akupczyk@redhat.com
Igor Fedotov [Mon, 20 Apr 2020 11:31:50 +0000 (14:31 +0300)]
qa/objectstore: test hybrid allocator instead of avl one.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
0f639740a3b99d0600f6508d90d426ca12501a03 )
Igor Fedotov [Thu, 16 Apr 2020 15:06:04 +0000 (18:06 +0300)]
os/bluestore: set hybrid allocator as a default for bluefs/bluestore
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
cacc7391dca779c7e6e3b57e6d1753a53b8c49b9 )
Conflicts:
src/test/objectstore/store_test.cc
trivial
Igor Fedotov [Wed, 25 Mar 2020 14:19:12 +0000 (17:19 +0300)]
os/bluestore: improve adjustent extents merge in hybrid allocatoc
Bitmap counterpart is inspected for adjustent free extents when
releasing extent and trying to add it to AVL tree.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
c27490e3d641f2b8ea65759fd79640e5f6dd398c )
Igor Fedotov [Mon, 23 Mar 2020 12:43:09 +0000 (15:43 +0300)]
os/bluestore: remove HybridAllocator::init_add_free method.
It's a 100% replica of AvlAllocator one which is inherited.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
cccbc62528e03f4e49882137342adfea20b9a0f2 )
Igor Fedotov [Fri, 14 Feb 2020 14:26:17 +0000 (17:26 +0300)]
os/bluestore: configure hybrid allocator threshold to fallback.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
b682d9a8e8d3f41d55ad10d2fb3deca8edf8540a )
Conflicts:
src/common/options.cc
trivial
Igor Fedotov [Thu, 13 Feb 2020 22:04:39 +0000 (01:04 +0300)]
os/bluestore: add hybrid (avl+bitmap) allocator
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
c90eee34955734a5d4d2d4f0d1ff04b275374fb1 )
Conflicts:
src/os/CMakeLists.txt
src/test/objectstore/Allocator_bench.cc
src/test/objectstore/Allocator_test.cc
src/test/objectstore/CMakeLists.txt
GTEST_SKIP not available, +trivial
Igor Fedotov [Thu, 13 Feb 2020 22:06:46 +0000 (01:06 +0300)]
os/bluestore: do not require min_length to be power of two for bmap
allocator.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
21532045efeb8d357518686df84a529ee3d32a60 )
Conflicts:
src/os/bluestore/fastbmap_allocator_impl.h
variable rename