]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoqa: whitelist cluster warning message for removed MDS 34563/head
Venky Shankar [Tue, 31 Mar 2020 04:21:37 +0000 (00:21 -0400)]
qa: whitelist cluster warning message for removed MDS

Fixes: http://tracker.ceph.com/issues/44677
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 3c531197a6070917206a4fbe31d7291019ca57b1)

5 years agomgr: force purge normal ceph entities from service map
Venky Shankar [Fri, 27 Mar 2020 04:00:08 +0000 (00:00 -0400)]
mgr: force purge normal ceph entities from service map

Normal ceph services can send task status updates to manager.
Task status is tracked in service map implying that normal
ceph services have entries in service map and daemon tracking
index (daemon state). But the manager prunes entries from daemon
state when it receives an updated map (fs, mon, etc...). This
causes periodic pruning of service map entries to fail for normal
ceph services (those which send task status updates) since it
expects a corresponding entry in daemon state.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit bccbf1fa03ed2fb02ad2e50e6aaf963b36d8bd30)

5 years agoMerge pull request #34282 from votdev/issue_44809_select_tab
Yuri Weinstein [Mon, 20 Apr 2020 13:48:36 +0000 (06:48 -0700)]
Merge pull request #34282 from votdev/issue_44809_select_tab

nautilus: mgr/dashboard: Tabs does not handle click events

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34424 from smithfarm/wip-44838-nautilus
Yuri Weinstein [Mon, 20 Apr 2020 13:25:22 +0000 (06:25 -0700)]
Merge pull request #34424 from smithfarm/wip-44838-nautilus

nautilus: pybind/rbd: ensure image is open before permitting operations

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
5 years agoMerge pull request #34618 from neha-ojha/wip-45135-nautilus
Yuri Weinstein [Sat, 18 Apr 2020 16:35:30 +0000 (09:35 -0700)]
Merge pull request #34618 from neha-ojha/wip-45135-nautilus

nautilus: mon: disable min pg per osd warning

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoMerge pull request #34520 from smithfarm/wip-45060-nautilus
Yuri Weinstein [Fri, 17 Apr 2020 19:12:08 +0000 (12:12 -0700)]
Merge pull request #34520 from smithfarm/wip-45060-nautilus

nautilus: qa/suites/rados/rest: don't pass empty dict as data arg

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
5 years agoMerge pull request #34326 from rzarzynski/wip-bug-24995-nautilus
Yuri Weinstein [Fri, 17 Apr 2020 19:11:21 +0000 (12:11 -0700)]
Merge pull request #34326 from rzarzynski/wip-bug-24995-nautilus

nautilus: mgr: synchronize ClusterState's health and mon_status.

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agomon: disable min pg per osd warning 34618/head
Sage Weil [Wed, 11 Sep 2019 22:26:52 +0000 (17:26 -0500)]
mon: disable min pg per osd warning

Now that the pg_autoscaler is on by default, it is "normal" (and okay) to
have a small number of PGs in the cluster if the overall cluster usage is
also low.  This setting just results in a health warning out of the box
when you create a pool and haven't written any data yet.

Fixes: https://tracker.ceph.com/issues/41735
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1ac34a5ea3d1aca299b02e574b295dd4bf6167f4)

5 years agoMerge pull request #34343 from Vicente-Cheng/wip-44480-nautilus
Yuri Weinstein [Thu, 16 Apr 2020 18:54:45 +0000 (11:54 -0700)]
Merge pull request #34343 from Vicente-Cheng/wip-44480-nautilus

nautilus: mds: just delete MDSIOContextBase during shutdown

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Yan, Zheng <zyan@redhat.com>
5 years agoMerge pull request #34308 from Vicente-Cheng/wip-44328-nautilus
Yuri Weinstein [Thu, 16 Apr 2020 18:53:53 +0000 (11:53 -0700)]
Merge pull request #34308 from Vicente-Cheng/wip-44328-nautilus

nautilus: client: fix bad error handling in lseek SEEK_HOLE / SEEK_DATA

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #34307 from Vicente-Cheng/wip-44337-nautilus
Yuri Weinstein [Thu, 16 Apr 2020 18:53:11 +0000 (11:53 -0700)]
Merge pull request #34307 from Vicente-Cheng/wip-44337-nautilus

nautilus: mds: handle bad purge queue item encoding

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agomgr/dashboard: Update bootstrap 34282/head
Volker Theile [Fri, 3 Apr 2020 08:23:37 +0000 (10:23 +0200)]
mgr/dashboard: Update bootstrap

Fixes: http://tracker.ceph.com/issues/39326
Signed-off-by: Tiago Melo <tmelo@suse.com>
(cherry picked from commit 07f28050dba61b851f149a2ed3b63cf5349c04cd)

nautilus: mgr/dashboard: Tabs does not handle click events
Fixes: https://tracker.ceph.com/issues/44809
Conflicts:
src/pybind/mgr/dashboard/frontend/angular.json
src/pybind/mgr/dashboard/frontend/package-lock.json
src/pybind/mgr/dashboard/frontend/package.json
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-details/iscsi-target-details.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-details/iscsi-target-details.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-form/iscsi-target-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-image-settings-modal/iscsi-target-image-settings-modal.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-iqn-settings-modal/iscsi-target-iqn-settings-modal.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-list/iscsi-target-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-snapshot-form/rbd-snapshot-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-trash-list/rbd-trash-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/configuration/configuration-form/configuration-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/configuration/configuration.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/crushmap/crushmap.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/crushmap/crushmap.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/logs/logs.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form-client/nfs-form-client.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/nfs/nfs-form/nfs-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/pool/pool-form/pool-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-details/rgw-user-details.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/auth/sso/sso-not-found/sso-not-found.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/auth/user-form/user-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/administration/administration.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/dashboard-help/dashboard-help.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/identity/identity.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/notifications/notifications.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/task-manager/task-manager.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/not-found/not-found.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/critical-confirmation-modal/critical-confirmation-modal.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/critical-confirmation-modal/critical-confirmation-modal.component.scss
src/pybind/mgr/dashboard/frontend/src/app/shared/components/grafana/grafana.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/loading-panel/loading-panel.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/select-badges/select-badges.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/submit-button/submit-button.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table-actions/table-actions.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table-actions/table-actions.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table-key-value/table-key-value.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table/table.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table/table.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/models/cd-notification.ts
src/pybind/mgr/dashboard/frontend/src/styles.scss
- all those files are not needed to fix the tab select issue.

5 years agoMerge pull request #34388 from smithfarm/wip-44896-nautilus
Nathan Cutler [Thu, 16 Apr 2020 07:35:22 +0000 (09:35 +0200)]
Merge pull request #34388 from smithfarm/wip-44896-nautilus

nautilus: pybind/rbd: fix no lockers are obtained, ImageNotFound exception will be output

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agomds: handle bad purge queue item encoding 34307/head
Yan, Zheng [Tue, 9 Oct 2018 03:46:56 +0000 (11:46 +0800)]
mds: handle bad purge queue item encoding

The bad encoding was introduced by commit a88f8d5eb4

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit ba06fcbe3e8345dc2c4c4c3dc3bcc18acf5ab076)
Conflicts:
        src/mds/PurgeQueue.cc: advance changed to +=
Fixes: https://tracker.ceph.com/issues/36635
Note: This commit from v13.2.3 fixes a bad backport in v13.2.2. It is
      also required in Octopus/Nautilus to handle upgrades.
(cherry picked from commit b73d1989bcbea227017607f8dd6e79633ec11f8f)
Conflicts:
            src/mds/PurgeQueue.cc: += changed to advance

5 years agoclient: fix error handling in lseek SEEK_HOLE/SEEK_DATA cases 34308/head
Jeff Layton [Thu, 6 Feb 2020 17:00:07 +0000 (12:00 -0500)]
client: fix error handling in lseek SEEK_HOLE/SEEK_DATA cases

The error handling here looks quite wrong. If the offset represents
an area outside the file, then we want to just return -ENXIO
immediately.

Fixes: https://tracker.ceph.com/issues/44021
Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 2ca8db71364698e05c3a6ac9a5aa4da5421a35bc)

Conflicts:
src/client/Client.cc
  - minor modification for nautilus code flow

5 years agotest: add new ceph_lseek test
Jeff Layton [Fri, 21 Feb 2020 20:13:10 +0000 (15:13 -0500)]
test: add new ceph_lseek test

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 339b09dc5921f81621f76faa55c56c31c16d4937)

5 years agomds: don't assert empty io context list when shutting down 34343/head
Yan, Zheng [Mon, 23 Mar 2020 09:09:26 +0000 (17:09 +0800)]
mds: don't assert empty io context list when shutting down

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

5 years agoRevert "mds: make MDSIOContextBase delete itself when shutting down"
Yan, Zheng [Mon, 23 Mar 2020 09:05:44 +0000 (17:05 +0800)]
Revert "mds: make MDSIOContextBase delete itself when shutting down"

This reverts commit 73436961512bd87981244fa48212085faf7028c4.

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

5 years agoRevert "mds: just delete MDSIOContextBase during shutdown"
Yan, Zheng [Mon, 23 Mar 2020 09:03:56 +0000 (17:03 +0800)]
Revert "mds: just delete MDSIOContextBase during shutdown"

This reverts commit 79f5052a1ddb61043de4e1cbec19ede2a6b4f53b.

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

5 years agomds: just delete MDSIOContextBase during shutdown
Patrick Donnelly [Tue, 25 Feb 2020 18:36:11 +0000 (10:36 -0800)]
mds: just delete MDSIOContextBase during shutdown

We don't want the finisher called during shutdown.

Fixes: https://tracker.ceph.com/issues/44295
Fixes: 73436961512bd87981244fa48212085faf7028c4
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 79f5052a1ddb61043de4e1cbec19ede2a6b4f53b)

5 years agomds: add comment explaining unusual locking for MDSIOContextBase
Patrick Donnelly [Tue, 25 Feb 2020 18:32:59 +0000 (10:32 -0800)]
mds: add comment explaining unusual locking for MDSIOContextBase

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit c2a079084c7653b6ed7e0912d4e737fe10a36836)

5 years agoMerge pull request #34524 from smithfarm/wip-45054-nautilus
Nathan Cutler [Wed, 15 Apr 2020 21:16:36 +0000 (23:16 +0200)]
Merge pull request #34524 from smithfarm/wip-45054-nautilus

nautilus: doc/releases/nautilus: restart OSDs to make them bind to v2 addr

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agodoc/releases/nautilus: restart OSDs to make them bind to v2 addr 34524/head
Nathan Cutler [Thu, 2 Apr 2020 11:03:31 +0000 (13:03 +0200)]
doc/releases/nautilus: restart OSDs to make them bind to v2 addr

Fixes: https://tracker.ceph.com/issues/43896
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 4facd9daa524f1e2d77511ee6b1a18e108c07d31)

Conflicts:
doc/releases/nautilus.rst
- nautilus does not have 98ae20c2c874

5 years agoqa/suites/rados/rest: Don't pass empty dict as data arg 34520/head
Brad Hubbard [Tue, 31 Mar 2020 02:49:26 +0000 (12:49 +1000)]
qa/suites/rados/rest: Don't pass empty dict as data arg

Passing an empty 'args' dict as a data argument when calling
requests.get somehow confuses the transaction, causing it to fail. Pass
'None' instead.

Fixes: https://tracker.ceph.com/issues/43720
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit e20e6fc3295da836fb5f098d46d6190ab28195d5)

5 years agopybind/rbd: ensure image is open before permitting operations 34424/head
Mykola Golub [Mon, 23 Mar 2020 10:28:52 +0000 (10:28 +0000)]
pybind/rbd: ensure image is open before permitting operations

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

Conflicts:
src/pybind/rbd/rbd.pyx
- no "snap_exists", "snap_get_name", "snap_get_id",
  "mirror_image_create_snapshot", "mirror_image_get_mode", "config_set",
  "config_get", "config_remove", "snap_get_mirror_namespace",  in nautilus
- nautilus "mirror_image_enable" does not take any argument

5 years agopybind/rbd: fix no lockers are obtained, ImageNotFound exception will be output 34388/head
zhangdaolong [Tue, 24 Mar 2020 00:51:44 +0000 (08:51 +0800)]
pybind/rbd: fix no lockers are obtained, ImageNotFound exception will be output

No lockers are obtained, ImageNotFound exception will be output,
but tht image is always exist.when lockers number is zero,
Should not output any exceptions。

Fixes: https://tracker.ceph.com/issues/44613
Signed-off-by: zhangdaolong <zhangdaolong@fiberhome.com>
(cherry picked from commit a183aac978dac69f996250324975073a78cb476b)

5 years agoMerge remote-tracking branch 'origin/nautilus' into nautilus
Josh Durgin [Wed, 15 Apr 2020 17:12:49 +0000 (13:12 -0400)]
Merge remote-tracking branch 'origin/nautilus' into nautilus

Conflicts:
src/msg/async/ProtocolV2.cc - rename of outcoming_bl to outgoing_bl

5 years ago14.2.9 v14.2.9
Jenkins Build Slave User [Thu, 9 Apr 2020 16:17:28 +0000 (16:17 +0000)]
14.2.9

5 years agoMerge pull request #34473 from Vicente-Cheng/wip-44995-nautilus
Lenz Grimmer [Thu, 9 Apr 2020 10:19:14 +0000 (12:19 +0200)]
Merge pull request #34473 from Vicente-Cheng/wip-44995-nautilus

nautilus: mgr/dashboard: Fix error in unit test caused by timezone

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #34055 from callithea/wip-44668-nautilus
Lenz Grimmer [Thu, 9 Apr 2020 09:40:43 +0000 (11:40 +0200)]
Merge pull request #34055 from callithea/wip-44668-nautilus

nautilus: qa: use small default pg count for CephFS pools

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #34354 from smithfarm/wip-44711-nautilus
Yuri Weinstein [Wed, 8 Apr 2020 22:53:07 +0000 (15:53 -0700)]
Merge pull request #34354 from smithfarm/wip-44711-nautilus

nautilus: mgr/DaemonServer: fix pg merge checks

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
5 years agoMerge pull request #34297 from vumrao/wip-vumrao-44818
Yuri Weinstein [Wed, 8 Apr 2020 22:52:07 +0000 (15:52 -0700)]
Merge pull request #34297 from vumrao/wip-vumrao-44818

nautilus: common/options: Disable bluefs_buffered_io by default again.

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Mark Nelson <mnelson@redhat.com>
5 years agoMerge pull request #33889 from ifed01/wip-ifed-flexible-bluefs-nautilus
Yuri Weinstein [Wed, 8 Apr 2020 22:49:51 +0000 (15:49 -0700)]
Merge pull request #33889 from ifed01/wip-ifed-flexible-bluefs-nautilus

nautilus: os/bluestore: more flexible DB volume space usage

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agomgr/dashboard: fix tests in order to match pg num conventions 34055/head
Tatjana Dehler [Fri, 8 Nov 2019 12:51:40 +0000 (13:51 +0100)]
mgr/dashboard: fix tests in order to match pg num conventions

Update the tests test_ganesha and test_rbd_mirroring in order
to match the PG num conventions. It prevents the health warning
'POOL_PG_NUM_NOT_POWER_OF_TWO' from being shown.

Signed-off-by: Tatjana Dehler <tdehler@suse.com>
(cherry picked from commit ee46e58e5dc779418492ef6b8c5e687f36ecb3f6)

5 years agotest/store_test: test coverage for anti-spillover framework. 33889/head
Igor Fedotov [Fri, 30 Aug 2019 15:04:21 +0000 (18:04 +0300)]
test/store_test: test coverage for anti-spillover framework.

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

 Conflicts:
src/os/bluestore/BlueFS.h
Future stuff tried to get into.

5 years agoos/bluestore: introduce bluestore_volume_selection_reserved cfg option.
Igor Fedotov [Fri, 30 Aug 2019 13:26:39 +0000 (16:26 +0300)]
os/bluestore: introduce bluestore_volume_selection_reserved cfg option.

This is an alternative (and straightforward) way to specify barred space not allowed for 'use
some extra' BlueFS volume selector policy.
Disabled by default since it should depend on RocksDB settings and actual volume size.

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

5 years agoos/bluestore: beautify RocksDBBlueFSVolumeSelector::dump output
Igor Fedotov [Thu, 29 Aug 2019 15:11:20 +0000 (18:11 +0300)]
os/bluestore: beautify RocksDBBlueFSVolumeSelector::dump output

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

5 years agoos/bluestore: introduce 'bluestore bluefs stats' admin socket command
Igor Fedotov [Fri, 16 Aug 2019 16:33:25 +0000 (19:33 +0300)]
os/bluestore: introduce 'bluestore bluefs stats' admin socket command

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

 Conflicts:
src/os/bluestore/BlueFS.cc
 Future stuff, legacy admin command iface
        src/os/bluestore/BlueStore.cc
 Need to use legacy bluefs_shared_bdev

5 years agoos/bluestore: implement more intelligent DB volume space managment for BlueFS.
Igor Fedotov [Mon, 8 Jul 2019 14:40:20 +0000 (17:40 +0300)]
os/bluestore: implement more intelligent DB volume space managment for BlueFS.

It allows excessive space usage for higher DB levels.

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

 Conflicts:
src/common/legacy_config_opts.h
src/common/options.cc
Future options tried to get into.

5 years agorgw: reject control characters in response-header actions
Robin H. Johnson [Fri, 27 Mar 2020 19:48:13 +0000 (20:48 +0100)]
rgw: reject control characters in response-header actions

S3 GetObject permits overriding response header values, but those inputs
need to be validated to insure only characters that are valid in an HTTP
header value are present.

Credit: Initial vulnerability discovery by William Bowling (@wcbowling)
Credit: Further vulnerability discovery by Robin H. Johnson <rjohnson@digitalocean.com>
Signed-off-by: Robin H. Johnson <rjohnson@digitalocean.com>
5 years agorgw: EPERM to ERR_INVALID_REQUEST
Abhishek Lekshmanan [Fri, 27 Mar 2020 18:29:01 +0000 (19:29 +0100)]
rgw: EPERM to ERR_INVALID_REQUEST

As per Robin's comments and S3 spec

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
5 years agorgw: reject unauthenticated response-header actions
Matt Benjamin [Fri, 27 Mar 2020 17:13:48 +0000 (18:13 +0100)]
rgw: reject unauthenticated response-header actions

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d8dd5e513c0c62bbd7d3044d7e2eddcd897bd400)

5 years agomsg/async/crypto_onwire: fix endianness of nonce_t
Ilya Dryomov [Fri, 6 Mar 2020 19:16:45 +0000 (20:16 +0100)]
msg/async/crypto_onwire: fix endianness of nonce_t

As a AES-GCM IV, nonce_t is implicitly shared between server and
client.  Currently, if their endianness doesn't match, they are unable
to communicate in secure mode because each gets its own idea of what
the next nonce should be after the counter is incremented.

Several RFCs state that the nonce counter should be BE, but since we
use LE for everything on-disk and on-wire, make it LE.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
5 years agomsg/async/ProtocolV2: avoid AES-GCM nonce reuse vulnerabilities
Ilya Dryomov [Fri, 6 Mar 2020 19:16:45 +0000 (20:16 +0100)]
msg/async/ProtocolV2: avoid AES-GCM nonce reuse vulnerabilities

The secure mode uses AES-128-GCM with 96-bit nonces consisting of a
32-bit counter followed by a 64-bit salt.  The counter is incremented
after processing each frame, the salt is fixed for the duration of
the session.  Both are initialized from the session key generated
during session negotiation, so the counter starts with essentially
a random value.  It is allowed to wrap, and, after 2**32 frames, it
repeats, resulting in nonce reuse (the actual sequence numbers that
the messenger works with are 64-bit, so the session continues on).

Because of how GCM works, this completely breaks both confidentiality
and integrity aspects of the secure mode.  A single nonce reuse reveals
the XOR of two plaintexts and almost completely reveals the subkey
used for producing authentication tags.  After a few nonces get used
twice, all confidentiality and integrity goes out the window and the
attacker can potentially encrypt-authenticate plaintext of their
choice.

We can't easily change the nonce format to extend the counter to
64 bits (and possibly XOR it with a longer salt).  Instead, just
remember the initial nonce and cut the session before it repeats,
forcing renegotiation.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Conflicts:
src/msg/async/ProtocolV2.cc [ context: commit 697aafa2aad2
  ("msg/async/ProtocolV2: remove unused parameter") not in
  nautilus ]
src/msg/async/ProtocolV2.h [ context: commit ed3ec4c01d17
  ("msg: Build target 'common' without using namespace in
  headers") not in nautilus ]

5 years agomsg/async: rename outcoming_bl -> outgoing_bl in AsyncConnection.
Radoslaw Zarzynski [Thu, 3 Oct 2019 13:39:15 +0000 (15:39 +0200)]
msg/async: rename outcoming_bl -> outgoing_bl in AsyncConnection.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 7997a3ea193344ea9782d2594cca295ac5bdf59d)

5 years agomgr/dashboard: Fix error in unit test caused by timezone 34473/head
Tiago Melo [Thu, 14 Nov 2019 10:48:23 +0000 (09:48 -0100)]
mgr/dashboard: Fix error in unit test caused by timezone

Unit test was only accepting positive timezones

Fixes: https://tracker.ceph.com/issues/42812
Signed-off-by: Tiago Melo <tmelo@suse.com>
(cherry picked from commit f5e88e1d113d5fbeeac2e52a2b2f9b03ace174fa)

5 years agoMerge pull request #34373 from votdev/wip-44690-nautilus
Lenz Grimmer [Wed, 8 Apr 2020 11:43:06 +0000 (13:43 +0200)]
Merge pull request #34373 from votdev/wip-44690-nautilus

nautilus: mgr/dashboard: list configured prometheus alerts

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34433 from badone/wip-44260-nautilus
Brad Hubbard [Wed, 8 Apr 2020 00:07:44 +0000 (10:07 +1000)]
Merge pull request #34433 from badone/wip-44260-nautilus

nautilus: selinux: Allow ceph to setsched

Reviewed-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #34434 from badone/wip-nautilus-ceph-mgr-httpd-selinux-denial
Brad Hubbard [Tue, 7 Apr 2020 23:35:09 +0000 (09:35 +1000)]
Merge pull request #34434 from badone/wip-nautilus-ceph-mgr-httpd-selinux-denial

nautilus: selinux: Allow ceph-mgr access to httpd dir

Reviewed-by: Boris Ranto <branto@redhat.com>
5 years agoMerge pull request #31842 from sseshasa/wip-42662-nautilus
Yuri Weinstein [Tue, 7 Apr 2020 18:54:41 +0000 (11:54 -0700)]
Merge pull request #31842 from sseshasa/wip-42662-nautilus

nautilus: osd/OSDMap: Show health warning if a pool is configured with size 1

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #34120 from tspmelo/wip-rbd-error
Yuri Weinstein [Tue, 7 Apr 2020 17:52:26 +0000 (10:52 -0700)]
Merge pull request #34120 from tspmelo/wip-rbd-error

nautilus: mgr/dashboard: Fix error when listing RBD while deleting or moving

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34099 from shyukri/wip-44472-nautilus
Yuri Weinstein [Tue, 7 Apr 2020 17:51:31 +0000 (10:51 -0700)]
Merge pull request #34099 from shyukri/wip-44472-nautilus

nautilus: rgw: clear ent_list for each loop of bucket list

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33641 from tchaikov/nautilus-42477
Yuri Weinstein [Tue, 7 Apr 2020 17:51:00 +0000 (10:51 -0700)]
Merge pull request #33641 from tchaikov/nautilus-42477

nautilus: tools/rados: Unmask '-o' to restore original behaviour

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
5 years agoMerge pull request #33160 from shyukri/wip-43995-nautilus
Yuri Weinstein [Tue, 7 Apr 2020 17:49:43 +0000 (10:49 -0700)]
Merge pull request #33160 from shyukri/wip-43995-nautilus

nautilus: ceph_argparse: increment matchcnt on kwargs

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #34417 from smithfarm/wip-44952-nautilus
Lenz Grimmer [Tue, 7 Apr 2020 15:38:13 +0000 (17:38 +0200)]
Merge pull request #34417 from smithfarm/wip-44952-nautilus

nautilus: mgr/dashboard: Repair broken grafana panels

Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoselinux: Allow ceph to setsched 34433/head
Brad Hubbard [Wed, 19 Feb 2020 03:36:24 +0000 (13:36 +1000)]
selinux: Allow ceph to setsched

In several places, such as common/numa.cc we call sched_setaffinity
which requires this permission.

Fixes: https://tracker.ceph.com/issues/44196
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit 43103e0207bfacf02f7f9533b36443d65f95d718)

5 years agoselinux: Allow ceph-mgr access to httpd dir 34434/head
Brad Hubbard [Mon, 6 Apr 2020 23:35:06 +0000 (09:35 +1000)]
selinux: Allow ceph-mgr access to httpd dir

ceph-mgr loads modules which require read access and this causes a
denial on el7.

Fixes: https://tracker.ceph.com/issues/44216
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
5 years agodashboard: Convert FQDN to hostname in grafana panels 34417/head
Kristoffer Grönlund [Fri, 27 Mar 2020 10:06:58 +0000 (11:06 +0100)]
dashboard: Convert FQDN to hostname in grafana panels

The $ceph_hosts variable contained the FQDN for hosts
while the instance label created by ceph only has
the hostname.

Fixes: https://tracker.ceph.com/issues/44784
Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
(cherry picked from commit b7abaab5bd2b72f48f41b3d2a9732743afdcecfc)

5 years agodashboard: Resolve FQDN / hostname mismatch in hosts overview panel
Kristoffer Grönlund [Thu, 26 Mar 2020 19:38:04 +0000 (20:38 +0100)]
dashboard: Resolve FQDN / hostname mismatch in hosts overview panel

In the AVG Disk Utilization panel, the result is calculated
by combining the output of node_disk_io_time_seconds_total
with the output of ceph_disk_occupation. However, the
first vector encodes the instance label with the full FQDN
while the ceph label only contains the hostname:port. In
order for these to match correctly, the domain name and port
has to be stripped from the labels.

Fixes: https://tracker.ceph.com/issues/44784
Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
(cherry picked from commit 136d21e21dc3c05ec8c586a47eed1904ffbda578)

5 years agodashboard: Use exported_instance to identify OSDs
Kristoffer Grönlund [Thu, 26 Mar 2020 18:12:55 +0000 (19:12 +0100)]
dashboard: Use exported_instance to identify OSDs

When moving to LVM-based ceph-volume setups, several
grafana dashboards stopped working. The problem is that
(device, instance) no longer results in unique labels
which causes errors like:

"many-to-many matching not allowed: matching labels must be unique on one side"

Fixes: https://tracker.ceph.com/issues/44784
Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
(cherry picked from commit 8b61b8d3d781b9d762098cf45b41b596a32509ab)

5 years agodashboard: AVG RAM Utilization panel always showed "N/A"
Kristoffer Grönlund [Tue, 24 Mar 2020 16:57:15 +0000 (17:57 +0100)]
dashboard: AVG RAM Utilization panel always showed "N/A"

The references to `$osd_hosts` etc. were encoded as
`[[osd_hosts]]` in the PromQL expression divisor, and
the panel always displayed N/A as the result of the
query.

Replacing the `[[...]]` with `$...` makes the expression
work again.

Fixes: https://tracker.ceph.com/issues/44784
Signed-off-by: Kristoffer Grönlund <kgronlund@suse.com>
(cherry picked from commit 4444333243aaa81de1d7347bf0c57e039b657d43)

5 years agoMerge pull request #34222 from ceph/wip-yuriw-clients-upgrades-nautilus-octopus
Josh Durgin [Fri, 3 Apr 2020 16:09:49 +0000 (09:09 -0700)]
Merge pull request #34222 from ceph/wip-yuriw-clients-upgrades-nautilus-octopus

qa/tests: initial check in for client-upgrade-nautilus-octopus

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoqa/tests: initial check in for client-upgrade-nautilus-octopus 34222/head
Yuri Weinstein [Tue, 24 Mar 2020 20:06:49 +0000 (13:06 -0700)]
qa/tests: initial check in for client-upgrade-nautilus-octopus

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoMerge pull request #34129 from rhcs-dashboard/nautilus-44666-fix-sso-certificate...
Lenz Grimmer [Fri, 3 Apr 2020 10:11:19 +0000 (12:11 +0200)]
Merge pull request #34129 from rhcs-dashboard/nautilus-44666-fix-sso-certificate-file

nautilus: mgr/dashboard: fix error when enabling SSO with cert. file

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agomgr/dashboard: show alert panel if prometheus/alertmanager is unconfigured 34373/head
Volker Theile [Thu, 2 Apr 2020 10:45:26 +0000 (12:45 +0200)]
mgr/dashboard: show alert panel if prometheus/alertmanager is unconfigured

If the tabs under the "Monitoring" page aren't properly configured, a
notification is shown which explains the user which setting needs to be
enabled and also provides a link to the corresponding documentation.

Fixes: https://tracker.ceph.com/issues/42877
Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit 460f7bb3272c6536c9a5fc0919071d7c17e9aa5a)

Conflicts:
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/monitoring-list/monitoring-list.component.html
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/monitoring-list/monitoring-list.component.ts
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.ts

5 years agomgr/dashboard: extend dashboard documentation
Volker Theile [Thu, 2 Apr 2020 10:35:02 +0000 (12:35 +0200)]
mgr/dashboard: extend dashboard documentation

by adding the previously added monitoring related features as well as
the newest feature addition. Extends the documentation where necessary
to describe the Prometheus' alert configuration.

Fixes: https://tracker.ceph.com/issues/42877
Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit 36421284c315baf7e79a8c0586ca98ac0126037e)

5 years agomgr/dashboard: move monitoring tabs to a single page
Volker Theile [Thu, 2 Apr 2020 10:25:28 +0000 (12:25 +0200)]
mgr/dashboard: move monitoring tabs to a single page

with a tab for 'active alerts', 'all alerts' and 'silences'. Due to
ambiguity with existing names, `AlertListComponent` has been renamed to
`ActiveAlertListComponent`. Introduces `MonitoringListComponent` as
first page for monitoring concerns, using path `/monitoring`.

Keeps the activated tab open, independent of the way that's used to go
back to the previous page, be it the cancel button or submit button or
the link on the breadcrumb. Also keeps the active tab open even when the
page is reloaded.

Fixes: https://tracker.ceph.com/issues/42877
Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit 855f214b29c8ed935c8f4ba0b8a8396692f946a1)

Conflicts:
  src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.e2e-spec.ts
  src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.po.ts
  src/pybind/mgr/dashboard/frontend/src/app/app-routing.module.ts
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/active-alert-list/active-alert-list.component.spec.ts
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/active-alert-list/active-alert-list.component.ts
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/prometheus-tabs/prometheus-tabs.component.html
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/prometheus/prometheus-tabs/prometheus-tabs.component.spec.ts
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.ts
  src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/table-actions/table-actions.component.html

5 years agomgr/dashboard: Unify Tasks and Notifications into a sidebar
Volker Theile [Thu, 2 Apr 2020 09:03:52 +0000 (11:03 +0200)]
mgr/dashboard: Unify Tasks and Notifications into a sidebar

Fixes: https://tracker.ceph.com/issues/37402
Signed-off-by: Tiago Melo <tmelo@suse.com>
(cherry picked from commit 7fdb3c1504a96a991041934c8abd6453d762857d)

Conflicts:
  src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.po.ts
  src/pybind/mgr/dashboard/frontend/package-lock.json
  src/pybind/mgr/dashboard/frontend/package.json
  src/pybind/mgr/dashboard/frontend/src/app/app.component.html
  src/pybind/mgr/dashboard/frontend/src/app/app.module.ts
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/notifications/notifications.component.html
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/notifications/notifications.component.scss
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/notifications/notifications.component.ts
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/task-manager/task-manager.component.html
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/task-manager/task-manager.component.spec.ts
  src/pybind/mgr/dashboard/frontend/src/app/core/navigation/task-manager/task-manager.component.ts
  src/pybind/mgr/dashboard/frontend/src/app/shared/components/components.module.ts
  src/pybind/mgr/dashboard/frontend/src/styles/popover.scss

5 years agomgr/dashboard: refactor test of Prometheus alert service
Volker Theile [Thu, 2 Apr 2020 08:50:09 +0000 (10:50 +0200)]
mgr/dashboard: refactor test of Prometheus alert service

Mocking the test the way it was removed the asynchronous nature of the
test. By using an Observable the test can stay asynchronous and be
tested as well.

Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit b85b24b2d085fd775298625b546b9fd5abe4d741)

5 years agomgr/dashboard: list configured Prometheus alerts
Patrick Seidensal [Mon, 25 Nov 2019 12:37:50 +0000 (13:37 +0100)]
mgr/dashboard: list configured Prometheus alerts

Fixes: https://tracker.ceph.com/issues/42877
Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit 2a50e277d4ae764aa50f9b726f79c84f335ef15a)

Conflicts:
  src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/cluster.module.ts

5 years agomgr/dashboard: return Prometheus alert groups, too
Patrick Seidensal [Tue, 19 Nov 2019 15:45:52 +0000 (16:45 +0100)]
mgr/dashboard: return Prometheus alert groups, too

Fixes: https://tracker.ceph.com/issues/42877
Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
(cherry picked from commit 4917279f9f5ed321cada297706a96e7ce16f01eb)

5 years agomgr/DaemonServer: add explicit check that acting matches for merge 34354/head
Sage Weil [Thu, 19 Mar 2020 21:52:01 +0000 (16:52 -0500)]
mgr/DaemonServer: add explicit check that acting matches for merge

Add an explicit check that the PG acting for the source and target
match before merging.

Fixes: https://tracker.ceph.com/issues/44684
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1700d181580f9ffc9a808ee29daf661f3776a901)

5 years agomgr: synchronize ClusterState's health and mon_status. 34326/head
Radoslaw Zarzynski [Fri, 27 Mar 2020 13:55:36 +0000 (14:55 +0100)]
mgr: synchronize ClusterState's health and mon_status.

Fixes: https://tracker.ceph.com/issues/24995
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit da362675da51de8b20a12e4cec479a77c7f5442b)

5 years agoMerge pull request #34316 from tchaikov/nautilus-six
Kefu Chai [Tue, 31 Mar 2020 12:53:24 +0000 (20:53 +0800)]
Merge pull request #34316 from tchaikov/nautilus-six

nautilus: pybind/mgr: use six==1.14.0

Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agopybind/mgr: use six==1.14.0 34316/head
Kefu Chai [Tue, 31 Mar 2020 12:08:51 +0000 (20:08 +0800)]
pybind/mgr: use six==1.14.0

this change is not cherry-picked from master. because in master, we
are using different ways to install six:

see
68527ab83a77d20b779759581ce0b8844991231b
1e07237d92da3bb5eba82b49f6276d17696e6985

because in teuthology we are using six.ensure_str, which was added in
six 1.12.0, see https://github.com/benjaminp/six/blob/1.12.0/CHANGES ,
we cannot continue using six 1.11.0, as a result, we need switch over to
six>1.12.0. since the latest stable version of six is now 1.14.0, let's
just use it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocommon/options: Disable bluefs_buffered_io by default again. 34297/head
Mark Nelson [Thu, 26 Mar 2020 20:16:46 +0000 (15:16 -0500)]
common/options: Disable bluefs_buffered_io by default again.

Signed-off-by: Mark Nelson <mnelson@redhat.com>
(cherry picked from commit 5574617b9f4cf950c108cb06cb6f9eb48396aa57)

5 years agoMerge pull request #34162 from k0ste/wip-44735-nautilus
Kefu Chai [Sat, 28 Mar 2020 12:28:41 +0000 (20:28 +0800)]
Merge pull request #34162 from k0ste/wip-44735-nautilus

nautilus: mgr/prometheus: ceph_pg_* metrics contains last value instead of sum across all reported states

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #32849 from smithfarm/wip-43469-nautilus
Kefu Chai [Sat, 28 Mar 2020 12:26:59 +0000 (20:26 +0800)]
Merge pull request #32849 from smithfarm/wip-43469-nautilus

nautilus: osd/PeeringState: transit async_recovery_targets back into acting before backfilling

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agotools/rados: Unmask '-o' to restore original behaviour 33641/head
Brad Hubbard [Fri, 1 Nov 2019 01:08:36 +0000 (11:08 +1000)]
tools/rados: Unmask '-o' to restore original behaviour

0b369e1aff1 masked the original behaviour of '-o' which was to indicate
'outfile' as documented in the man page. Changing object-size to capital
o will restore the original behaviour.

Fixes: https://tracker.ceph.com/issues/42477
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit d2b806070de5f56474283035a7ffc91fe96afbab)

Conflicts:
PendingReleaseNotes: trivial resolution

5 years agoMerge pull request #34116 from smithfarm/wip-43820-nautilus
Yuri Weinstein [Thu, 26 Mar 2020 18:01:50 +0000 (11:01 -0700)]
Merge pull request #34116 from smithfarm/wip-43820-nautilus

nautilus: pybind/mgr/*: fix config_notify handling of default values

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #33665 from rhcs-dashboard/wip-44375-nautilus
Yuri Weinstein [Thu, 26 Mar 2020 17:21:12 +0000 (10:21 -0700)]
Merge pull request #33665 from rhcs-dashboard/wip-44375-nautilus

nautilus: mgr/dashboard: do not show RGW API keys if only read-only privileges

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #34039 from rhcs-dashboard/wip-44639-nautilus
Yuri Weinstein [Thu, 26 Mar 2020 16:14:34 +0000 (09:14 -0700)]
Merge pull request #34039 from rhcs-dashboard/wip-44639-nautilus

nautilus: mgr/dashboard: Pool read/write OPS shows too many decimal places

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #33141 from shyukri/wip-44046-nautilus
Yuri Weinstein [Thu, 26 Mar 2020 16:12:16 +0000 (09:12 -0700)]
Merge pull request #33141 from shyukri/wip-44046-nautilus

nautilus: mgr/telemetry: catch exception during requests.put

Reviewed-by: Dan Mick <dmick@redhat.com>
5 years agoMerge pull request #33024 from shyukri/wip-39230-nautilus
Yuri Weinstein [Thu, 26 Mar 2020 16:11:19 +0000 (09:11 -0700)]
Merge pull request #33024 from shyukri/wip-39230-nautilus

nautilus: mgr/dashboard: Updated existing E2E tests to match new format

Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoosd/OSDMap: Show health warning if a pool is configured with size 1 31842/head
Sridhar Seshasayee [Tue, 5 Nov 2019 10:40:14 +0000 (16:10 +0530)]
osd/OSDMap: Show health warning if a pool is configured with size 1

Introduce a config option called 'mon_warn_on_pool_no_redundancy' that is
used to show a health warning if any pool in the ceph cluster is
configured with a size of 1. The user can mute/unmute the warning using
'ceph health mute/unmute POOL_NO_REDUNDANCY'.

Add standalone test to verify warning on setting pool size=1. Set the
associated warning to 'false' in ceph.conf.template under qa/tasks so
that existing tests do not break.

Fixes: https://tracker.ceph.com/issues/41666
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 33c647e8114b37404d8d62a08c85664cea709118)

 Conflicts:
PendingReleaseNotes
- Added release notes under 14.2.9
qa/standalone/mon/health-mute.sh
- Deleted the script as 'health mute/unmute' cmd is unavailable in nautilus
qa/tasks/ceph.conf.template
- Removed a flag not available in nautilus
src/common/options.cc
- Removed a flag not available in nautilus
src/osd/OSDMap.cc

5 years agoMerge pull request #30704 from vshankar/wip-41508 34208/head
Gregory Farnum [Thu, 26 Mar 2020 03:59:58 +0000 (20:59 -0700)]
Merge pull request #30704 from vshankar/wip-41508

nautilus: mds: display scrub status in ceph status

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
5 years agotest: query using mds id, not rank 30704/head
Venky Shankar [Wed, 15 Jan 2020 15:41:14 +0000 (10:41 -0500)]
test: query using mds id, not rank

Fixes: http://tracker.ceph.com/issues/42835
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit fb4cd42cbcdaa4812838b846ae33ee26356ce733)

5 years agomgr: re-enable mds `scrub status` info in ceph status
Venky Shankar [Wed, 15 Jan 2020 15:38:02 +0000 (10:38 -0500)]
mgr: re-enable mds `scrub status` info in ceph status

MDS does not register with manager, therefore `task status`
(scrub status updates) were not getting displayed in ceph
status output.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit d6ad0a255a27c5e3da20c7ae03066a692a6d49bb)

 Conflicts:
src/mgr/DaemonServer.cc
src/mgr/DaemonServer.h

mgr/DaemonServer.{h,cc} deals with raw pointers while master uses ref_t<>
cast -- adjust to that. a minor conflict in the header and the metrics
templatization is not backported to nautilus. also, DaemonKey is a std::pair
in nautilus but a struct in master -- that requires a change in referencing
daemon type and name.

5 years agomon: filter out ceph normal ceph entity types when dumping service metadata
Venky Shankar [Wed, 22 Jan 2020 12:17:42 +0000 (07:17 -0500)]
mon: filter out ceph normal ceph entity types when dumping service metadata

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit dfc056028e44cdbda84d7118e29120ae70edb35a)

5 years agomgr: filter out normal ceph services when processing service map
Venky Shankar [Sat, 8 Feb 2020 03:01:30 +0000 (22:01 -0500)]
mgr: filter out normal ceph services when processing service map

This is done is couple of places in ceph manager -- when culling
entries from service map and the other when dumping serice status.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 20139d12423fc6154b57499c576d1e4bb3f1eade)

 Conflicts:
src/mgr/DaemonServer.cc

Switch to non-initializer list in range-based for loop.

5 years agomgr: helper function to check if a service is a normal ceph service
Venky Shankar [Sat, 8 Feb 2020 09:36:42 +0000 (04:36 -0500)]
mgr: helper function to check if a service is a normal ceph service

This would be widely required since ceph metadata server entries are
maintained in service map (DaemonServer::pending_service_map). Such
normal ceph services would need to filtered when processing the service
map to avoid extraneous entries getting processed.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 79503fc16749ed0cfe8a89ea3b3c8c792d6b8809)

5 years agomds: establish session with mgr only after added to FSMap
Patrick Donnelly [Wed, 6 Nov 2019 03:51:17 +0000 (19:51 -0800)]
mds: establish session with mgr only after added to FSMap

Note that we now sub to the mgrmap after init because the MgrClient
connection to the mgr is driven by receipt of the MgrMap.

This is important so that the MDS does not have metadata with the mgr
when the mons are ignoring the MDS otherwise due to CompatSet
incompatibilities.

Fixes: https://tracker.ceph.com/issues/41538
Fixes: https://tracker.ceph.com/issues/42635
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit e765f2d533440cfc4189f36fcaba24617a302e84)

 Conflicts:
src/mds/MDSDaemon.cc

Nautilus uses Lock/Unlock rather than lock/unlock in master.

5 years agomds: do not register as a service daemon
Patrick Donnelly [Thu, 7 Nov 2019 07:07:20 +0000 (23:07 -0800)]
mds: do not register as a service daemon

This commit undoes the service daemon registration for the MDS. It doesn't look
absolutely necessary and it causes the MDS to be listed twice in the `ceph
versions` output:

    $ ceph versions
        ...
        "mds": {
            "ceph version v15.0.0-6915-g0143b904676 (0143b9046763ea1801efa8358a0c033ec862cea9) octopus (dev)": 3
        },
        "mds": {
            "unknown": 3
        },
        "overall": {
            "ceph version v15.0.0-6915-g0143b904676 (0143b9046763ea1801efa8358a0c033ec862cea9) octopus (dev)": 10,
            "unknown": 3
        }

Fixing that requires looking for duplicates or ignoring MDSs in the
service daemons when the mon processes `ceph versions`. I have a feeling
that it wasn't actually designed to be used by the MDS this way however.
Additionally, the reason for "unknown" version is because the metadata
sent to the mgr does not include "ceph_version".

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 046137f819aae72f1423e3feb213f0e46c97c9ce)

5 years agomds: do not try to diagnose cause of MDSMap removal
Patrick Donnelly [Wed, 6 Nov 2019 08:26:51 +0000 (00:26 -0800)]
mds: do not try to diagnose cause of MDSMap removal

The Monitors send an empty MDSMap to an MDS it is removing. The MDS
can't diagnose the cause. Instead suggest looking at the cluster/monitor
logs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit c385178b0c04d09bc6774acf5bdb4537fa6803ad)

5 years agomds: fix handling of initial MDS states
Patrick Donnelly [Wed, 6 Nov 2019 03:39:59 +0000 (19:39 -0800)]
mds: fix handling of initial MDS states

Few things here:

- Make explicit the check for getting removed from the MDSMap. This was
  only done before by checking if MDS held a rank which does not check the
  case where a standby is removed from the FSMap.

- Use mds_info_t::dump to simplify various debug output.

- Add a few sanity asserts for invalid state transitions.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 26a08df2adc7495fc660113cd26c33d5debd3ee6)

 Conflicts:
src/mds/MDSDaemon.h

Nautilus still uses "const_ref" rather than "cref_t<>" in master.

5 years agomds: remove unnecessary const qualifier
Patrick Donnelly [Wed, 6 Nov 2019 04:42:01 +0000 (20:42 -0800)]
mds: remove unnecessary const qualifier

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 3355581a298963711ad058c6e47d21b7eab887a4)

5 years agomds: cleanup type decl and map iteration
Patrick Donnelly [Wed, 6 Nov 2019 03:37:19 +0000 (19:37 -0800)]
mds: cleanup type decl and map iteration

This is a trivial refactor.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit bafa3b731ff93a356fcf60ebbaf0e5f299182992)

5 years agomds: define stream operator for mds_info_t
Patrick Donnelly [Wed, 6 Nov 2019 03:34:41 +0000 (19:34 -0800)]
mds: define stream operator for mds_info_t

This also cleans up the output to be more readable/useful in debug
output.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 1c56632e88a126d0eac75235d9a9716833cba6b7)

 Conflicts:
PendingReleaseNotes

Fix minor conflict in PendingReleaseNotes.

5 years agomds/MDSRank: report state to mgr as mds id, not rank
Sage Weil [Tue, 29 Oct 2019 19:17:47 +0000 (14:17 -0500)]
mds/MDSRank: report state to mgr as mds id, not rank

Introduced by 625dffe65c0f8001b3b6ca6d0b12732a1a103849, which added
periodic scrub stats reporting.

Fixes: https://tracker.ceph.com/issues/42494
Fixes: https://tracker.ceph.com/issues/41525
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit a1a220d137f7fa128d08f96d1eff83865388e5fc)

5 years agomgr: missing lock release in DaemonServer::handle_report()
Venky Shankar [Thu, 3 Oct 2019 11:33:43 +0000 (17:03 +0530)]
mgr: missing lock release in DaemonServer::handle_report()

Fixes: http://tracker.ceph.com/issues/42169
Introduced-by: 5c25a01864
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit cda3eadbfbd3e3a8a057cc7ed042ba0a6d7fef11)