tengjie5 [Tue, 8 Aug 2023 02:13:58 +0000 (10:13 +0800)]
doc: modify and add descriptions for cephfs-shell commands. Fixes: https://tracker.ceph.com/issues/62074 Signed-off-by: Teng Jie <tengjie5@asiainfo.com>
Zac Dover [Mon, 5 Jun 2023 02:13:28 +0000 (12:13 +1000)]
doc/rados: edit pools.rst (2 of x)
Edit doc/operations/rados/pools.rst.
There remains confusion in this part of the document regarding pg_num
and pgp_num. pg_num and pgp_num are not explained with sufficient
clarity. A future commit will clear up this confusion. There is also
some potential confusion between on the one hand the strings "pg-num"
and "pgp-num" and on the other hand "pg_num" and "pgp_num". The strings
with the hyphens are used in dummy commands, and the strings with the
underscores are used as key names. I think it possible that this could
confuse a reader, but I am open to discussion on the matter.
https://tracker.ceph.com/issues/58485
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com> Signed-off-by: Zac Dover <zac.dover@proton.me>
John Mulligan [Mon, 19 Sep 2022 17:46:48 +0000 (13:46 -0400)]
doc: update the cephadm download instructions
Starting with reef, cephadm is a compiled (zipapp) python application.
The cephadm script has been renamed and thus the old curl-based
download instructions will no loner work. While cephadm still has
no dependencies outside the Python stdlib, this will be changed in
future versions so it is no longer appropriate to just download the
source file of cephadm and run it either.
This change updates the `Install cephadm` section of the doc to explain
how to acquire a "compiled" version of cephadm as well as:
* moving and tweaking the note that the two installation methods are
distinct
* adding a new note linking to instructions on building cephadm
* moving the distribution-specific installations before the curl-based
installation to subtly hint that we prefer you to get it using
packages if you can
* Noting cephadm's minimal required python verision and how to run it
with a particular python version.
Note from Zac Dover, June 1, 2023: Note: This commit is a cherry-pick of d11cf0e, which was introduced by John Mulligan in #48180. This is one of
three commits introduced in that PR, and this cherry-pick cleans up
omissions I (Zac Dover) inadvertently introduced while attempting to
rectify the merge conflicts in #51843. This should be the final
main-branch-targeting commit that cleans up PR#51483.
John Mulligan [Mon, 22 May 2023 18:20:19 +0000 (14:20 -0400)]
doc: add instructions for compiling cephadm
Now that cephadm is based on zipapp, add a short section to the
developer docs explaining how to build cephadm yourself.
Note: This commit is a cherry-pick of 9ad38033cc5c7f177cb8fe3bae696682687e0346, which was introduced by John
Mulligan in #48180. This is one of three commits introduced in that PR,
and this cherry-pick cleans up omissions I (Zac Dover) inadvertently
introduced while attempting to rectify the merge conflicts in #51843. I
expect that one more cherry-picked commit (specifically, d11cf0e82aab8d4cef9d423e5d463a373eaf383a, which cannot be merged easily
until d7921e88d69b4bc355da9c0327cc33e59e7d7abb has been merged into
main, for reasons that are too
Rick-and-Morty-there-should-never-be-more-than-one-dot to go into here)
will follow this one.
John Mulligan [Wed, 24 May 2023 17:42:26 +0000 (13:42 -0400)]
doc: make instructions to get an updated cephadm common
As discussed in person and over the ceph orch weekly, we want all users
to use a recent supported version of cephadm. Previously, the
instructions only had those downloading cephadm with curl using the
"add-repo" and "install" commands to get a up-to-date cephadm build.
According to ADK we've seen cases of users get "old" distro packages
in the past. Change the instructions so that the "update cephadm" steps
are common after acquiring a "bootstrap copy" of cephadm.
Note: This commit is a cherry-pick of d7921e88d69b4bc355da9c0327cc33e59e7d7abb, which was introduced by John
Mulligan in https://github.com/ceph/ceph/pull/48180. This is one of
three commits introduced in that PR, and this cherry-pick cleans up
omissions I (Zac Dover) inadvertently introduced while attempting to
rectify the merge conflicts in https://github.com/ceph/ceph/pull/51843.
I expect that two more cherry-picked commits will follow this one.
Matan Breizman [Wed, 31 May 2023 11:06:16 +0000 (11:06 +0000)]
CMakeLists.txt: increase verbosity for selected allocator
Unless the allocator was set on command line, we will select one based on the following order:
```
"specify memory allocator to use. currently tcmalloc, tcmalloc_minimal, \
jemalloc, and libc is supported. if not specified, will try to find tcmalloc, \
and then jemalloc. If neither of then is found. use the one in libc.")
```
with this change, cmake will explicitly message the compiler selected,
otherwise we have no option to identify the one which is being used.
John Mulligan [Mon, 19 Sep 2022 17:46:48 +0000 (13:46 -0400)]
doc: update the cephadm download instructions
Starting with reef, cephadm is a compiled (zipapp) python application.
The cephadm script has been renamed and thus the old curl-based
download instructions will no loner work. While cephadm still has
no dependencies outside the Python stdlib, this will be changed in
future versions so it is no longer appropriate to just download the
source file of cephadm and run it either.
This change updates the `Install cephadm` section of the doc to explain
how to acquire a "compiled" version of cephadm as well as:
* moving and tweaking the note that the two installation methods are
distinct
* adding a new note linking to instructions on building cephadm
* moving the distribution-specific installations before the curl-based
installation to subtly hint that we prefer you to get it using
packages if you can
* Noting cephadm's minimal required python verision and how to run it
with a particular python version.
doc: make instructions to get an updated cephadm common
As discussed in person and over the ceph orch weekly, we want all users
to use a recent supported version of cephadm. Previously, the
instructions only had those downloading cephadm with curl using the
"add-repo" and "install" commands to get a up-to-date cephadm build.
According to ADK we've seen cases of users get "old" distro packages
in the past. Change the instructions so that the "update cephadm" steps
are common after acquiring a "bootstrap copy" of cephadm.
John Mulligan [Wed, 24 May 2023 17:42:26 +0000 (13:42 -0400)]
doc: make instructions to get an updated cephadm common
As discussed in person and over the ceph orch weekly, we want all users
to use a recent supported version of cephadm. Previously, the
instructions only had those downloading cephadm with curl using the
"add-repo" and "install" commands to get a up-to-date cephadm build.
According to ADK we've seen cases of users get "old" distro packages
in the past. Change the instructions so that the "update cephadm" steps
are common after acquiring a "bootstrap copy" of cephadm.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Mon, 19 Sep 2022 17:46:48 +0000 (13:46 -0400)]
doc: update the cephadm download instructions
Starting with reef, cephadm is a compiled (zipapp) python application.
The cephadm script has been renamed and thus the old curl-based
download instructions will no loner work. While cephadm still has
no dependencies outside the Python stdlib, this will be changed in
future versions so it is no longer appropriate to just download the
source file of cephadm and run it either.
This change updates the `Install cephadm` section of the doc to explain
how to acquire a "compiled" version of cephadm as well as:
* moving and tweaking the note that the two installation methods are
distinct
* adding a new note linking to instructions on building cephadm
* moving the distribution-specific installations before the curl-based
installation to subtly hint that we prefer you to get it using
packages if you can
* Noting cephadm's minimal required python verision and how to run it
with a particular python version.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
mgr/dashboard: add 'omit_usage' query param to dashboard api 'get rbd' endpoint
Allows RBD info to be retrieved without getting associated usage info. This
can be useful for large RBDs where the process of gathering such usage info
is sometimes very slow.
Ilya Dryomov [Mon, 29 May 2023 15:40:05 +0000 (17:40 +0200)]
Revert "test: adjust rbd test case guards to handle new defaults"
This reverts commit feb2fc02404775bc262677a2d0434faec0348c53 which
appears to have caused us to lose old format coverage in the Python
bindings tests (rbd_python_api_tests_old_format.yaml).
Unset RBD_FEATURES enviroment variable means "old format". This
shouldn't be mucked with in any way, see require_new_format() and
create_image() methods in particular.
Ilya Dryomov [Sat, 27 May 2023 10:28:40 +0000 (12:28 +0200)]
osd/OSDCap: allow rbd.metadata_list method under rbd-read-only profile
This was missed in commit acc447d5de7b ("osd/OSDCap: rbd profile
permits use of rbd.metadata_list cls method") which adjusted only
"profile rbd" OSD cap. Listing image metadata is an essential part
of opening the image and "profile rbd-read-only" OSD cap must allow
it too.
While at it, constrain the existing grant for rbd profile from "any
object in the pool" to just "rbd_info object in the global namespace of
the pool" as this is where pool-level image metadata actually lives.
Nitzan Mordechai [Wed, 24 May 2023 12:40:35 +0000 (12:40 +0000)]
test: futex fail if more notification sent after destroy
When testing with more then 1 completion, we may hit an issue
with semaphors been notify after destroy.
we should add wait for each completion and not destroy the sem.
before all notified.
During multipart listing, the mtime of the uploads were not being
loaded, resulting in the current time being returned. Fix this by
setting the correct mtime.
Fixes: https://tracker.ceph.com/issues/61251 Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
John Mulligan [Tue, 21 Mar 2023 19:40:17 +0000 (15:40 -0400)]
mgr/cephadm: add test explicitly validating proxy protocol
Adds a test case that specifically ensures that the proper values
appear in the configuration files for both nfs and haproxy when
the proxy protocol is enabled.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Tue, 21 Mar 2023 15:42:25 +0000 (11:42 -0400)]
mgr/cephadm: minor reorganizing of nfs service test
This change makes some formatting and organizational changes to one of
the nfs + ingress test cases. This is in preparation for a future change
that will parametrize this function allowing it to test haproxy config
when proxy protocol is enabled and when not.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Tue, 21 Mar 2023 15:42:25 +0000 (11:42 -0400)]
mgr/nfs: add support for selecting between haproxy ingress modes
When the haproxy-standard mode is selected, the haproxy ingress will
behave as in previous versions of ceph. When the haproxy-protocol mode
is selected, we need to enable protocol support on the ingress service
and nfs service.
While were at it, make a few organization tweaks to improve readability.
Fixes: https://tracker.ceph.com/issues/58933 Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Tue, 21 Mar 2023 15:42:25 +0000 (11:42 -0400)]
mgr/cephadm: add enable_haproxy_protocol to ingress and nfs service specs
Add a new boolean field, enable_haproxy_protocol, to both the ingress
service spec and the nfs service spec. The ingress service spec needs
the field to tell haproxy to enable proxy protocol (v2) support.
The nfs service spec needs the field to allow the nfs server to accept
proxy protocol messages.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Tue, 21 Mar 2023 15:42:25 +0000 (11:42 -0400)]
mgr/cephadm: add optional HAProxy_Hosts field to ganesha conf template
When NFS-Ganesha is used behind a HAProxy with proxy protocol support
enabled ganesha requires that HAProxy_Hosts is set to a list of hosts
that are permitted to use the proxy protocol. This change adds support
for specifying HAProxy_Hosts in the ganesha configuration file template.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Tue, 21 Mar 2023 15:42:25 +0000 (11:42 -0400)]
mgr/cephadm: add support for default server options to template
Add support for default server-options within the haproxy backend
section. This change will later be used to enable haproxy proxy protocol
(v2) support.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Prashant D [Thu, 25 May 2023 22:09:02 +0000 (18:09 -0400)]
mon: Fix ceph versions command
The commit-id d3cca1d has introduced a bug where mgr/osd/mds
version information goes missing during the cluster upgrade.
Collect version information before checking the emptiness
of the map.
Fixes: https://tracker.ceph.com/issues/61453 Signed-off-by: Prashant D <pdhange@redhat.com>