John Mulligan [Thu, 12 Jan 2023 18:47:49 +0000 (13:47 -0500)]
qa/test_nfs: fix test failure when cluster does not exist
The patches that add object formatting / decorators to the nfs module
also made error handling more generic when accessing an nfs cluster and
now returns a nonzero exit code. A test was after the PR adding the
object format support that only checked an error message.
Update the test to match the new nfs module behavior as well as fixing a
typo.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Thu, 5 May 2022 20:56:08 +0000 (16:56 -0400)]
mgr/nfs: convert _cmd_nfs_export_apply to use Responder decorator
The "export apply" functionality is unusual in that it allows either
one or multiple nested requests to change or create an export.
The previous implementation would concatenate the results of
multiple change operations into a single string. It also would continue
making changes if one case failed, adding the error to the string
and setting a non-zero error code.
The updated version keeps the general behavior but returns structured
JSON (or other formatted data) with one entry per change request. In
order to accomplish this and match the old behavior as closely as
possible we add an intermediate type (AppliedExportResults) that can
return both the response data (the `to_simplified` method) and track if
there was a failure mixed in with the various updates (the
`mgr_return_value` method).
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Mon, 22 Aug 2022 15:00:49 +0000 (11:00 -0400)]
cephfs/test_nfs: adapt _test_list_cluster to expect JSON output
Previously, the '... nfs cluster ls' command emitted newline separated
list of cluster names. For consistency with other module commands
reporting via JSON the cluster ls mgr function now emits JSON. Update
the test to match the new behavior of the module.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Zac Dover [Wed, 11 Jan 2023 20:24:55 +0000 (06:24 +1000)]
doc/dev: add push.autoSetupRemote instructions
Explain how to set up push.autoSetupRemote so that the origin branch is
properly set up when running "get push" without the need for the
"--set-upstream" option.
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.
Kefu Chai [Wed, 11 Jan 2023 04:12:17 +0000 (12:12 +0800)]
mgr/prometheus: use vendored "packaging" instead
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.
Zac Dover [Tue, 10 Jan 2023 15:55:55 +0000 (01:55 +1000)]
doc/css: add "span" padding to custom.css
Add "scroll-top-bar: 2em;" for the "span" html element in custom.css so
that the top bar doesn't get in the way of headings bounded by the "span
element".
Zac Dover [Mon, 9 Jan 2023 18:09:20 +0000 (04:09 +1000)]
doc/rados: link to cephadm replacing osd section
Direct readers to the "Replacing an OSD" section in the cephadm
documentation, for cases in which the instructions in "Replacing an OSD"
in the RADOS documentation don't work.
Zac Dover [Sun, 8 Jan 2023 08:04:43 +0000 (18:04 +1000)]
doc/glossary: Clean up "Ceph Object Storage"
Remove redundant material under the "Ceph Object Storage" headword and
add a "See 'Ceph Object Store'" link. A future PR will provide a couple
of sentences that explain how object storage is what's really supporting
both CephFS and RBD.
tools/cephfs/first-damage: repair specific first=CEPH_NOSNAP damage
first==CEPH_NOSNAP is never valid. Apparently somehow the MDS may set
this in some code path yet to be discovered, even without snapshots.
Note, we probably should not necessarily automate this fix via the MDS
because we do not know if this dentry (visible in HEAD) should also be
visible before NEXT_SNAP.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Zac Dover [Fri, 6 Jan 2023 16:24:39 +0000 (02:24 +1000)]
doc/css: Add scroll-margin-top to h2 html element
Add "scroll-margin-top: 4em;" to the h2 html element's definition in
custom.css. This moves the text under all h2 html elements out of the
way of the sticky-header-style top bar, which previously obscured the
text.
Zac Dover [Fri, 6 Jan 2023 12:51:47 +0000 (22:51 +1000)]
doc/man: define --num-rep, --min-rep and --max-rep
Explain the "--num-rep", "--min-rep", and "--max-rep" options, which are
required when running "crushtool" commands with the "--show-mappings"
flag. Originally reported by Brad Fitzpatrick.
Zac Dover [Thu, 5 Jan 2023 12:25:43 +0000 (22:25 +1000)]
doc/css: add scroll-margin-top to dt elements
add "scroll-margin-top: em3;" to custom.css so that the header bar
doesn't obscure the text of headwords in glossary.rst. Note that this
applies only to elements in the documentation that are rendered into
HTML with the dt (which stands for "description term" or "description
list") tag. Other modifications will be necessary in order to ensure
that the anchor points of non-dt elements are not obscured by the header
bar.
Lucian Petrut [Wed, 4 Jan 2023 17:08:12 +0000 (19:08 +0200)]
qa: test_rbd_wnbd.py - disable PS progress bar
This test uses certain PS commands that attempt to display
a progress bar. However, this can cause issues when invoked
remotely (e.g. by the jenkins job).
For this reason, we're defining a helper (ps_execute) that runs
PS commands, disabling the progress bars and enabling the non
interactive mode.
ceph-volume/tests: add allowlist_externals to tox.ini
typical failure seen in the CI:
```
py3-flake8: install_deps> ./tox_install_command.sh flake8
py3-flake8: failed with ./tox_install_command.sh (resolves to ./tox_install_command.sh) is not allowed, use allowlist_externals to allow it
```
Zac Dover [Sun, 1 Jan 2023 12:06:54 +0000 (22:06 +1000)]
doc/start: add link-related metadocumentation
Add two kinds of link-related metadocumentation (documentation about how
to write documentation) to the "Documenting Ceph" section of the "Intro
to Ceph" document: 1. metadocumentation about external links, and 2.
metadocumentation about internal links.
Zac Dover [Sat, 31 Dec 2022 04:22:26 +0000 (14:22 +1000)]
doc/glossary: capitalize "DAS" correctly
Correctly capitalize "Direct-Attached Storage" in the glossary. (And
test the "Quincy" branch, which seems lately not to have picked up any
docs backports.)
Zac Dover [Fri, 30 Dec 2022 01:32:31 +0000 (11:32 +1000)]
doc/glossary: collate "releases" entries
Collect the "Releases"-related entries together under the "Releases"
headword, in order to give readers a sense at a glance of how the
different kinds of releases relate to one another.