Actions
Feature #37530
closedmgr/dashboard: Feature toggles
% Done:
80%
Source:
Tags:
Backport:
Description
Description¶
- Provides support for disabling/enabling features from the Ceph-dashboard by means of configuration changes.
- In this context features should be primarily considered from UI perspective and include at least:
- Single components (e.g.: iSCSI)
- Optionally: Sets of related components (e.g: RBD comprising Images, Mirroring & iSCSI). This could also be enabled/disabled on a per-component basis.
- Takes precedence over Role Based Authorization: features are either enabled/disabled for all users.
- No need for an instant effect: a Ceph-mgr or module reload could happen if needed. However, no code changes or builds should be needed.
- No need to disable back-end functionality too.
User Stories¶
Feature toggles bring in benefits for a lots of user personas:
- As a System Administrator I want to disable Ceph components I don't have deployed (e.g: iSCSI) so that the dashboard only reflects the relevant information and workflows.
- As a Ceph Distributor, I want to disable Ceph elements I don't support (e.g.: CephFS).
- As a Back-end Developer I want to disable a new experimental feature so that I don't break/interfere with other ongoing developments, or deployments.
- As a UI/UX Designer I want disable an improved feature so that I can run an A/B test to quickly gather feedback from the same build.
References¶
Implementation tips¶
- Ceph-mgr config options provide an easy (CLI) way to set/unset settings.
- Options names can describe component hierarchies:
RBD
enables/disablesRBD_IMAGES
,RBD_MIRRORING
,RBD_ISCSI
. - For a front-end only feature toggle, there's a PR ongoing providing a
SettingsService
for accessing Ceph-Mgr Config Options. - For a back-end support, it should be easy to extend the
ApiController
/RESTController
for enabling/disabling them.
Actions