]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agomgr/volumes: Use snapshot root directory attrs when creating clone root
Shyamsundar Ranganathan [Tue, 23 Jun 2020 23:57:52 +0000 (19:57 -0400)]
mgr/volumes: Use snapshot root directory attrs when creating clone root

If a subvolumes mode or uid/gid values are changed post a snapshot,
and a clone of a snapshot prior to the change is initiated, the clone
inherits the current source subvolumes attributes, rather than the
snapshots attributes.

Fixing this by using the snapshots subvolume root attributes to create
the clone subvolumes root.

Following attributes are picked from the source subvolume snapshot:
- uid, gid, mode, data pool, pool namespace, quota

Fixes: https://tracker.ceph.com/issues/46163
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
(cherry picked from commit 0eaf9b0bd2786762160b83edc52d979f5aad233c)

4 years agoMerge PR #36404 into nautilus
Patrick Donnelly [Thu, 27 Aug 2020 19:31:24 +0000 (12:31 -0700)]
Merge PR #36404 into nautilus

* refs/pull/36404/head:
client: expose ceph.quota.max_bytes xattr within snapshots

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #36613 from tspmelo/wip-46925-nautilus
Lenz Grimmer [Thu, 27 Aug 2020 15:21:44 +0000 (17:21 +0200)]
Merge pull request #36613 from tspmelo/wip-46925-nautilus

nautilus: mgr/dashboard: Unable to edit iSCSI logged-in client

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
4 years agoMerge pull request #36304 from dillaman/wip-46725-nautilus
Yuri Weinstein [Thu, 27 Aug 2020 14:51:30 +0000 (07:51 -0700)]
Merge pull request #36304 from dillaman/wip-46725-nautilus

nautilus: ceph-iscsi: selinux fixes

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
4 years agoMerge PR #36804 into nautilus
Patrick Donnelly [Wed, 26 Aug 2020 23:35:08 +0000 (16:35 -0700)]
Merge PR #36804 into nautilus

* refs/pull/36804/head:
qa/workunits/fs: add test for subvolume
mds: don't move inode with nlink > 1 to global snaprealm if it's in subvolume
mds: disallow hardlink across subvolume
mds: disallow across subvolume rename
mds: disallow creating snapshot on descendent directory of subvolume
mds: add vxattr that marks/clears subvolume flag

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #36756 from smithfarm/wip-47070-nautilus
Yuri Weinstein [Wed, 26 Aug 2020 16:28:05 +0000 (09:28 -0700)]
Merge pull request #36756 from smithfarm/wip-47070-nautilus

nautilus: os/bluestore: dump onode that has too many spanning blobs

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #36741 from yaarith/devicehealth-fix-daemon-filtering-when-scraping
Yuri Weinstein [Wed, 26 Aug 2020 16:26:28 +0000 (09:26 -0700)]
Merge pull request #36741 from yaarith/devicehealth-fix-daemon-filtering-when-scraping

nautilus: mgr/devicehealth: fix daemon filtering before scraping device

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #36670 from smithfarm/wip-46981-nautilus
Yuri Weinstein [Wed, 26 Aug 2020 16:25:01 +0000 (09:25 -0700)]
Merge pull request #36670 from smithfarm/wip-46981-nautilus

nautilus: pybind/mgr/restful: use dict.items() for py3 compatible

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agoMerge pull request #36634 from smithfarm/wip-46952-nautilus
Yuri Weinstein [Wed, 26 Aug 2020 16:15:44 +0000 (09:15 -0700)]
Merge pull request #36634 from smithfarm/wip-46952-nautilus

nautilus: monclient: schedule first tick using mon_client_hunt_interval

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
4 years agoMerge pull request #36790 from rhcs-dashboard/wip-47122-nautilus
Lenz Grimmer [Wed, 26 Aug 2020 08:21:10 +0000 (10:21 +0200)]
Merge pull request #36790 from rhcs-dashboard/wip-47122-nautilus

nautilus: mgr/dashboard: remove "This week/month/year" and "Today" time stamps

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoqa/workunits/fs: add test for subvolume 36804/head
Yan, Zheng [Wed, 5 Aug 2020 15:31:03 +0000 (23:31 +0800)]
qa/workunits/fs: add test for subvolume

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit df7e9aa42b97f3203e92387d2ceea5636f5230ad)

4 years agomds: don't move inode with nlink > 1 to global snaprealm if it's in subvolume
Yan, Zheng [Wed, 5 Aug 2020 09:31:57 +0000 (17:31 +0800)]
mds: don't move inode with nlink > 1 to global snaprealm if it's in subvolume

Fixes: https://tracker.ceph.com/issues/46074
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 63da28d6a8be20183a294744892a41f47e8ba24b)

 Conflicts:
src/mds/Server.cc

4 years agomds: disallow hardlink across subvolume
Yan, Zheng [Wed, 5 Aug 2020 08:04:30 +0000 (16:04 +0800)]
mds: disallow hardlink across subvolume

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 55cc3f7d7d27837bfe64ee46444358c0e45d16f6)

4 years agomds: disallow across subvolume rename
Yan, Zheng [Wed, 5 Aug 2020 07:37:20 +0000 (15:37 +0800)]
mds: disallow across subvolume rename

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 53348ab67f0f3e691cfeb6b02d80b868fdb98d89)

4 years agomds: disallow creating snapshot on descendent directory of subvolume
Yan, Zheng [Wed, 5 Aug 2020 07:33:10 +0000 (15:33 +0800)]
mds: disallow creating snapshot on descendent directory of subvolume

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 34c6b4437a2e8a49bb76e86d07cd86b740e3f581)

4 years agomds: add vxattr that marks/clears subvolume flag
Yan, Zheng [Tue, 4 Aug 2020 13:26:26 +0000 (21:26 +0800)]
mds: add vxattr that marks/clears subvolume flag

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 8d531680cdf48ba43d93becd5a19072844e92c19)

 Conflicts:
src/mds/Server.cc
src/mds/SnapRealm.h
src/mds/snap.h

4 years agoMerge pull request #36725 from dillaman/wip-46946-nautilus
Yuri Weinstein [Wed, 26 Aug 2020 00:11:08 +0000 (17:11 -0700)]
Merge pull request #36725 from dillaman/wip-46946-nautilus

nautilus: rbd: librbd: global and pool-level config overrides require image refresh to apply

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #36712 from smithfarm/wip-47023-nautilus
Yuri Weinstein [Wed, 26 Aug 2020 00:10:30 +0000 (17:10 -0700)]
Merge pull request #36712 from smithfarm/wip-47023-nautilus

nautilus: librbd: Align rbd_write_zeroes declarations

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #36413 from shyukri/wip-46321-nautilus
Yuri Weinstein [Wed, 26 Aug 2020 00:07:08 +0000 (17:07 -0700)]
Merge pull request #36413 from shyukri/wip-46321-nautilus

nautilus: osd/OSDCap: rbd profile permits use of "rbd_info"

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
4 years agoMerge pull request #36770 from smithfarm/wip-47115-nautilus
Yuri Weinstein [Tue, 25 Aug 2020 22:14:48 +0000 (15:14 -0700)]
Merge pull request #36770 from smithfarm/wip-47115-nautilus

nautilus: rgw: hold reloader using unique_ptr

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
4 years agoMerge pull request #36727 from smithfarm/wip-47042-nautilus
Yuri Weinstein [Tue, 25 Aug 2020 22:13:38 +0000 (15:13 -0700)]
Merge pull request #36727 from smithfarm/wip-47042-nautilus

nautilus: rgw: add access log to the beast frontend

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #36682 from BryceCao/wip-backport-nautilus
Yuri Weinstein [Tue, 25 Aug 2020 22:13:07 +0000 (15:13 -0700)]
Merge pull request #36682 from BryceCao/wip-backport-nautilus

nautilus: rgw: fix double slash (//) killing the gateway

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36637 from smithfarm/wip-46954-nautilus
Yuri Weinstein [Tue, 25 Aug 2020 22:12:10 +0000 (15:12 -0700)]
Merge pull request #36637 from smithfarm/wip-46954-nautilus

nautilus: rgw: policy: reuse eval_principal to evaluate the policy principal

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agomgr/dashboard: remove "This week/month/year" and "Today" time stamps of Grafana in... 36790/head
Avan Thakkar [Thu, 20 Aug 2020 09:32:33 +0000 (15:02 +0530)]
mgr/dashboard: remove "This week/month/year" and "Today" time stamps of Grafana in dashboard

Fixes: https://tracker.ceph.com/issues/47049
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit f76d56c45fca71ad74c53acb09b9a78f16f83734)

4 years agorgw: hold reloader using unique_ptr 36770/head
Kefu Chai [Fri, 7 Aug 2020 16:26:21 +0000 (00:26 +0800)]
rgw: hold reloader using unique_ptr

instead of using optional<> for holding reloader, use unique_ptr<>.
as `RGWRealmReloader` is neither
trivially_copy_{assignable,constructible} nor
is_trivially_move_{assignable, constructible}, because of the `Cond`
member variable. but Clang++ and libc++ still tries to rely on a
delgating copy constructor for constructing the
optional<RGWRealmReloader> instance even the optional object is
created `in_place`.

in this change, to workaround this issue, reloader is instead
constructed using make_unique<>

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 2494ddbef5ad20cdfccf59911fccadb6f9848da0)

4 years agoos/bluestore: make alerting onode dump less frequent. 36756/head
Igor Fedotov [Wed, 1 May 2019 17:12:27 +0000 (20:12 +0300)]
os/bluestore: make alerting onode dump less frequent.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 1d6a4730a0398a7970cfd0a8effebff39a1e887a)

4 years agoos/bluestore: dump onode if too many spanning blobs detected.
Igor Fedotov [Wed, 1 May 2019 13:49:37 +0000 (16:49 +0300)]
os/bluestore: dump onode if too many spanning blobs detected.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 8d103b15c9b27e157d9b3e4bec87f1d71c94d547)

4 years agoMerge pull request #36289 from dillaman/wip-config-noise-nautilus
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>
4 years agomgr/devicehealth: fix daemon filtering before scraping device 36741/head
Yaarit Hatuka [Thu, 20 Aug 2020 18:21:11 +0000 (18:21 +0000)]
mgr/devicehealth: fix daemon filtering before scraping device

Scraping health metrics of mon devices was introduced in Nautilus, then
disabled (only in Nautilus) since the 'tell' mechanism of mons was not
reliable.
This commit fixes a bug when filtering the daemons on the device to be
scrapped (and allows scraping osd devices solely).

When:
$ ceph device scrape-health-metrics seagate_123
Error EAGAIN: device seagate_123 not claimed by any active OSD daemons

But:
$ ceph device ls
DEVICE         HOST:DEV      DAEMONS   LIFE EXPECTANCY
seagate_123 hostname:sdc osd.1

See:
Introducing the feature in Nautilus:
PR: https://github.com/ceph/ceph/pull/24151
commit: 8d786003a44313c85c038cbdc9bd9875da197ab1

Disabling the feature in Nautilus:
PR: https://github.com/ceph/ceph/pull/31446
commit: d592e56e74d94c6a05b9240fcb0031868acefbab

This issue exists only in Nautilus and does not require fixes in any other branch.

Fixes: https://tracker.ceph.com/issues/46871
Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
4 years agorgw: add access log to the beast frontend 36727/head
Mark Kogan [Tue, 18 Feb 2020 10:59:35 +0000 (12:59 +0200)]
rgw: add access log to the beast frontend

Add to the Beast frontend an access log line similar to CivetWeb.
attempting to adhere as much as possible to the Apache Combined Log
Format.

Fixes: https://tracker.ceph.com/issues/45920
rgw: use beast message for access log
(cherry picked from commit 44ec38933cbe6cc864c56332cc99502d86568fdc)

Co-authored-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit 5ea7bb8449a75f96ed6e4d4d1c1f3d31e27040f8)

4 years agoMerge PR #36448 into nautilus
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>
4 years agolibrbd: update hidden global config when setting pool config override 36725/head
Jason Dillaman [Tue, 28 Jul 2020 01:14:18 +0000 (21:14 -0400)]
librbd: update hidden global config when setting pool config override

The new "dev"-level global config setting will be updated when any
pool-level config override is updated. librbd clients will detect
the new global-level config update and trigger a refresh. This avoids
the need for potentially tens of thousands of librbd clients
registering a watch on the pool metadata object or periodically polling
the pool metadata object for updates.

Fixes: https://tracker.ceph.com/issues/46694
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f45df9fe786e8057c491c082e840483759d67e9e)

Conflicts:
src/common/options.cc
- "rbd_quiesce_notification_attempts", "rbd_default_snapshot_quiesce_mode", and
  "rbd_plugins" options have not been backported to Octopus, yet

(cherry picked from commit ea2dec49276c5ea79980d184d97b6a410ee1dec5)

Conflicts:
src/common/options.cc: trivial resolution

4 years agolibrbd: initialize/shut down config watcher during image open/close
Jason Dillaman [Mon, 27 Jul 2020 20:29:05 +0000 (16:29 -0400)]
librbd: initialize/shut down config watcher during image open/close

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ea6c9bde0437cc163a0f6a52b3ef1f45eaa6f88b)

Conflicts:
src/librbd/ImageCtx.h
- AsioEngine has not been backported yet

(cherry picked from commit ada201d460d37d68275ed4b35f6e3ec293f247fc)

4 years agolibrbd: initial config watcher implementation
Jason Dillaman [Mon, 27 Jul 2020 19:31:09 +0000 (15:31 -0400)]
librbd: initial config watcher implementation

The config watcher will initially observe all "rbd_" configuration
updates received from the MON that have not been locally overridden
at the pool and/or image level.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 54819a1aa95fe1be8b8ef44f8417e3fe82d9ec89)

Conflicts:
src/test/librbd/mock/MockImageState.h
- once again, I don't see why git flagged this as a conflict

(cherry picked from commit c830365a8a243bd4976a682af1bf8d768924eaff)

Conflicts:
src/librbd/ConfigWatcher.cc: image_lock -> md_lock
src/test/librbd/mock/MockImageState.h: trivial resolution

4 years agolibrbd: hold ImageCtx::md_lock while computing config overrides
Jason Dillaman [Mon, 27 Jul 2020 18:36:49 +0000 (14:36 -0400)]
librbd: hold ImageCtx::md_lock while computing config overrides

The 'ImageCtx::apply_metadata' is guaranteed to be thread-safe but
a future commit will attempt to utilize the cached config override
set.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit c7104d18e190f3718ec1625376f8c63676096efa)
(cherry picked from commit 652952f2d74df907637f03eff542a56e02a1ec8c)

Conflicts:
src/librbd/ImageCtx.cc: image_lock -> md_lock

4 years agolibrbd: Align rbd_write_zeroes declarations 36712/head
Corey Bryant [Mon, 17 Aug 2020 12:19:25 +0000 (08:19 -0400)]
librbd: Align rbd_write_zeroes declarations

Fixes: https://tracker.ceph.com/issues/46928
Signed-off-by: Corey Bryant <corey.bryant@canonical.com>
(cherry picked from commit 32fcd679132fab93ea50ec791f559ad2b09d8a2b)

4 years agorgw: fix double slash (//) killing the gateway 36682/head
root [Fri, 26 Jun 2020 10:44:45 +0000 (12:44 +0200)]
rgw: fix double slash (//) killing the gateway

When a bucket is inialized as a static website, a curl request on the bucket with double slash kills the gateway.
The problem is on the URL handling of the subdirectory, which tries to remove the last slash of any URL, so when only / is given as a sub-directory, this results to an empty string.

Fixes: https://tracker.ceph.com/issues/41225
Signed-off-by: Theofilos Mouratidis <t.mour@cern.ch>
(cherry picked from commit 626330c504b1af8393986bd0553786c3031422cd)

4 years agopybind/mgr/restful: use dict.items() for py3 compatibility 36670/head
Kefu Chai [Fri, 26 Jul 2019 14:43:00 +0000 (22:43 +0800)]
pybind/mgr/restful: use dict.items() for py3 compatibility

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit a46292b254bb0ea6a1fc13475989659ce96276b3)

4 years agoMerge pull request #36415 from shyukri/wip-46638-nautilus
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>
4 years agorgw: policy: reuse eval_principal to evaluate the policy principal 36637/head
Abhishek Lekshmanan [Mon, 27 Jul 2020 14:58:30 +0000 (16:58 +0200)]
rgw: policy: reuse eval_principal to evaluate the policy principal

Since the other edge case when no Principal or a NotPrincipal is supplied also
must be accounted for, which is already done in eval_principal function. Also
reraising the error as Effect::Pass in line with the previous output, though an
Effect::Deny would also work here.

Fixes: https://tracker.ceph.com/issues/46078
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 1843f2dca853f97c6c9b4196eaf27581705be0e2)

4 years agomonclient: use "is_connected" check when scheduling tick 36634/head
Mykola Golub [Thu, 30 Jul 2020 05:59:57 +0000 (06:59 +0100)]
monclient: use "is_connected" check when scheduling tick

When schedule_tick is called for the first time (in init) we are
still not in hunting mode so mon_client_ping_interval and
mon_client_log_interval were used to schedule the tick.

Fixes: https://tracker.ceph.com/issues/46445
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit d86b389a51e870c1aa5182a93095f5efb12e41e4)

Conflicts:
src/mon/MonClient.cc

4 years agoMerge pull request #36390 from smithfarm/wip-46799-nautilus
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>
4 years agomgr/dashboard: Unable to edit iSCSI logged-in client 36613/head
Ricardo Marques [Mon, 3 Aug 2020 15:38:10 +0000 (16:38 +0100)]
mgr/dashboard: Unable to edit iSCSI logged-in client

Fixes: https://tracker.ceph.com/issues/46818
Signed-off-by: Ricardo Marques <rimarques@suse.com>
(cherry picked from commit 7ee7fb98d343f6c6c44cac60ce6ca5ab8aeb9021)

4 years agoMerge pull request #36494 from rhcs-dashboard/wip-make_check-nautilus
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>
4 years agoselinux: Fix ceph-iscsi etc access 36304/head
Mike Christie [Thu, 9 Jan 2020 00:37:15 +0000 (18:37 -0600)]
selinux: Fix ceph-iscsi etc access

This fixes the selinux errors like this for /etc/target

-----------------------------------
Additional Information:
Source Context                system_u:system_r:ceph_t:s0
Target Context                system_u:object_r:targetd_etc_rw_t:s0
Target Objects                target [ dir ]
Source                        rbd-target-api
Source Path                   rbd-target-api
Port                          <Unknown>
Host                          ans8
Source RPM Packages
Target RPM Packages
Policy RPM                    selinux-policy-3.14.3-20.el8.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     ans8
Platform                      Linux ans8 4.18.0-147.el8.x86_64 #1 SMP
Thu Sep 26
                              15:52:44 UTC 2019 x86_64 x86_64
Alert Count                   1
First Seen                    2020-01-08 18:39:48 EST
Last Seen                     2020-01-08 18:39:48 EST
Local ID                      9a13ee18-eaf2-4f2a-872f-2809ee4928f6

Raw Audit Messages
type=AVC msg=audit(1578526788.148:69): avc:  denied  { search } for
pid=995 comm="rbd-target-api" name="target" dev="sda1" ino=52198
scontext=system_u:system_r:ceph_t:s0
tcontext=system_u:object_r:targetd_etc_rw_t:s0 tclass=dir permissive=1

Hash: rbd-target-api,ceph_t,targetd_etc_rw_t,dir,search

which are a result of the rtslib library the ceph-iscsi daemons use
accessing /etc/target to read/write a file which stores meta data the
target uses.

Signed-off-by: Mike Christie <mchristi@redhat.com>
(cherry picked from commit 53be18165323a80895a34185df4ad9e8d37db618)

Conflicts:
selinux/ceph.te: trivial resolution

4 years agoselinux: Fix ceph-iscsi configfs access
Mike Christie [Thu, 9 Jan 2020 00:03:40 +0000 (18:03 -0600)]
selinux: Fix ceph-iscsi configfs access

This fixes the the following selinux error when using ceph-iscsi's
rbd-target-api daemon (rbd-target-gw has the same issue). They are
a result of the a python library, rtslib, which the daemons use.

Additional Information:
Source Context                system_u:system_r:ceph_t:s0
Target Context                system_u:object_r:configfs_t:s0
Target Objects
/sys/kernel/config/target/iscsi/iqn.2003-01.com.re
                              dhat:ceph-iscsi/tpgt_1/attrib/authentication
[
                              file ]
Source                        rbd-target-api
Source Path                   /usr/libexec/platform-python3.6
Port                          <Unknown>
Host                          ans8
Source RPM Packages           platform-python-3.6.8-15.1.el8.x86_64
Target RPM Packages
Policy RPM                    selinux-policy-3.14.3-20.el8.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     ans8
Platform                      Linux ans8 4.18.0-147.el8.x86_64 #1 SMP
Thu Sep 26
                              15:52:44 UTC 2019 x86_64 x86_64
Alert Count                   1
First Seen                    2020-01-08 18:39:47 EST
Last Seen                     2020-01-08 18:39:47 EST
Local ID                      6f8c3415-7a50-4dc8-b3d2-2621e1d00ca3

Raw Audit Messages
type=AVC msg=audit(1578526787.577:68): avc:  denied  { ioctl } for
pid=995 comm="rbd-target-api"
path="/sys/kernel/config/target/iscsi/iqn.2003-01.com.redhat:ceph-iscsi/tpgt_1/attrib/authentication"
dev="configfs" ino=25703 ioctlcmd=0x5401
scontext=system_u:system_r:ceph_t:s0
tcontext=system_u:object_r:configfs_t:s0 tclass=file permissive=1

type=SYSCALL msg=audit(1578526787.577:68): arch=x86_64 syscall=ioctl
success=no exit=ENOTTY a0=34 a1=5401 a2=7ffd4f8f1f60 a3=3052cd2d95839b96
items=0 ppid=1 pid=995 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0
egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm=rbd-target-api
exe=/usr/libexec/platform-python3.6 subj=system_u:system_r:ceph_t:s0
key=(null)

Hash: rbd-target-api,ceph_t,configfs_t,file,ioctl

Signed-off-by: Mike Christie <mchristi@redhat.com>
(cherry picked from commit 8187235c91e897cb8c167ee4cbb90d910103709b)

4 years agoMerge pull request #36379 from dzafman/wip-46096-nautilus-smithfarm
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>
4 years agoMerge pull request #36493 from rishabh-d-dave/cv-naut-test-fix
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

4 years agoMerge pull request #35878 from ceph/wip-nautilus-32493
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

4 years agoMerge pull request #35881 from ceph/wip-nautilus-34744
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

4 years agoMerge pull request #36435 from yuriw/wip-yuriw-cleanup-nautilus
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>
4 years ago14.2.11 14.2.10 v14.2.11
Jenkins Build Slave User [Mon, 10 Aug 2020 20:15:22 +0000 (20:15 +0000)]
14.2.11

4 years agomgr: Add python-enum34 dependency to package for older distributions 36448/head
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>
4 years agomgr/volumes: Add documentation regarding --retain-snapshots option
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>
4 years agomgr/volumes: Avoid trashing retained subvolume on create errors
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>
4 years agomgr/volumes: Add subvolume v2 test cases
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

4 years agomgr/volumes: Derive v2 from v1 to leverage common methods
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

4 years agomgr/volumes: Introduce v2 subvolumes
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

4 years agomgr/volumes: Use operation type during subvolume open
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

4 years agoosd, test: Special Nautilus handling because there is no health mute 36379/head
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>
4 years agotest: flush_pg_stats() ignore OSDs that don't respond to getting sequence
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)

4 years agomgr: Warn when too many reads are repaired on an OSD
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

4 years agoMerge pull request #36526 from batrick/i46860-followup
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>
4 years agoqa: skip cache_size check 36526/head
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>
4 years agoMerge pull request #36513 from batrick/i46860
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>
4 years agoMerge pull request #36512 from batrick/i46858
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>
4 years agoMerge pull request #36511 from batrick/i46856
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>
4 years agoMerge pull request #36462 from ukernel/nautilus-46831
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>
4 years agoMerge pull request #35272 from jan--f/wip-doc-allow_standby_replay-nautilus
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>
4 years agoqa: use real entity for config_get 36513/head
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>
4 years agoqa: add tests for mds_min_caps_working_set
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

4 years agomds: add working set minimum for caps
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)

4 years agoqa: use config_set/config_get
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

4 years agoqa: do not append file names to dirname
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)

4 years agoqa: add exception for test timeouts
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)

4 years agoqa: log entrance/exit into the volumes plugin 36512/head
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

4 years agoqa: add debug client for volumes plugin qa
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)

4 years agoclient: use non-static dirent for thread-safety 36511/head
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)

4 years agoceph-volume: fix Volume mock in lvm test case 36493/head
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)

4 years agorun-make-check.sh: extract run-make.sh 36494/head
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>
4 years agorun-make-check.sh: run sudo with absolute path
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>
4 years agomds: initialize MDSlaveUpdate::waiter 36462/head
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>
4 years agoceph-volume: filter by osd-id or osd-fsid when zapping 35878/head
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)

4 years agoceph-volume: delete devices.lvm.prepare.Prepare.get_lv
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)

4 years agoceph-volume: don't use api.lvm.VolumeGroups
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)

4 years agoceph-volume: don't use api.lvm.PVolumes
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)

4 years agoceph-volume: don't use api.lvm.get_lv
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)

4 years agoceph-volume: don't use api.lvm.get_lv_from_argument
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)

4 years agoceph-volume: don't use class api.lvm.Volumes
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)

4 years agoqa/tests: moved client-upgrade* under new dir 36435/head
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>
4 years agoMerge pull request #36439 from batrick/i46533
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>
4 years agomds: fix nullptr dereference in MDCache::finish_rollback 36439/head
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)

4 years agodoc/rbd: add rbd-target-gw enable and start 36415/head
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)

4 years agoosd/OSDCap: rbd profile permits use of "rbd_info" 36413/head
Florian Florensa [Mon, 22 Jun 2020 10:53:40 +0000 (12:53 +0200)]
osd/OSDCap: rbd profile permits use of "rbd_info"

User restricted to a namespace needs to be able to read rbd_info in
default namespace in order to create volumes.

Fixes: https://tracker.ceph.com/issues/46139
Signed-off-by: Florian Florensa <fflorensa@online.net>
(cherry picked from commit 1e9fceabc457dd46a622710c6ec81cfe30a2656e)

4 years agoclient: expose ceph.quota.max_bytes xattr within snapshots 36404/head
Shyamsundar Ranganathan [Wed, 22 Jul 2020 19:21:50 +0000 (15:21 -0400)]
client: expose ceph.quota.max_bytes xattr within snapshots

For directories within snapshots, expose the ceph.quota.max_bytes
extended attribute information. This enables fetching quota
information when the snapshot was taken and is particularly useful
when cloning subvolume snapshots, to enforce the quota on the
clone subvolume as well.

Fixes: https://tracker.ceph.com/issues/46278
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
(cherry picked from commit 35a033f576a7bcbe89bc96c05eefc6d47ede8fc5)

4 years agoMerge pull request #35733 from idryomov/wip-msgr21-nautilus
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>
4 years agorgw: append obj: prevent tail from being GC'ed 36390/head
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)

4 years agoMerge pull request #36377 from batrick/i46763
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>
4 years agoMerge pull request #36339 from smithfarm/wip-46741-nautilus
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>
4 years agoceph-volume: handle idempotency with batch and explicit scenarios 35881/head
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)