Add a procedure to doc/start/documenting-ceph.rst that explains how to
perform an interactive rebase to squash commits.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Fixes: https://tracker.ceph.com/issues/59191
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Ceph exporter no more required the output of perf dump/schema, as the ``counter dump`` command
returns both labeled and unlabeled perf counters which exporter can fetch and export.
Removed the ``exporter_get_labeled_counters`` confiug option as exporter will now export
all the counters, labeled or unlabeled.
Also the fix includes the support for renaming the metrics name of rgw multi-site and
adding labels to it, similar to what is there in prometheus module.
CachedExtent::is_mutable() should only be used to check whether need to
call duplicate_for_write(extent).
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Users who are opted-in to telemetry can also opt-in to participating in
a leaderboard in the telemetry public dashboards
(https://telemetry-public.ceph.com/).
Users can also add a description of the cluster to publicly appear in
the leaderboard.
Signed-off-by: Yaarit Hatuka <yaarit@redhat.com>
Otherwise, any injected dentries have incorrect first snapids.
Fixes: https://tracker.ceph.com/issues/59183
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
To make sure we aren't being affected by any podman introduced
changes to the /etc/hosts file and test that we're properly
mounting /etc/hosts in our daemon containers
Signed-off-by: Adam King <adking@redhat.com>
Podman messes with the /etc/hosts file in certain version. There
was already a past issue with it placing the container name
there fixed by https://github.com/ceph/ceph/pull/42242. This time
it is adding an entry for "host.containers.internal" (seems to be
podman 4.1 onward currently). Iscsi figures out the FQDN for a
host by running
python3 -c 'import socket; print(socket.getfqdn())
which is resolving to "host.containers.internal" when run in
the container with the podman modified /etc/hosts.
There is also an issue with grafana dashboard with
this entry present
Passing --no-hosts resolves this, but I think in the past
we avoided that due to not wanting to break deployments
where host name resolution was handled using /etc/hosts.
That's why we had that workaround previously linked. This
time I'm not sure such a workaround exists. The try here
is to mount a copy of the host's version of /etc/hosts
into the iscsi container. That copy won't have the extra
entry podman adds in but will have any user created entries in
case they were actually using it for host name resolution.
If /etc/hosts file isn't present for whatever reason, we're
assuming that this user isn't using /etc/hosts for hostname
resolution, and just going back to passing --no-hosts.
Fixes: https://tracker.ceph.com/issues/58532
Fixes: https://tracker.ceph.com/issues/57018
Signed-off-by: Adam King <adking@redhat.com>
Otherwise we risk hitting a mismatch between the cephadm binary version
and the container image version we're bootstrapping on, resulting in
bootstrap failing. Example in the tracker.
Fixes: https://tracker.ceph.com/issues/59082
Signed-off-by: Adam King <adking@redhat.com>
following policy should be used to allow any user to get, put and delete
bucket notification on a bucket called "my-bucket":
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement",
"Effect": "Allow",
"Principal": "*",
"Action": ["s3:GetBucketNotification", "s3:PutBucketNotification"],
"Resource": "arn:aws:s3:::my-bucket"
}
]
}
note that notification deletion uses the "PUT" permission.
Fixes: https://tracker.ceph.com/issues/59136
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Since the https://git.ceph.com/xfstests-dev.git has pulled the
corresponding fix about the long attribute for generic/020 test case,
we can enable it now.
Signed-off-by: Xiubo Li <xiubli@redhat.com>
The rbd-wnbd iterators return positive errors, which is why
in certain cases we may end up with both positive and negative
error codes.
This change ensures that we'll consistently use negative
error codes.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
The WNBD adapter may be reset in certain situations (e.g. driver
upgrade, MS WHQL tests, etc).
We're going to monitor the WNBD adapter using WMI[1] events, restarting
the rbd-wnbd disk mappings whenever necessary. Adapter monitoring can be
enabled by passing the --adapter-monitoring-enabled flag to the service.
This feature is optional for the following reasons:
* it's mainly used during development / driver certification
* we had to use a relatively small polling interval, which might imply
additional resource usage. WMI quotas also have to be considered.
While at it, we're updating two lambdas that are submitted to thread pools,
avoiding default reference capturing and explicitly specifying the variables
that get copied.
[1] https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
Add methods that will accept read/write permissions, CephFS names and
CephFS mount point and in return will generate string form of MON, OSD
and MDS caps exactly as it is reported in Ceph keyrings.
Replace similar code in test_multifs_auth.py with calls to these helper
methods.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
The current documentation tries really hard to convince people to set
both `osd_pool_default_pg_num` and `osd_pool_default_pgp_num` in their
configs, but at least the latter has undesirable side effects on any
Ceph version that has PG autoscaling enabled by default (at least quincy
and beyond).
Assume a cluster with defaults of `64` for `pg_num` and `pgp_num`.
Starting `radosgw` will fail as it tries to create various pools without
providing values for `pg_num` or `pgp_num`. This triggers the following
in `OSDMonitor::prepare_new_pool()`:
- `pg_num` is set to `1`, because autoscaling is enabled
- `pgp_num` is set to `osd pool default pgp_num`, which we set to `64`
- This is an invalid setup, so the pool creation fails
Likewise, `ceph osd pool create mypool` (without providing values for
`pg_num` or `pgp_num`) does not work.
Following this rationale:
- Not providing a default value for `pgp_num` will always do the right
thing, unless you use advanced features, in which case you can be
expected to set both values on pool creation
- Setting `osd_pool_default_pgp_num` in your config breaks pool creation
for various cases
This commit:
- Removes `osd_pool_default_pgp_num` from all example configs
- Adds mentions of the autoscaling and how it interacts with the default
values in various places
For each file that was touched, the following maintenance was also
performed:
- Change interternal spaces to underscores for config values
- Remove mentions of filestore or any of its settings
- Fix minor inconsistencies, like indentation etc.
There is also a ticket which I think is very relevant and fixed by this,
though it only captures part of the broader issue addressed here:
Fixes: https://tracker.ceph.com/issues/47176
Signed-off-by: Conrad Hoffmann <ch@bitfehler.net>