Commit Graph
13795 Commits
Author SHA1 Message Date
Travis Nielsen 78f04f0077 Merge pull request #17860 from rook/mergify/bp/release-1.20/pr-17858
docs: remove csi-operator label based verification (backport #17858)
2026-06-30 08:39:06 -06:00
subhamkrai 8c9eee8ec5 docs: remove csi-operator label based verification
the label could be different based on differnt cluster
setup so no need for label vased verification of csi-op.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit afff9dbdf4)
2026-06-30 14:29:13 +00:00
mergify[bot] b0cc81d8b7 Merge pull request #17852 from rook/mergify/bp/release-1.20/pr-17663
test: improve the shared-store object suite tests (backport #17663)
2026-06-29 20:52:12 +00:00
Joshua Hoblitt c724d02b84 test: document the object suite test conventions
Add a conventions doc and conversion playbook so the remaining old-style
object tests (store lifecycle, notifications, COSI, bucket rw/quota/policy/
lifecycle) can be converted to this pattern mechanically.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 8ee5d92022)
2026-06-29 20:33:44 +00:00
Joshua Hoblitt d4d9b4c7f8 test: rework the shared-store user/bucket/topic suites
The object store user (caps/keys/opmask), bucket-owner, and bucket topic
tests already shared a CephObjectStore but polled with count-based
utils.Retry behind a wide entry signature. Move them onto the wait4 toolkit
and a slim (t, k8sh, store) signature: each is an ordered t.Run script using
typed clients and watch-based waits, with per-package check helpers for
repeated verification. Extend the shared store fixture to provision the
realm/zonegroup/zone pools and serve TLS, build its rgw admin and SNS clients
through the consolidated util/client package (replacing the separate
admin/sns/s3 packages), and run every package in both the TLS and non-TLS
passes (now separate parallel jobs).

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit eb404e6677)
2026-06-29 20:33:44 +00:00
Joshua Hoblitt 29af430739 test: add the object suite test util toolkit
Add the shared helpers the object test packages build on:
- wait4: watch-based Assert/Require waiters (Create/Delete/Condition/Absent)
  that block on Kubernetes watch events rather than fixed-interval polling,
  plus Eventually for non-k8s state (rgw admin/S3/SNS), a pod-log waiter, and
  the readiness predicates used with them.
- secrets: verification of the Secret references CRDs publish in status.
- fixture: create-with-t.Cleanup helpers for pure-cleanup resources, and
  constructors for ObjectBucketClaim test resources.
- client: rgw admin and SNS client builders, S3 credentials/endpoint, and the
  store's TLS cert plus a verification-skipping HTTP client.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit b59101d8e8)
2026-06-29 20:33:44 +00:00
mergify[bot] d83ad67390 Merge pull request #17850 from rook/mergify/bp/release-1.20/pr-17837
docs: fix typos and grammar in documentation and design docs (backport #17837)
2026-06-29 19:17:20 +00:00
mergify[bot] 134be856db Merge pull request #17849 from rook/mergify/bp/release-1.20/pr-17834
docs: fix function comments to match their declaration names (backport #17834)
2026-06-29 19:17:17 +00:00
Joshua Hoblitt b77965d321 docs: fix typos and grammar in documentation and design docs
Correct duplicate words, incorrect articles, subject/verb agreement, and
other small grammar mistakes across the user-facing Documentation/ pages
and the design/ records. No content or behavior changes.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit d395d1916b)
2026-06-29 19:05:07 +00:00
Joshua Hoblitt dcd4dfb2bd docs: fix function comments to match their declaration names
Several godoc comments led with a stale or incorrect identifier, left
over from renames, exported/unexported changes, copy-paste between
sibling declarations, or plain typos. As a result the documented name no
longer matched the function, method, type, or var it describes. Correct
each leading word to the name of the declaration it documents.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 49612461a4)
2026-06-29 19:04:45 +00:00
mergify[bot] 7945914b21 Merge pull request #17848 from rook/mergify/bp/release-1.20/pr-17764
core: add api changes to mute ceph warnings (backport #17764)
2026-06-29 16:15:58 +00:00
subhamkrai 87e7082d48 core: implement ceph health warning mute
this commit implement api to configure
ceph health warning mute/unmute.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 9a6c5842bc)
2026-06-29 15:50:37 +00:00
subhamkrai 789876785e core: add api changes to mute ceph warnings
adding api changes to mute/unmute ceph warnings
based on user configuration. The field is map[string]string
key is ceph warning and value is duration how longs
the warnings will be muted.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit ff5f3baa58)
2026-06-29 15:50:37 +00:00
mergify[bot] facf5b2128 Merge pull request #17836 from rook/mergify/bp/release-1.20/pr-17734
ci: make canary rgw endpoint validation retry until clean (backport #17734)
2026-06-26 20:26:16 +00:00
mergify[bot] a8f91cf6ef Merge pull request #17835 from rook/mergify/bp/release-1.20/pr-17830
ci: capture build_rook stderr so the network-retry can see it (backport #17830)
2026-06-26 19:32:07 +00:00
Joshua Hoblitt c4c56eb8ab ci: make canary rgw endpoint validation retry until clean
The validate-rgw-endpoint step gave each validation loop only 15
seconds. A single attempt of the external script can exceed that
budget when the RGW is slow to respond right after the object store
was created, killing the step before any retry could happen. This
showed up as sporadic canary job failures with exit code 124 and no
diagnostics.

Validation failures are also reported on stderr while the script exits
0, so the until loop never actually retried them. Retry until the
script succeeds with no stderr output, give the loops a generous
timeout, and print the captured stderr when validation does not
succeed in time.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 0c374266e5)
2026-06-26 19:31:16 +00:00
Joshua Hoblitt cfec82af69 external: add timeout to rgw admin ops api request
The rgw endpoint validation issued an HTTP request to the admin ops
api without a timeout. If the RGW is accepting connections but slow to
respond, for example right after the object store was created, the
script hangs indefinitely instead of reporting a validation error that
the caller could retry on.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 459c4bebe9)
2026-06-26 19:31:16 +00:00
Joshua Hoblitt 636b9589b3 ci: capture build_rook stderr so the network-retry can see it
build_rook() captures the make output into $o and inspects it for
transient network errors (connection reset, INTERNAL_ERROR, 503, 500)
to decide whether to retry the build. The capture was stdout-only,
but go and make write those errors to stderr, so $o never matched any
retry case. A transient module-proxy failure (e.g. proxy.golang.org
returning INTERNAL_ERROR while downloading modules) therefore fell
through to the "valid failure" branch and failed the job in the build
step, before the integration test even ran.

Redirect stderr into the captured output (2>&1) so the existing retry
logic actually triggers on network failures.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 04734d7150)
2026-06-26 19:27:43 +00:00
mergify[bot] 65b1fe1de3 Merge pull request #17832 from rook/mergify/bp/release-1.20/pr-17826
external: volumeattachment should be deleted during unmount (backport #17826)
2026-06-26 17:39:48 +00:00
parth-gr bf85ab04b9 external: volumeattachment should be deleted during unmount
before the csi op, the unblish grpc call was not present,
and it has no op
But with csi op, the unpublish grpc is called before the
volumeattachment get remove, and the unpublish call need a
unpublish secret, currently it is getting the secret from the
client profile, but the client profile secret is hardcoded to default
So to override this secret we are adding the secret name in the
storageclass parameter

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 88e31185dc)
2026-06-26 15:08:41 +00:00
mergify[bot] 1aad515556 Merge pull request #17823 from rook/mergify/bp/release-1.20/pr-17801
ci: replace loop devices with iscsi in canary osd tests (backport #17801)
2026-06-25 05:29:55 +00:00
Joshua Hoblitt 28517376f8 ci: replace loop devices with iscsi in canary osd tests
The raw-disk-with-object, osd-with-metadata-device, and pvc canary jobs
used loopback devices to supply an extra block device beyond the single
spare disk a GitHub runner provides. Loop devices behave differently
from real block devices -- Rook gates them behind
ROOK_CEPH_ALLOW_LOOP_DEVICES and special-cases them in the OSD daemon --
so exercising core scenarios on them is less realistic than using real
SCSI disks.

Provision the extra device(s) over iSCSI (LIO) instead, reusing the
existing create_extra_disk helper: it now creates N LUNs, the new
find_extra_block_devs and find_second_block_dev helpers enumerate them,
and deploy_cluster gains a two_raw_disks mode. The three jobs now run
entirely on real disks, and the canary CI no longer creates loop devices
or relies on the loop-device test helpers.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 4b7d769102)
2026-06-25 05:26:00 +00:00
mergify[bot] 0b0f9b76c9 Merge pull request #17820 from rook/mergify/bp/release-1.20/pr-17758
ceph: ensure config overrides end with a trailing newline (backport #17758)
2026-06-24 17:13:57 +00:00
kavirakesh14 8e0e66d324 operator: fail reconcile if rook-config-override lacks trailing newline
Signed-off-by: kavirakesh14 <kavirakesh007@gmail.com>
(cherry picked from commit 619b800b67)
2026-06-24 16:49:17 +00:00
mergify[bot] 1858e99437 Merge pull request #17818 from rook/mergify/bp/release-1.20/pr-17732
ci: harden CephSmokeSuite against CSI cold-start and teardown flakes (backport #17732)
2026-06-24 16:04:14 +00:00
mergify[bot] c031cb944c Merge pull request #17817 from rook/mergify/bp/release-1.20/pr-17798
ci: converge wedged multisite secondary before asserting sync (backport #17798)
2026-06-24 15:59:59 +00:00
Joshua Hoblitt 87111171f2 ci: retry snapshot controller and crd manifest fetches
Installing the external-snapshotter CRDs and controller runs several
kubectl commands against raw.githubusercontent.com manifest URLs with
no retry, and getManifestFromURL did not retry either, nor did it check
the HTTP status code, so an error page could be fed to kubectl as a
manifest. Transient fetch failures showed up in TestCephSmokeSuite as
NFS test failures during snapshot CRD installation.

Retry the URL-based kubectl invocations and the manifest download, fail
on non-200 responses, and bump the snapshot controller wait in the file
test from 75s to 450s to match the block test since the
snapshot-controller image pull can take longer in CI.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit c85643692e)
2026-06-24 15:58:30 +00:00
Joshua Hoblitt c7e37a4fdf ci: avoid panic in object store deletion assertion
When the deletion condition never appeared within the retry window,
assertObjectStoreDeletion recorded the failure with assert and then
dereferenced the nil condition, panicking and aborting the whole test
binary without teardown or operator log collection. Observed in a
TestCephSmokeSuite run as a SIGSEGV right after
'delete_object_store ... Should not be: 10'.

Use require for the timeout and a nil check before dereferencing the
condition, and extend the retry window from 30s to the standard retry
budget since the operator can take longer to set the deletion condition
when its reconcile queue is busy.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 76ec455402)
2026-06-24 15:58:30 +00:00
Joshua Hoblitt f50b3261b2 ci: tolerate transient errors while waiting for block image count
retryBlockImageCountCheck aborted the whole wait on the first rbd ls
failure. The listing runs through the toolbox under a timeout and can
fail transiently right after the pool is created (observed as exit
status 124 while the pool PGs were still being created), turning a
recoverable delay into an immediate test failure.

Keep retrying on listing errors and double the retry budget: when the
first provisioning attempt fails, the external-provisioner sidecar
backs off exponentially and its next attempt can be several minutes
out, which the previous 275s budget could not ride out.

This commit also bumps the snapshot controller wait in the block test
from 75s to 450s; the snapshot-controller image pull can take longer
than 75s in CI.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 12a2c0f905)
2026-06-24 15:58:29 +00:00
Joshua Hoblitt 36de8f7c97 ci: wait for csi driver deployments after cluster install
The csi-operator creates the driver deployments asynchronously, so the
ctrlplugin pods may still be pulling images when the ceph daemons are
already up and the integration tests start. If a PVC is created before
the provisioner is ready, the first provisioning attempt fails (the
mounted csi config may also not be visible to the driver yet) and the
external-provisioner sidecar enters exponential backoff, delaying the
volume creation by several minutes and timing out the test wait.

Observed in TestCephSmokeSuite runs as 'timed out waiting for image
count to reach 1' with the rbd ctrlplugin pod cold-starting mid-test
and the first CreateVolume failing with 'failed to fetch monitor list
using clusterID'. In one run the second provisioning attempt landed two
seconds after the test wait expired.

Wait for the ctrlplugin deployments of the enabled drivers to be ready
before declaring the cluster installed.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 53ab1c5136)
2026-06-24 15:58:29 +00:00
Joshua Hoblitt d1e4f13b17 ci: extend the multisite replication read budget
The bucket sync checkpoint confirms the bucket's data sync markers are
caught up at the RADOS level, but the reading RGW can briefly serve 404
for the freshly synced object until it refreshes its view. The post-
checkpoint read was given only a 60s budget, which is occasionally too
short; give it 180s so a transient RGW serving lag does not fail the
test.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit e9b59476a6)
2026-06-24 15:58:15 +00:00
Joshua Hoblitt 34b4d6580a ci: converge wedged multisite secondary before asserting sync
After the sync-readiness gate was added, rgw-multisite-testing still
fails ~25% of master-push runs, now in the new "wait for multisite
sync to be established" step. Diagnosis from the failure diagnostics:
the secondary zone never initializes metadata sync. For the whole
600s its sync status reports "metadata sync failed to read sync
status: (2) No such file or directory".

The master pushes each new RGW configuration period to the secondary
RGW, but until the realm system user is resolvable locally on the
secondary that push is received unauthenticated and rejected with
HTTP 403. The master then re-pushes the same period unchanged every
30s, so a secondary that starts out unable to resolve the user never
recovers. In passing runs the same push later authenticates as
realm-a-system-user and returns 200, at which point the zone converges;
in failing runs it is 403 for the entire window (zero successful
pushes). The generated keys are clean and identical on both clusters,
so this is a fresh-zone bootstrap race in the gateway, not a key
problem.

Rather than wait out a doomed timeout, nudge the secondary to converge
when its metadata sync has not initialized within a couple of minutes:
pull the latest period directly (outbound auth works, so this does not
depend on the rejected inbound push) and restart the secondary RGW so
it re-runs metadata sync init against the now-ready master. This is
what ceph's own multisite QA does (restart zone gateways after the
period is committed). Healthy setups pass the first check in seconds,
so the nudge only runs when sync is genuinely stuck.

Also guard wait_for_sync_status against matching empty output from a
failed exec, and pass the realm/zonegroup/zone to the diagnostics
sync-status dump so the primary cluster no longer reports the unrelated
default zone.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 325d314dd7)
2026-06-24 15:58:15 +00:00
mergify[bot] c6247f44a5 Merge pull request #17816 from rook/mergify/bp/release-1.20/pr-17812
core: Skip node watcher during initial cache sync (backport #17812)
2026-06-23 23:56:40 +00:00
Travis Nielsen 2a13b076bc Merge pull request #17806 from rook/mergify/bp/release-1.20/pr-17805
core: reduce the floating mon reschdule time (backport #17805)
2026-06-23 17:34:35 -06:00
Travis Nielsen d628fc8229 core: skip node watcher during initial cache sync
When the operator starts, there is no need to handle the
node watcher immediately while the controller runtime
cache is being initialized. The cluster will anyway be
fully reconciled and create new OSDs if needed. The node
watcher is only intended for triggering a reconcile when
a node is added or updated at a later time after a sync
would anyway be triggered.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 7803fac10d)
2026-06-23 23:34:25 +00:00
mergify[bot] 75fc4482e0 Merge pull request #17811 from rook/mergify/bp/release-1.20/pr-17749
ci: include kubernetes version in canary artifact names (backport #17749)
2026-06-23 18:46:42 +00:00
Joshua Hoblitt 1e43466706 ci: include kubernetes version in canary artifact names
Canary jobs upload their logs under an artifact named by job and ceph image, but the job matrix also varies kubernetes-version. When more than one kubernetes version is exercised the upload-artifact step fails on a duplicate artifact name. Append the kubernetes version so each matrix cell produces a unique artifact.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 288693a622)
2026-06-23 18:22:45 +00:00
mergify[bot] 1e79aaeb42 Merge pull request #17810 from rook/mergify/bp/release-1.20/pr-17744
test: add Eventually polling helper for test setup waits (backport #17744)
2026-06-23 17:46:34 +00:00
Joshua Hoblitt 093bd5c4c4 test: add Eventually polling helper for test setup waits
The keystone auth suite installs cert-manager and trust-manager with
helm --wait and then immediately applies Issuer, Certificate, and
Bundle resources. helm --wait returns when the webhook deployments
report ready, but the webhook service endpoints may not be programmed
on the apiserver's node yet, so the apply is rejected with 'failed
calling webhook ... connect: connection refused' and the suite fails
before any test runs. This is currently the dominant failure mode of
the keystone suite, seen on master and on PRs that cannot have caused
it (dependabot github-actions bumps, mergify backports).

Add utils.Eventually, a timeout-based polling primitive intended as
the shared replacement for hand-rolled retry loops in test code:

- cond is func(ctx) error rather than func() bool, so each failed
  attempt logs its reason via t.Logf and the final timeout error wraps
  the last attempt's error.
- cond runs on the calling goroutine and receives a context carrying
  the overall deadline, so cooperative operations stop at the deadline
  instead of overrunning it. It is never run on another goroutine: a
  hung attempt would keep executing concurrently with its retry, and
  require's FailNow is unsafe off the test goroutine.
- utils.AttemptTimeout decorates a cond with a per-attempt deadline
  for operations that can hang but would succeed if canceled and
  retried. The bound is cooperative; conds that cannot honor a context
  must be bounded at the operation level instead.

Expose it as a K8sHelper.ApplyWithRetry method that retries kubectl
apply until the webhooks accept connections, and use it for the
keystone setup applies instead of failing the suite on the first
attempt.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 4fb04e638d)
2026-06-23 17:40:17 +00:00
mergify[bot] 85725b85d7 Merge pull request #17809 from rook/mergify/bp/release-1.20/pr-17752
ci: lint GitHub Actions workflows with actionlint (backport #17752)
2026-06-23 17:27:12 +00:00
Joshua Hoblitt 2f99677dee ci: fix shellcheck issues in composite actions
actionlint only understands workflow files, so the .github/actionlint.yaml
ignore keeps the composite action definitions out of `make lint.workflows`.
Apply the same shellcheck fixes there anyway, found by running shellcheck over
their run: blocks directly:

- quote unquoted variable expansions (SC2086): the $GITHUB_ENV writes in
  collect-logs, tmate_debug and upterm_debug, and ${ARCH} in the cri-dockerd
  install in integration-test-setup-cluster-resources
- split `export BLOCK=$(...)` into a separate assignment and export so a
  failing command substitution is not masked (SC2155) in
  encryption-pvc-kms-ibm-kp

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 48dacb1894)
2026-06-23 17:21:09 +00:00
Joshua Hoblitt 046d907dbb ci: fix actionlint findings in workflow files
Resolve the shellcheck findings actionlint reports so that
`make lint.workflows` passes:

- quote unquoted variable expansions (SC2086) and command substitutions
  (SC2046)
- split `export VAR=$(...)` into a separate assignment and export so a
  failing command substitution is not masked by export's exit status
  (SC2155)
- double-quote kubectl jsonpath arguments inside `sh -c '...'` loops so
  the single quotes no longer break out of the wrapper (SC1083)
- annotate intentional deferred-expansion `sh -c '...'` bodies and the
  intentional `for ... in $sockets` word splitting with targeted
  `# shellcheck disable` directives (SC2016, SC2086)
- drop unused command-output captures (SC2034), simplify a `\! -z` test
  (SC2236) and fix nested same-type quoting (SC2140)

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 826f8944d1)
2026-06-23 17:21:08 +00:00
Joshua Hoblitt 45b6e10b37 ci: lint GitHub Actions workflows with actionlint
Run actionlint over the workflow files through the `make lint.workflows`
target (added in PR 17795) so the check behaves identically when run
locally and in CI, and narrow the workflow's path filter to the
lint-relevant files.

Add .github/actionlint.yaml to ignore the composite action definitions
under .github/workflows/<name>/action.{yml,yaml}: actionlint only
understands workflow files and otherwise mis-parses composite actions as
malformed workflows.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 34cc8751cf)
2026-06-23 17:21:08 +00:00
mergify[bot] a106b303f5 Merge pull request #17807 from rook/mergify/bp/release-1.20/pr-17751
ci: require explicit ceph_images input for canary workflow (backport #17751)
2026-06-23 16:57:55 +00:00
Joshua Hoblitt 1b673d6db9 ci: require explicit ceph_images input for canary workflow
The reusable canary workflow declares a default ceph_images value that is never used: both callers always pass an explicit image list. A stale default is a drift hazard because a new caller could silently exercise the wrong image. Drop the default and mark the input required so callers must choose deliberately.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit f40167be78)
2026-06-23 16:32:37 +00:00
parth-gr de5ff42de7 core: reduce the floating mon reschdule time
currently k8s add the default eviction time as 300 sec
setting it to 5 sec for the quick re-schedule

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 9e0b6e5bbe)
2026-06-23 15:26:08 +00:00
mergify[bot] eac4447830 Merge pull request #17803 from rook/mergify/bp/release-1.20/pr-17724
osd: do not scan rbd devices in raw activate fallback (backport #17724)
2026-06-22 22:48:22 +00:00
Joshua Hoblitt 025a76fe57 osd: do not scan rbd devices in raw activate fallback
When the OSD activate init container cannot match its configured
device, it falls back to a bare 'ceph-volume raw list', which
enumerates every block device on the node and opens each one to read
bluestore labels. Opening a krbd device whose backing cluster is
unhealthy can block in uninterruptible sleep; when that device's I/O
depends on the OSD being activated, activation deadlocks.

Build the fallback scan list explicitly with lsblk and exclude the
network-backed device types that can hang when their backing storage
is unavailable (rbd, nbd, drbd) along with zram (volatile RAM). Rook
never provisions OSDs on any of these, so the fallback can never
legitimately need to find an OSD on them. loop devices are kept,
since OSDs on loop devices are supported for CI and local testing.
Fail fast if the filtered list is empty rather than degenerating back
to a full scan.

Note this hardens only the rename-fallback path. The deadlock observed
in CI (kernel hung tasks under 'ceph-volume raw activate' opening a
stalled /dev/rbd0; actions runs 27325963851, 27333888237, and
27378983111, which reproduced it on this PR's own head) ultimately
originates inside ceph-volume: 'raw activate' runs an unconditional
LUKS2/TPM2 discovery sweep over all block devices even when given an
explicit --device. That requires a ceph-volume fix; this change makes
the Rook-controlled scan safe regardless of ceph version.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit da07f0c476)
2026-06-22 22:44:18 +00:00
mergify[bot] 73dd03b70c Merge pull request #17800 from rook/mergify/bp/release-1.20/pr-17750
ci: drop redundant per-step shell overrides in canary tests (backport #17750)
2026-06-22 22:23:38 +00:00
mergify[bot] 2fb6d8857b Merge pull request #17799 from rook/mergify/bp/release-1.20/pr-17748
ci: drop ignored github-token inputs from composite action calls (backport #17748)
2026-06-22 20:40:23 +00:00