Project

General

Profile

Actions

Feature #40739

closed

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

Added by Lenz Grimmer almost 5 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Category:
Component - 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.


Files


Related issues 1 (0 open1 closed)

Copied to Dashboard - Backport #48474: octopus: mgr/dashboard: Allow modifying single OSD settings for noout/noscrub/nodeepscrubResolvedTatjana DehlerActions
Actions #1

Updated by Lenz Grimmer over 4 years ago

  • Translation missing: en.field_tag_list changed from configuration, osd, administration, usability to configuration, osd, administration, usability, low-hanging-fruit
Actions #2

Updated by Tatjana Dehler about 4 years 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:
Actions #5

Updated by Lenz Grimmer about 4 years 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?

Actions #6

Updated by Tatjana Dehler about 4 years 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 ;)

Actions #7

Updated by Volker Theile about 4 years 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)
Actions #8

Updated by Tatjana Dehler about 4 years 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).

Actions #9

Updated by Tatjana Dehler over 3 years ago

  • Assignee set to Tatjana Dehler
Actions #10

Updated by Tatjana Dehler over 3 years ago

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

Updated by Lenz Grimmer over 3 years ago

  • Translation missing: en.field_tag_list 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
Actions #12

Updated by Tatjana Dehler over 3 years ago

  • Status changed from Resolved to Pending Backport
Actions #13

Updated by Tatjana Dehler over 3 years ago

  • Backport set to octopus
Actions #14

Updated by Tatjana Dehler over 3 years ago

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

Updated by Tatjana Dehler over 3 years ago

  • Status changed from Pending Backport to Resolved
Actions #16

Updated by Ernesto Puerta about 3 years ago

  • Project changed from mgr to Dashboard
  • Category changed from 138 to Component - OSDs
Actions

Also available in: Atom PDF