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.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
The config values for the server side encryption currently are wrongly set to the mon daemon by default. This PR intends to fix this issue
Fixes: https://tracker.ceph.com/issues/58419
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
Don't go through the 'system object' cache. This also saves us the use
of the RADOS async completion processor.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
RGWDataSyncCR manages the lock instead, holding it through StateInit
and StateBuildingFullSyncMaps but releasing it by StateSync.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Since we were taking them by reference and copying before, this is
strictly better. Callers that give us an RValue can skip the copy.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
this can be useful to prevent long-lived connections from being dropped
due to inactivity
Fixes: https://tracker.ceph.com/issues/48402
Signed-off-by: Casey Bodley <cbodley@redhat.com>
In RGWDataSyncShardCR, after acquiring the lease, reread sync status
shard object to fetch the latest marker & objv stored.
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
This effectively disable cephfs_java for rpm builds for now.
The only user appears to be cephfs jni bindings.
Fixes: https://tracker.ceph.com/issues/58382
Signed-off-by: Samuel Just <sjust@redhat.com>
An intended edit to remove a redundant indefinite article became a
longer (but still brief) full editorial pass.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
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".
See also https://github.com/ceph/ceph/pull/49644.
Signed-off-by: Zac Dover <zac.dover@gmail.com>
A racing client may delete the part we're trying to push to. Use
`assert_exists()` to check, and re-read metadata if we receive
-ENOENT.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
First, make `_prepare_new_head` take the new head part number, so two
calls racing from the same push will attempt to create the same head.
Also remove the neorados FIFO since it doesn't have all the bug fixes
in the legacy version and will be rewritten in terms of `async_compose`
anyway.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
We don't really need the overhead and complexity of a multimap.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Fixes: https://tracker.ceph.com/issues/57338
Prior, doing extra container args like
- "--cpus"
- "2"
would work fine as the two args would be passed separately and
eventually placed in the final podman/docker run command
with a space between them. However, trying to do something like
- "--cpus 2"
instead would fail, as it would be translated to
--extra-container-args=--cpus 2
causing "2" to be considered its own arg, which cephadm
wouldn't know how to handle. Another way this can cause problems
is listed in the linked tracker. Either way, leaving the spaces
in the args was causing problems, and the simplest way to handle
it seems to be to just split on the original arg on the spaces
into multiple args
Signed-off-by: Adam King <adking@redhat.com>
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.
https://tracker.ceph.com/issues/58401
Signed-off-by: Zac Dover <zac.dover@gmail.com>
Only increment the version if we make an actual change.
Return whether we have changed something or not so the OSD side can
skip writing if there's no change.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Since we no longer use tags, journal entries are just an operation and
a part number. If an entry being added is already in the journal, skip
it.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Args specified in the service spec to be added as
args for the entrypoint when we deploy the daemon
Fixes: https://tracker.ceph.com/issues/57944
Signed-off-by: Adam King <adking@redhat.com>
Except for the version type, where only versions with the same tag are
comparable.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Part tags make part creation and setting the head non-idempotent,
leading to issues where racing RGWs may get confused about the correct
tag for a part. (Or worse, potentially have the metadata header hold
different value for a part than the part's header.)
Consistently only requires that all nodes agree on the number.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Fix logic error where disjunction was used instead of conjunction.
Fixes: https://tracker.ceph.com/issues/57562
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
To allow users to set extra args to be passed to
the entrypoint in the podman/docker run command
built by cephadm
Signed-off-by: Adam King <adking@redhat.com>