Project

General

Profile

Feature #40739

mgr/dashboard: Allow modifying single OSD settings for noout/noscrub/nodeepscrub

Added by Lenz Grimmer over 1 year ago. Updated 22 days ago.

Status:
Resolved
Priority:
Normal
Category:
dashboard/osds
Target version:
% Done:

0%

Source:
Tags:
Backport:
octopus
Reviewed:
Affected Versions:
Pull request ID:

Description

In addition to being able to change cluster-wide OSD settings, it would also be useful to be able to modify these on a per-OSD level, particular the settings "noout/noscrub/nodeepscrub" (any others?)
This should be configurable by selecting an OSD in the data table and then providing a dialogue to change selected settings.

Screenshot_2020-01-22_09-42-58.png View (65.8 KB) Tatjana Dehler, 01/22/2020 08:57 AM

Screenshot_2020-01-22_10-05-09.png View (42.9 KB) Tatjana Dehler, 01/22/2020 09:07 AM

Screenshot_2020-01-28_15-49-37.png View (46.3 KB) Tatjana Dehler, 01/28/2020 02:52 PM


Related issues

Copied to mgr - Backport #48474: octopus: mgr/dashboard: Allow modifying single OSD settings for noout/noscrub/nodeepscrub Resolved

History

#1 Updated by Lenz Grimmer about 1 year ago

  • Tags changed from configuration, osd, administration, usability to configuration, osd, administration, usability, low-hanging-fruit

#2 Updated by Tatjana Dehler about 1 year ago

  • Frontend implementation:
    My idea would be to add another item 'Flags' (as we already have for the cluster-wide settings) to the OSD specific settings. It's possible to select one or more OSDs to configure the flags:

    If the user click on the 'Flags' item, a modal dialogue will open and contain three checkboxes for noout, noscrub and nodeepscrub:

#5 Updated by Lenz Grimmer about 1 year ago

Thanks for preparing this draft. I like your proposal! One question though: how will it be possible to see which of these flags have been enabled on a particular OSD?
Do you plan to add a new column with badges? Something else?

#6 Updated by Tatjana Dehler about 1 year ago

Lenz Grimmer wrote:

Thanks for preparing this draft. I like your proposal! One question though: how will it be possible to see which of these flags have been enabled on a particular OSD?
Do you plan to add a new column with badges? Something else?

Thank you for your comment. To be honest, I haven't thought about it yet. I would be fine with adding a column containing badges if we need the information prominently within the table view.

I'm still wondering how we want to/can "synchronize" the OSD specific with the cluster-wide flags. Let's say the 'noscrub' flag is already activated cluster-wide. Do we want to deactivate the 'noscrub' checkbox in the OSD specific settings? - Or is it possible to allow e.g. scrub for a specific OSD although 'noscrub' is set cluster-widely? I'm trying to figure out which setting overwrites another or is more important.

In relation to your question: to we then also show the cluster-wide settings as badges within the table view for every OSD? - Or do we only show the badges if the configuration is OSD specific?

There are still a lot of questions to clarify ;)

#7 Updated by Volker Theile about 1 year ago

If OSD specific flags override the cluster wide flags then it should be simple to display the correct flags as badges in a column.

The only thing i'm asking myself is how to display flags if a dialog is opened after selecting multiple OSDs. In this case it is not possible to show the current values because they may differ for every OSD. Because of that there are two solutions:

  • Show a dialog with unchecked flags
  • Do not allow multi selection (my prefered solution)

#8 Updated by Tatjana Dehler 12 months ago

Volker Theile wrote:

If OSD specific flags override the cluster wide flags then it should be simple to display the correct flags as badges in a column.

I tried to add a "Flags" column to the OSD table. And then I added the cluster wide flags for each OSD (clusterwide_1, clusterwide_2, clusterwide_3, clusterwide_4) and for OSD.0 'noout' in addition. To differentiate between cluster wide and OSD specific flags I set different color for the badges. Nevertheless I'm not fully convinced of it, yet.

Another idea would be to show only the OSD specific (and not the cluster wide) flags in the table.

The only thing i'm asking myself is how to display flags if a dialog is opened after selecting multiple OSDs. In this case it is not possible to show the current values because they may differ for every OSD. Because of that there are two solutions:

  • Show a dialog with unchecked flags
  • Do not allow multi selection (my prefered solution)

I'm fine with a single-select as a first step. Maybe it's also possible to use an indeterminate checkbox (https://getbootstrap.com/docs/4.4/components/forms/#checkboxes) in case of multi-selection?

Additionally - let's assume the 'noout' flag has already been set cluster-widely. If the user tries to edit (unset) the flag for a single OSD, the checkbox should be disabled and a description, e.g. "The flag 'noout' has been set for the whole cluster. It can't be unset for a single OSD", should be shown.
If the flag has been set for the whole cluster, it can't be unset for a single OSD (as there is no no-noout flag). It would fall back to the cluster-wide configuration (which is still having the 'noout' flag set).

#9 Updated by Tatjana Dehler 6 months ago

  • Assignee set to Tatjana Dehler

#10 Updated by Tatjana Dehler 6 months ago

  • Status changed from New to In Progress
  • Pull request ID set to 36449

#11 Updated by Lenz Grimmer 3 months ago

  • Tags changed from configuration, osd, administration, usability, low-hanging-fruit to configuration, osd, administration, usability
  • Status changed from In Progress to Resolved
  • Target version set to v16.0.0

#12 Updated by Tatjana Dehler about 2 months ago

  • Status changed from Resolved to Pending Backport

#13 Updated by Tatjana Dehler about 2 months ago

  • Backport set to octopus

#14 Updated by Tatjana Dehler about 2 months ago

  • Copied to Backport #48474: octopus: mgr/dashboard: Allow modifying single OSD settings for noout/noscrub/nodeepscrub added

#15 Updated by Tatjana Dehler 22 days ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF