osd: Restore defaults of mClock built-in profiles upon modification
The QoS parameters (res, wgt, lim) of mClock profiles are not allowed to
be modified by users using commands like "config set" or via admin socket.
handle_conf_change() does not allow changes to any built-in mClock profile
at the mClock scheduler. But the config subsystem showed the change as
expected for the built-in mClock profile QoS parameters. This misled the
user into thinking that the change was made at the mClock server when
it was not the case.
The above issue is the result of the config "levels" used by the config
subsystem. The inital built-in QoS params are set at the CONF_DEFAULT
level. This allows the user to modify the built-in QoS params using
"config set" command which sets values at CONF_MON level which has higher
priority than CONF_DEFAULT level. The new value is persisted on the mon
store and therefore the config subsystem shows the change when "config
show" command is issued.
To prevent the above, this commit adds changes to restore the defaults set
for the built-in profiles by removing the new config changes from the MON
store. This results in the original defaults to come back into effect and
maintain a consistent view of the built-in profile across all levels.
To accomplish this, the mClock scheduler is provided with additional
information like the OSD id, shard id and a pointer to the MonClient
using which the Mon store command to remove the option is executed.
A standalone test is added to verify that built-in params cannot be
modified and the original profile params are retained.
Zac Dover [Fri, 10 Feb 2023 02:40:01 +0000 (12:40 +1000)]
doc/rgw: refine "Configuring Secondary Zones"
English grammar and syntax pass (and some pragmatics, too, where I had
enough understanding to be helpful that way) for "Configuring Secondary
Zones" in doc/radosgw/multisite.rst.
Add a note on the fact that CephFS extended attributes are not printed
by "getfattr /some/cephfs/dir/ -d -m -" even when the CephFS directory
has some extended attributes set on it.
Zac Dover [Sat, 4 Feb 2023 07:53:32 +0000 (17:53 +1000)]
doc/rgw: refine 1-50 of multisite.rst
Refine the English in the first fifty lines of multisite.rst. This is
part of a project whose goal is the creation of a document that will
impart a good aerial view of RGW to a first-time reader in the minimum
number of words.
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com> Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 6721196ff129b00d9dea3515fbaaacde8f84eaea)
Zac Dover [Fri, 3 Feb 2023 07:21:54 +0000 (17:21 +1000)]
doc/rgw: refine "Zones" in multisite.rst
Clean up the English under the section called "Zones". Part of a larger
project aimed at giving the reader more understanding earlier in the
documentation of how buckets and zones and zone groups and endpoints
work.
Matan Breizman [Thu, 12 Jan 2023 09:16:00 +0000 (09:16 +0000)]
mgr/prometheus: use vendored "packaging" instead
* Note: The cherry-pick is altered, the original commit couldn't be cherry-picked
as is since we introduced some changes in the organization of the debian dir
(ceph-mgr-modules-core.requires doesn't exist yet).
All the packages listed in main's ceph-mgr-modules-core.requires are marked
as pkg.ceph.check in P/Q debian/control.
Therefore, python3-pkg-resources is listed as <pkg.ceph.check> in debian/control.
instead of using the top-level "packaging" module, use the one
vendored by setuptools.
packaging python module provides versioning defined by PEP-440.
but python3-packaging is provided by CentOS8 powertools repo,
which is not enabled by default. and in CentOS9, this package
is provided by AppStream instead of BaseOS.
as prometheus mgr module is included by ceph-mgr-module-core,
it would be desirable if our user can install ceph-mgr-module-core
without enabling powertools or AppStream repo on a CentOS or
its derivative distros.
fortunately, setuptools vendors packaging module. and both
CentOS8 and CentOS9 provide python3-setuptools in their BaseOS
repos.
in this change, instead of using "packging" module, we use the
venderored one, which is in turn embedded in pkg_resources.
this python module is provided by python3-setuptools on CentOS
distros, and python3-pkg-resources on Debian and its derivatives
the packaging recipes are updated accordingly to reflect the
new runtime dependency.
Ilya Dryomov [Thu, 19 Jan 2023 12:21:40 +0000 (13:21 +0100)]
doc/rbd/rbd-exclusive-locks: warn about automatic lock transitions
A lot of people aren't aware of automatic lock transitions and
wrongfully assume that exclusive lock means that the image remains
locked for as long as the client is running. Redo the explanation
and add a warning.
Avan Thakkar [Mon, 16 Jan 2023 12:41:06 +0000 (18:11 +0530)]
mgr/prometheus: export zero valued pg state metrics
Fixes: https://tracker.ceph.com/issues/58471 Signed-off-by: Avan Thakkar <athakkar@redhat.com>
As per the Prometheus documentation, omitting zero metrics is not a best practice. The metric value for all PG_STATES should be initialized to zero.
Zac Dover [Thu, 19 Jan 2023 01:50:17 +0000 (11:50 +1000)]
doc/install: link to "cephadm installing ceph"
Link to "Installing Ceph" in the cephadm documentation instead of (as
was the case before this commit) to the cephadm overview page. Anyone
who clicks on the "cephadm" link in the context of the
doc/install/index.rst page is more likely to expect installation
instructions than to expect an explanation of what cephadm is.
Aashish Sharma [Tue, 17 Jan 2023 09:56:34 +0000 (15:26 +0530)]
mgr/dashboard: fix bucket encryption checkbox
Fixes: https://tracker.ceph.com/issues/58474
The encryption checkbox in the bucket creation form remains disabled after setting the vault authentication method as agent.
nsedrickm [Fri, 17 Jun 2022 01:42:31 +0000 (02:42 +0100)]
mgr/dashboard: Improve accessibility for dashboard health page
* Add new color variables to meet WCAG level AA color contrast for info cards and cluster health label
* Increase font size of cluster health label for better legibility with updated color
* Apply darker warning color for logs summary description and increase their font size and font-weight
* Add accessible names for info group icons
* Replace health status labels HEALTH_OK, HEALTH_WARN and HEALTH_ERR with OK, WARNING and ERROR
Fixes: https://tracker.ceph.com/issues/55867 Signed-off-by: nsedrickm <nsedrick101@gmail.com>
(cherry picked from commit 0bd10c0e122e463d9621a26f4c3a73deea2a9c40)
nsedrickm [Mon, 20 Jun 2022 17:32:27 +0000 (18:32 +0100)]
mgr/dashboard: Improve accessibility for navigation components
* Fix all dropdown accessibility issues by setting their roles as buttons
* Increase navlink font-size to 16px
* Add new primary color variable $primary-wcag-aa-large-text: #25828e to meet WCAG level AA color contrast ratio for active navlink backgrounds
Fixes: https://tracker.ceph.com/issues/56021 Signed-off-by: nsedrickm <nsedrick101@gmail.com>
(cherry picked from commit d84c82787985ef919030603fdd1ec61c114dbdbc)
- Deleted the CrudTable component since its not backported yet
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/datatable.module.ts
- Deleted the import of crud-table
mgr/dashboard: Improve level A accessibility for datatable component
* Add accessible names for table action buttons, dropdowns and table input elements
* Update accent color to primary color
* Add custom row selection checkbox
Fixes: https://tracker.ceph.com/issues/56022 Signed-off-by: nsedrickm <nsedrick101@gmail.com>
(cherry picked from commit 020460cdec30adc7d4e12347db55f91d26d791bf)
mgr/dashboard: Add accessibility e2e tests for login page
This commit adds e2e accessibility checks for the login page using cypress-axe and axe-core to help access the level of compliance to
WCAG2.1 accessibility standards
Fixes: https://tracker.ceph.com/issues/55820 Signed-off-by: nsedrickm <nsedrick101@gmail.com>
(cherry picked from commit 7a4e8a428ac5ca98c8826f3c41a271205b2f11e6)
nsedrickm [Thu, 2 Jun 2022 18:27:27 +0000 (19:27 +0100)]
mgr/dashboard: improve accessibility of login page
This commit improves the accessibility of the login page we:
* Made form labels more legible by changing their color to lighter gray
* Added accessible names and roles for password toggle button and language select dropdown
Fixes: https://tracker.ceph.com/issues/55820 Signed-off-by: nsedrickm <nsedrick101@gmail.com>
(cherry picked from commit 3cbca96def09da4b1c1ab0902c2f8de8893bdd21)
Zac Dover [Wed, 11 Jan 2023 15:12:24 +0000 (01:12 +1000)]
doc/cephadm: s/osd/OSD/ where appropriate
Capitalize the initialization "OSD" where it occurs in natural language
in cephadm/host-management.rst. This PR answers a request made by
Anthony D'Atri and seconded by Cole Mitchell in https://github.com/ceph/ceph/pull/49699#discussion_r1066171002.