Commit Graph
745 Commits
Author SHA1 Message Date
mergify[bot] 60ffd2991e Merge pull request #16218 from rook/mergify/bp/release-1.18/pr-16210
exporter: automate rotate exporter cephx keys (backport #16210)
2025-08-01 17:20:35 +00:00
parth-gr 3df15cacef exporter: automate rotate exporter cephx keys
rotate cephx keys based on keyRotationPolicy
and update cephxStatus for the ceph exporter daemon pods.

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 9ec7a767c3)
2025-08-01 16:11:14 +00:00
Blaine Gardner 55de1bcb38 osd: implement automated cephx key rotation for osds
Implement automated CephX key rotation for OSDs.

OSDs have marshalled CephX statuses applied as an annotation on the OSD
pod spec, which differs from other Rook Ceph daemons for a two reasons:

A large cluster could have hundreds or thousands of OSDs, so it is more
critical that Rook avoid rotating OSD keys more than once in the event a
CephCluster reconcile restarts partway through OSD creation/updation.

OSDs do not have their CephX keys stored in K8s Secrets, whose resource
version is used for enforcing the desired restart behavior other daemon
pods like RGWs.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 4189a196c1)
2025-08-01 16:09:14 +00:00
Santosh Pillai fd2b4333e8 Merge pull request #16171 from parth-gr/cephx-crashcollector
core: automate rotate crashcollector  cephx keys
2025-07-31 13:41:13 +05:30
parth-gr fd6d22fcfe core: automate rotate crashcollector keys
rotate cephx keys based on keyRotationPolicy
and update cephxStatus for the crashcollector
daemon pods.

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-07-31 11:30:55 +05:30
dependabot[bot] a324a680f9 build(deps): bump the k8s-dependencies group across 1 directory with 7 updates
Bumps the k8s-dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.32.3` | `0.33.3` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.32.3` | `0.33.3` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.32.3` | `0.33.3` |
| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.20.3` | `0.21.0` |
| [sigs.k8s.io/mcs-api](https://github.com/kubernetes-sigs/mcs-api) | `0.1.0` | `0.2.0` |
| [sigs.k8s.io/yaml](https://github.com/kubernetes-sigs/yaml) | `1.4.0` | `1.6.0` |

Updates `k8s.io/apiextensions-apiserver` from 0.32.3 to 0.33.3
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.32.3...v0.33.3)

Updates `k8s.io/cli-runtime` from 0.32.3 to 0.33.3
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.32.3...v0.33.3)

Updates `k8s.io/client-go` from 0.32.3 to 0.33.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.32.3...v0.33.3)

Updates `k8s.io/cloud-provider` from 0.32.3 to 0.33.3
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.32.3...v0.33.3)

Updates `sigs.k8s.io/controller-runtime` from 0.20.3 to 0.21.0
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.20.3...v0.21.0)

Updates `sigs.k8s.io/mcs-api` from 0.1.0 to 0.2.0
- [Release notes](https://github.com/kubernetes-sigs/mcs-api/releases)
- [Changelog](https://github.com/kubernetes-sigs/mcs-api/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/mcs-api/compare/v0.1.0...v0.2.0)

Updates `sigs.k8s.io/yaml` from 1.4.0 to 1.6.0
- [Release notes](https://github.com/kubernetes-sigs/yaml/releases)
- [Changelog](https://github.com/kubernetes-sigs/yaml/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/yaml/compare/v1.4.0...v1.6.0)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/client-go
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-version: 0.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: sigs.k8s.io/mcs-api
  dependency-version: 0.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
- dependency-name: sigs.k8s.io/yaml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 17:20:50 -06:00
dependabot[bot] 0b0dfc285d build(deps): bump the github-dependencies group across 1 directory with 8 updates
Bumps the github-dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.29.14` | `1.29.18` |
| [github.com/aws/aws-sdk-go-v2/service/sns](https://github.com/aws/aws-sdk-go-v2) | `1.34.3` | `1.34.8` |
| [github.com/k8snetworkplumbingwg/network-attachment-definition-client](https://github.com/k8snetworkplumbingwg/network-attachment-definition-client) | `1.7.6` | `1.7.7` |
| [github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring](https://github.com/prometheus-operator/prometheus-operator) | `0.81.0` | `0.84.0` |
| [github.com/prometheus-operator/prometheus-operator/pkg/client](https://github.com/prometheus-operator/prometheus-operator) | `0.81.0` | `0.84.0` |
| [github.com/spf13/pflag](https://github.com/spf13/pflag) | `1.0.6` | `1.0.7` |

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.29.14 to 1.29.18
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.29.14...config/v1.29.18)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.67 to 1.17.71
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.17.67...credentials/v1.17.71)

Updates `github.com/aws/aws-sdk-go-v2/service/sns` from 1.34.3 to 1.34.8
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/amp/v1.34.3...service/sns/v1.34.8)

Updates `github.com/aws/smithy-go` from 1.22.3 to 1.22.4
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.22.3...v1.22.4)

Updates `github.com/k8snetworkplumbingwg/network-attachment-definition-client` from 1.7.6 to 1.7.7
- [Release notes](https://github.com/k8snetworkplumbingwg/network-attachment-definition-client/releases)
- [Commits](https://github.com/k8snetworkplumbingwg/network-attachment-definition-client/compare/v1.7.6...v1.7.7)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring` from 0.81.0 to 0.84.0
- [Release notes](https://github.com/prometheus-operator/prometheus-operator/releases)
- [Changelog](https://github.com/prometheus-operator/prometheus-operator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus-operator/prometheus-operator/compare/v0.81.0...v0.84.0)

Updates `github.com/prometheus-operator/prometheus-operator/pkg/client` from 0.81.0 to 0.84.0
- [Release notes](https://github.com/prometheus-operator/prometheus-operator/releases)
- [Changelog](https://github.com/prometheus-operator/prometheus-operator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus-operator/prometheus-operator/compare/v0.81.0...v0.84.0)

Updates `github.com/spf13/pflag` from 1.0.6 to 1.0.7
- [Release notes](https://github.com/spf13/pflag/releases)
- [Commits](https://github.com/spf13/pflag/compare/v1.0.6...v1.0.7)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.29.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-version: 1.17.71
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sns
  dependency-version: 1.34.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/aws/smithy-go
  dependency-version: 1.22.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/k8snetworkplumbingwg/network-attachment-definition-client
  dependency-version: 1.7.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring
  dependency-version: 0.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/prometheus-operator/prometheus-operator/pkg/client
  dependency-version: 0.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-dependencies
- dependency-name: github.com/spf13/pflag
  dependency-version: 1.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 16:38:46 -06:00
Santosh Pillai c615967fa8 Merge pull request #16040 from subhamkrai/rotate-csi-keyrings
csi: automate CSI cephx key rotation
2025-07-29 11:09:50 +05:30
Travis Nielsen 55e02436da Merge pull request #16102 from Madhu-1/add-clusterID
Provide option to set the clusterID in the RNS and SVG CR
2025-07-28 08:48:38 -06:00
Madhu Rajanna 21220ea81f core: add clusterID to subvolume group CRD
Providing an option for user to specify the clusterID
they want to use in the storageclass while creating
the subvolume group.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-07-28 08:29:51 +02:00
Madhu Rajanna 2a41afcb28 core: add clusterID to rados namespace CRD
Providing an option for user to specify the clusterID
they want to use in the storageclass while creating
the radosnamespace.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-07-28 08:29:51 +02:00
Travis Nielsen f1aa5390e8 Merge pull request #16113 from subhamkrai/upgrade-csi-operator-to-v1
csi: update csi-operator yaml to v1
2025-07-25 11:08:32 -06:00
subhamkrai 6d5401c50d csi: automate CSI cephx key rotation
This PR implements the CSI cephx key rotation feature,
which follows overlapping rotation for non-daemon keys.
Refer to the cephx rotation API from design PR 15915 for details.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-07-25 15:39:00 +05:30
Blaine Gardner 3cc77f8777 Merge pull request #16142 from sp98/mds-key-rotation
mds: rotate cephx keys
2025-07-24 12:17:05 -06:00
Santosh Pillai f795d9ab57 mds: rotate cephx keys
Rotate cephx keys for all the MDS daemons based on the cephxConfig in
teh cephCluster CR. Update the cephxStatus in the cephCluster CR and
cephfileSystem CR.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-07-24 06:59:05 +05:30
subhamkrai 6df727b91a csi: update csi-operator yaml to v1
this commit updates the csi-operator complete deployment
file csi-operator.yaml to v1 from v1alpha1.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-07-23 21:02:59 +05:30
subham rai 1e489fd6ae Merge pull request #16143 from OdedViner/upgrade_go_1_24_new
core: update rook to go 1.24.3
2025-07-22 17:18:24 +05:30
Santosh Pillai 28db9740de Merge pull request #16127 from sp98/mgr-key-rotate
mgr: rotate cephx keys
2025-07-21 15:29:32 +05:30
Santosh Pillai b486e308c3 mgr: rotate cephx keys
rotate cephx keys based on keyRotationPolicy and update cephxStatus for
the MGR daemon pods.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-07-21 12:31:35 +05:30
Oded Viner 67925c9bbe core: update rook to go 1.24.3
update rook to go 1.24.3

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-07-16 12:24:50 +03:00
parth-gr 6ffbec7308 core: automate cephclient cephx key rotation
Ceph has a new ceph auth rotate command currently
present in ceph:main

Add a cephclient api support to rotate the
cephx keys genrated by cephclient

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-07-16 14:43:18 +05:30
Travis Nielsen 24b0b866ab core: update go modules to latest except for go 1.24
Update all the go modules to the latest, except for the modules
that require go 1.24. Those modules will be updated in a
follow-up change.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-07-15 14:13:12 -06:00
Santosh Pillai a07f2478f3 core: init cephxStatus on cephCluster
Set cephXStatus on the CephCluster status to Uninitialized when the
cluster is first created.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-07-10 20:43:58 +05:30
Madhu Rajanna 5094b1f5e6 csi: provide a flag to manage csi users
Added a flag in cephcluster CR CSI section
whether the user wants the Rook to manage
the csi users and secrets or create them on own.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-06-27 20:03:04 +00:00
Blaine Gardner 936aa05584 Merge pull request #16059 from Madhu-1/skip-csi-user-creation
ceph: Provide an option to specify the secretName in the cephClient CR
2025-06-27 13:49:30 -06:00
Madhu Rajanna d6d2e604fc core: provide option to specify secret name
When cephClient CR is created by User, the Rook
is creating an User and creating an secret with
its own predefined name + CR name, With this we
are allowing user to specify the secretName

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-06-27 16:44:23 +02:00
Travis Nielsen d6ebc96be9 Merge pull request #16025 from Nordix/add-host-network-cephexporter/adil
exporter: Add Hostnetwork bool to ceph-exporter
2025-06-24 14:49:36 -06:00
Muhammad Adil Ghaffar 5ea7a177b7 exporter: add hostnetwork bool to cephexporter
Signed-off-by: Muhammad Adil Ghaffar <muhammad.adil.ghaffar@est.tech>
2025-06-24 23:17:51 +03:00
Travis Nielsen 433a16c090 Merge pull request #15951 from OdedViner/target_size_ratio_negative
pool: support targetSizeRatio=0 and default compressionMode=""
2025-06-11 07:35:24 -06:00
Oded Viner dd65dc15d8 pool: support targetSizeRatio=0 and default compressionMode=""
allow targetSizeRatio == 0
enforce targetSizeRatio >= 0 via +kubebuilder:validation
set targetSizeRatio and compressionMode="" if unset
remove IsTargetRatioEnabled() and IsCompressionEnabled()

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-06-11 12:36:19 +03:00
Blaine Gardner 029c345372 Merge pull request #15813 from BlaineEXE/auth-rotate
object: automate RGW cephx key rotation
2025-06-10 12:51:50 -06:00
Blaine Gardner 5f50e85a25 object: implement cephx key rotation for rgw keys
This is the first implementation of CephX key rotation in Rook.
Adds key rotation API from design PR 15915.

Also add helper methods for rotating keys, determining when keys
need to be rotated, and for generating CephX key statuses. These will be
reusable for other Rook reconciles beyond object/RGW.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-06-10 09:06:58 -06:00
Santosh Pillai 2c1bb7443a Merge pull request #15796 from sp98/clean-osd-disks-from-old-clusters
osd: clean osd disks before reinstalling cluster
2025-06-09 14:03:49 +05:30
Santosh Pillai 2bcf196b15 osd: clean osd disks before reinstalling cluster
Allow force creation of OSD on a device previously configured in a different ceph cluster.
The OSD prepare pod job will zap the OSD disk using ceph-volume lvm zap
if that disk has metadata from a different ceph cluster.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-06-06 16:32:18 +05:30
parth-gr 9a0490982e nfs: fix nfs short name
nfs short name and crd name was same
which was conflicting,
remove the short name cephnfs as it can
be already called by the crd name

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-06-02 13:27:24 +05:30
Patryk Rostkowski ae6e1e0863 core: add short names to rook CRDs
This commit Assigns short names to all Rook CRDs
to improve kubectl usability.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
2025-05-22 18:29:06 +02:00
Oded Viner 83ce9a6a63 core: improve reporting for reconcile requeue cases
when a reconcile returns a requeue result without an error
(e.g. due to a missing cephcluster), the previous logic reported
it as a successful reconcile. this was misleading and made it
hard to understand the actual controller behavior this
change adds a new condition to log and emit a "requeuing" event
when reconcileResponse.Requeue is true and err is nil.
this ensures more accurate event reporting and improves observability across
all controllers using reportreconcileresult.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-05-21 15:43:05 +03:00
parth-gr aa326a9419 rbdmirror: fix mirroring status on pool and rn
there is a change  from ceph on how the status
of the mirroring will look like,
Adopting with new fields so the status is correctly synced,
And other components might rely on the status too

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-05-14 13:07:24 +05:30
Yifeng Zhang 93ccf4c9c2 network: fix validation rule on provider field update
Provider validation is failing on updating from empty string to non-empty ones
which is expected to be supported. Fix the validation rule by adding one missing
condition.

Signed-off-by: Yifeng Zhang <Yifeng.Zhang@cerebras.net>
2025-05-09 13:34:22 -04:00
Travis Nielsen 530223c5b4 namespace: add conditions blocking deletion for rados namespace
When a rados namespace is deleted, it cannot be purged
until its images and snapshots are deleted. Now a condition
is being added to the rados namespace CR status so the user
does not need to read the operator log to discover the cause.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-05-07 15:42:17 -06:00
Travis Nielsen 0a3a599580 block: add condition for deletion blocked with images
When the blockpool is deleted and there are images or
snapshots in the pool, the deletion is blocked by the
finalizer until they are all removed. The condition added
to the cephblockpool status only indicated if there were
radosnamespace dependencies. A new condition is now added
to describe if there are images or snapshots.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-05-07 15:42:17 -06:00
Joshua Hoblitt 300a22398e object: fix uppercase serialization of fields in KafkaEndpointSpec
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-05-02 10:29:29 -07:00
Patryk Rostkowski 45b0ef2104 operator: specify ceph config via secret
Adds .spec.cephConfigFromSecret to CephCluster for loading
Ceph config parameters from a Kubernetes Secret.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
2025-04-23 07:51:22 +02:00
Joshua Hoblitt 7887f03c5c object: add CephBucketTopic .spec.endpoint.kafka.{user,password}SecretRef
userSecretRef and passwordSecretRef fields are added to allow the Kafka
endpoint username and password to be supplied from a Kubernetes Secret,
rather than exposed as plaintext as part of the endpoint URI. If the
endpoint URI has HTTP basic auth user-id and user-pass components, they
are overridden by userSecretRef and passwordSecretRef.

Squid added bucket topic attributes for configuring the user-name and
password for pushing notifications to Kafka as an alternative to
encoding credentials into the URI. However, these attributes are not
supported under Reef. Thus, this initial implementation relies on URI
mangling for compatible with both Reef and Squid. Future work could
using Ceph version detection and switch to the new attributes to be used
with Squid and/or the implementation could be converted exclusively to
use the new attributes once Rook has dropped support for Reef.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-04-16 10:53:11 -07:00
Santosh Pillai bdc1bf2089 build: update oauth to address cve 2025-22868
updates oauth package version to v0.27.0
Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-04-10 14:23:36 +05:30
subhamkrai 4ae4741a82 ci: update x/net version to fix snyk issue
snyk ci failind due to older version of x/net, it's need to be in 0.38

Signed-off-by: subhamkrai <srai@redhat.com>
2025-04-07 14:47:17 +05:30
Joshua Hoblitt 6b2c357871 object: add CephObjectStoreUser.spec.keys
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-04-03 09:09:01 -07:00
Blaine Gardner e349a81a17 Merge pull request #15624 from parth-gr/rgw-ex
object: updated cephobjectstore zone spec
2025-04-02 09:47:31 -06:00
parth-gr c47c6c5072 object: updated cephobjectstore zone api
if no multisite is used, rook creates the zone,
in the same name as cephobjectstore cr,

But cephobjectstore zone spec
shows name as empty string("")

Which is confusing for the end user, so
to remove the confusion by updating the
api defination

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-04-02 16:50:57 +05:30
Blaine Gardner 2348ff689c Merge pull request #15459 from subhamkrai/implicit-ns
rbdmirror: mirroring b/w implicit and defined ns
2025-04-01 12:56:06 -06:00