]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agonautilus: mgr/volumes: Add interface to get subvolume metadata 34679/head
Kotresh HR [Thu, 26 Mar 2020 05:00:39 +0000 (10:30 +0530)]
nautilus: mgr/volumes: Add interface to get subvolume metadata

The following interface is added

"ceph fs subvolume info <vol_name> <sub_name> [<group_name>]"

The output is in json format with following fields

1. atime: access time of subvolume path in the format "YYYY-MM-DD HH:MM:SS"
2. mtime: modification time of subvolume path in the format "YYYY-MM-DD HH:MM:SS"
3. ctime: change time of subvolume path in the format "YYYY-MM-DD HH:MM:SS"
4. uid: uid of subvolume path
5. gid: gid of subvolume path
6. mode: mode of subvolume path
7. mon_addrs: list of monitor addresses
8. bytes_pcent: quota used in percentage if quota is set, else displays "undefined"
9. bytes_quota: quota size in bytes if quota is set, else displays "infinite"
10. bytes_used: current used size of the subvolume in bytes
11. created_at: time of creation of subvolume in the format "YYYY-MM-DD HH:MM:SS"
12. data_pool: data pool the subvolume belongs to
13. path: absolute path of a subvolume
14. type: subvolume type indicating whether it's clone or subvolume

Fixes: https://tracker.ceph.com/issues/44277
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 70659ffee19c1ef23314994aa3ecb5fe8027d224)

Conflicts:
   src/pybind/mgr/volumes/fs/volume.py [ context: commit a44de38
      ("mgr_util: add CephfsClient implementation") not in nautilus ]

5 years agoMerge pull request #34597 from smithfarm/wip-43134-nautilus
Yuri Weinstein [Tue, 21 Apr 2020 23:44:01 +0000 (16:44 -0700)]
Merge pull request #34597 from smithfarm/wip-43134-nautilus

nautilus: rgw: find oldest period and update RGWMetadataLogHistory()

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34585 from smithfarm/wip-45040-nautilus
Yuri Weinstein [Tue, 21 Apr 2020 23:09:42 +0000 (16:09 -0700)]
Merge pull request #34585 from smithfarm/wip-45040-nautilus

nautilus: mon: calculate min_size on osd pool set size

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #34489 from rhcs-dashboard/nautilus-fix-coverage-path
Yuri Weinstein [Tue, 21 Apr 2020 23:09:18 +0000 (16:09 -0700)]
Merge pull request #34489 from rhcs-dashboard/nautilus-fix-coverage-path

nautilus: mgr/dashboard: fix COVERAGE_PATH in run-backend-api-tests.sh

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34394 from votdev/wip-44917-nautilus
Yuri Weinstein [Tue, 21 Apr 2020 23:07:13 +0000 (16:07 -0700)]
Merge pull request #34394 from votdev/wip-44917-nautilus

nautilus: monitoring: alert for prediction of disk and pool fill up broken

Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
5 years agoMerge pull request #34392 from tchaikov/nautilus-cbt
Yuri Weinstein [Tue, 21 Apr 2020 20:52:20 +0000 (13:52 -0700)]
Merge pull request #34392 from tchaikov/nautilus-cbt

nautilus: qa/suites: use "nautilus" branch for cbt based testing

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoMerge pull request #34609 from smithfarm/wip-44267-nautilus
Yuri Weinstein [Tue, 21 Apr 2020 18:30:05 +0000 (11:30 -0700)]
Merge pull request #34609 from smithfarm/wip-44267-nautilus

nautilus: rgw: fix bug with (un)ordered bucket listing and marker w/ namespace

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34599 from smithfarm/wip-44232-nautilus
Yuri Weinstein [Tue, 21 Apr 2020 18:29:40 +0000 (11:29 -0700)]
Merge pull request #34599 from smithfarm/wip-44232-nautilus

nautilus: rgw: ReplaceKeyPrefixWith and ReplaceKeyWith can not set at the same …

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34598 from smithfarm/wip-44136-nautilus
Yuri Weinstein [Tue, 21 Apr 2020 18:29:00 +0000 (11:29 -0700)]
Merge pull request #34598 from smithfarm/wip-44136-nautilus

nautilus: rgw: set bucket attr twice when delete lifecycle config.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34278 from jan--f/wip-44688-nautilus
Jan Fajerski [Tue, 21 Apr 2020 13:50:12 +0000 (15:50 +0200)]
Merge pull request #34278 from jan--f/wip-44688-nautilus

nautilus: ceph-volume: prepare: use *-slots arguments for implicit sizing

5 years agoMerge pull request #34478 from jan--f/wip-44998-nautilus
Jan Fajerski [Tue, 21 Apr 2020 13:49:29 +0000 (15:49 +0200)]
Merge pull request #34478 from jan--f/wip-44998-nautilus

nautilus: ceph-volume/batch: return success when all devices are filtered

5 years agoMerge pull request #34481 from jan--f/wip-45002-nautilus
Jan Fajerski [Tue, 21 Apr 2020 11:30:06 +0000 (13:30 +0200)]
Merge pull request #34481 from jan--f/wip-45002-nautilus

nautilus: ceph-volume/batch: check lvs list before access

5 years agoMerge pull request #34445 from jan--f/wip-44974-nautilus
Jan Fajerski [Tue, 21 Apr 2020 11:29:47 +0000 (13:29 +0200)]
Merge pull request #34445 from jan--f/wip-44974-nautilus

nautilus: devices/simple/scan: Fix string in log statement

5 years agoMerge pull request #33616 from jan--f/wip-44325-nautilus
Jan Fajerski [Tue, 21 Apr 2020 11:22:17 +0000 (13:22 +0200)]
Merge pull request #33616 from jan--f/wip-44325-nautilus

nautilus: ceph-volume: lvm: get_device_vgs() filter by provided prefix

5 years agoceph-volume: pass *-slots arguments to LV creation 34278/head
Jan Fajerski [Mon, 2 Mar 2020 14:16:39 +0000 (15:16 +0100)]
ceph-volume: pass *-slots arguments to LV creation

Fixes: https://tracker.ceph.com/issues/44494
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 61f0c3af0b0f36a03748733b16de1b11048342e6)

5 years agouse extent count for slots conversion instead of free count
Jan Fajerski [Wed, 4 Mar 2020 12:28:46 +0000 (13:28 +0100)]
use extent count for slots conversion instead of free count

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 4a81b4a2fbb4cafe45a8fe8cceeece636e51adb6)

5 years agoceph-volume: available_lvm: vg space takes precedence
Jan Fajerski [Wed, 4 Mar 2020 10:39:40 +0000 (11:39 +0100)]
ceph-volume: available_lvm: vg space takes precedence

This changes available_lvm to check for generic reasons only if no VGs
were found. A VG can contain a (mounted) lv, which triggers the
ro/locked test, despite the VG having space available.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit c6d71eb0022935731bb9380098c975d9c5f27a86)

5 years agoceph-volume: don't create Volume/VolumeGroup objects with empty name 33616/head
Jan Fajerski [Tue, 25 Feb 2020 15:18:57 +0000 (16:18 +0100)]
ceph-volume: don't create Volume/VolumeGroup objects with empty name

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 235b19eb66b9ba9beab99508f2fdf7b6afe26f31)

5 years agoceph-volume: get_device_lvs filter by provided prefix
Jan Fajerski [Tue, 25 Feb 2020 15:18:24 +0000 (16:18 +0100)]
ceph-volume: get_device_lvs filter by provided prefix

Fixes: https://tracker.ceph.com/issues/44124
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit ac43d37f581510d1854e76afb634a142ad9a0fc0)

5 years agoceph-volume: lvm.get_device_vgs: don't create VolumeGroup with empty name
Jan Fajerski [Tue, 25 Feb 2020 15:27:08 +0000 (16:27 +0100)]
ceph-volume: lvm.get_device_vgs: don't create VolumeGroup with empty name

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 3c4c8c5e4a242985389c8d1c85b45cac89b2dc89)

5 years agoceph-volume: lvm: get_device_vgs() filter by provided prefix
Yehuda Sadeh [Sat, 22 Feb 2020 01:44:11 +0000 (17:44 -0800)]
ceph-volume: lvm: get_device_vgs() filter by provided prefix

Fixes: https://tracker.ceph.com/issues/44246
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit b48caf4873c11690d36a88760504f98b46101995)

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 agorgw: fix bug with (un)ordered bucket listing and marker w/ namespace 34609/head
J. Eric Ivancich [Fri, 31 Jan 2020 20:01:40 +0000 (15:01 -0500)]
rgw: fix bug with (un)ordered bucket listing and marker w/ namespace

When listing without specifying a namespace, the returned entries
could be in one or more namespaces. The marker used to continue the
listing may therefore contain a namespace, and that needs to be
preserved. This fixes a bug in both ordered and unordered listings
where it was not preserved.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 9457abb729754458aafc07a9ee514407906a1011)

Conflicts:
src/rgw/rgw_rados.cc
- trivial (nautilus is missing some whitespace-finessing that happened in master)

5 years agorgw: when a period lookup for oldest_realm_epoch returns an ENOENT, 34597/head
Shilpa Jagannath [Tue, 26 Nov 2019 08:03:52 +0000 (13:33 +0530)]
rgw: when a period lookup for oldest_realm_epoch returns an ENOENT,
find the oldest one and update RGWMetadataLogHistory. This is to avoid an
empty cursor being passed in to ceph_assert() in PurgePeriodLogsCR::operate()
in case of incomplete period history.

Fixes: https://tracker.ceph.com/issues/40341
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
(cherry picked from commit 0ea65d81d4d5431ca22340149dbd714e395ecdc3)

Conflicts:
src/rgw/services/svc_mdlog.cc
- file does not exist in nautilus; made the changes manually to
  src/rgw/rgw_metadata.cc

5 years agorgw: ReplaceKeyPrefixWith and ReplaceKeyWith can not set at the same time. 34599/head
yuliyang [Mon, 13 Jan 2020 08:31:33 +0000 (16:31 +0800)]
rgw: ReplaceKeyPrefixWith and ReplaceKeyWith can not set at the same time.
and support some HttpErrorCodeReturnedEquals and HttpRedirectCode limit.

fix https://tracker.ceph.com/issues/43563

Signed-off-by: yuliyang <yuliyang@cmss.chinamobile.com>
(cherry picked from commit 0b4689865db3ab8efc39a73070a5d60bd9992fbd)

5 years agorgw: set bucket attr twice when delete lifecycle config. 34598/head
zhang Shaowen [Fri, 11 Oct 2019 07:14:15 +0000 (15:14 +0800)]
rgw: set bucket attr twice when delete lifecycle config.

Fixes: https://tracker.ceph.com/issues/44093
Signed-off-by: zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
(cherry picked from commit c480b029f205c417935df2478a6aa66211f13658)

Conflicts:
src/rgw/rgw_op.cc
- set_bucket_instance_attrs call looks different in nautilus, presumably
  due to post-nautilus refactoring

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 agoqa/workunits/mon: add check for min_size 34585/head
Deepika Upadhyay [Thu, 2 Apr 2020 07:01:16 +0000 (12:31 +0530)]
qa/workunits/mon: add check for min_size

verify whether min_size is recalculated when osd
pool size is changed.

fixes: https://tracker.ceph.com/issues/44862
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
(cherry picked from commit 0a7325a2b2ee82752b4191c240e7c7a6f14a2b3e)

Conflicts:
qa/workunits/mon/pool_ops.sh
- in nautilus, "ceph osd pool set foo size 1" does not take
  a "--yes-i-really-mean-it" option

5 years agomon: calculate min_size on osd pool set size
Deepika Upadhyay [Wed, 1 Apr 2020 09:22:03 +0000 (14:52 +0530)]
mon: calculate min_size on osd pool set size

currently `osd pool set size` only modifies min_size when it is above new size,
while it should be recalculated unconditionally.

fixes: https://tracker.ceph.com/issues/44862
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
(cherry picked from commit b69dcaa18cc30d3091630606b981290c91091ce5)

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 agomonitoring: alert for prediction of disk and pool fill up broken 34394/head
Patrick Seidensal [Thu, 26 Mar 2020 21:49:57 +0000 (22:49 +0100)]
monitoring: alert for prediction of disk and pool fill up broken

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

Conflicts:
  monitoring/prometheus/alerts/ceph_default_alerts.yml

5 years agomgr/dashboard: fix COVERAGE_PATH in run-backend-api-tests.sh 34489/head
Alfonso Martínez [Thu, 9 Apr 2020 07:14:24 +0000 (09:14 +0200)]
mgr/dashboard: fix COVERAGE_PATH in run-backend-api-tests.sh

As we cannot backport directly https://github.com/ceph/ceph/pull/33407
to nautilus and COVERAGE_PATH is invalid for CentOS7 + py2,
this fix is applied directly to nautilus.

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
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 agoceph-volume/batch: check lvs list before access 34481/head
Jan Fajerski [Wed, 8 Apr 2020 08:41:56 +0000 (10:41 +0200)]
ceph-volume/batch: check lvs list before access

Fixes: https://tracker.ceph.com/issues/44989
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit c6dcf3161b2d69b88acdda473b85c9dd2c8433e3)

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 agoceph-volume/batch: return success when all devices are filtered 34478/head
Jan Fajerski [Wed, 8 Apr 2020 09:55:57 +0000 (11:55 +0200)]
ceph-volume/batch: return success when all devices are filtered

batch should only return an error if some (but not all) devices are
filtered. When only some devices are filtered the resulting osd layout
could look very different from what a user expects. If all devies are
filtered just return success.

Fixes: https://tracker.ceph.com/issues/44994
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit cb3eade3d00fdcdb34c4156f3c488bbb8747cd6f)

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 agodevices/simple/scan: Fix string in log statement 34445/head
Jan Fajerski [Mon, 6 Apr 2020 08:51:27 +0000 (10:51 +0200)]
devices/simple/scan: Fix string in log statement

A multiline string enclosed by () gained a comma, making it into a
tuple, which has no format() method.

Fixes: https://tracker.ceph.com/issues/44949
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 292ae0305db3e48a87db45bcc7ca8cb837a08ead)

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 agoqa/suites: use "nautilus" branch for cbt based testing 34392/head
Kefu Chai [Fri, 3 Apr 2020 08:48:17 +0000 (16:48 +0800)]
qa/suites: use "nautilus" branch for cbt based testing

cbt is using features like the f string introduced by python3.6, so we
need either stop testing on ubuntu 16.04, which came with python3.5, or
specify the a cbt branch which support python3.5. to address this issue
once and for all, it's simpler just pin the branch to "nautilus" when
performing cbt based tests.

this change is not cherry-picked from master, as in master, we only
tests on distros which offers python3.6 and up.

Signed-off-by: Kefu Chai <kchai@redhat.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)