Skip to content

Conversation

@rakeshgm
Copy link
Member

@rakeshgm rakeshgm commented Nov 20, 2025

This is based on the PR #2332 . This includes

  1. DRCluster CRD Enhancements.
  2. DRClusterConfig CRD Enhancements.
  3. DRPolicy CRD Enhancements

Signed-off-by: Chris Blum <cblum@ibm.com>
(cherry picked from commit 8e40c63)
Signed-off-by: rakeshgm <rakeshgm@redhat.com>
Comment on lines 297 to 306
1. **S3 profile not found**

- Verify S3 profile name matches RamenConfig
- Check RamenConfig:

```bash
kubectl get cm ramen-hub-operator-config -n ramen-system -o yaml
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't that supposed to be handled in code with #1641? @ShyamsundarR


1. **Configure S3 profiles carefully:**

- Test S3 connectivity before creating DRClusters
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's definitely supposed to be handled in code as part of #2046, among others

Comment on lines +10 to +13
The **DRClusterConfig** custom resource provides cluster-specific
disaster recovery configuration on managed clusters. It is a
cluster-scoped resource that exists on each managed cluster (not on
the hub) and serves two primary purposes:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the phrasing should be fixed to something else that adds the remark in parenthesis as a separate note perhaps. The way it's now makes it look like the two are mutually exclusive where it's not necessarily implied or understood right away to the reader.

Comment on lines 47 to 56
**Requirements:**

- Immutable after creation
- Must be globally unique
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing one (see #1819)

Suggested change
**Requirements:**
- Immutable after creation
- Must be globally unique
**Requirements:**
- Cannot be left blank
- Immutable after creation
- Must be globally unique

Comment on lines +40 to +50
#### `clusterID` (string)

The unique identifier for this cluster, derived from the kube-system
namespace UID.

**Source:** OCM ManagedCluster claim value for `id.k8s.io`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering, post merge of #1854 -- will there still be a need to disclose this information in this manner? @ShyamsundarR

Comment on lines 94 to 101
### `conditions` ([]metav1.Condition)

Standard Kubernetes conditions.

**Condition types:**

- `Processed` - Configuration has been processed successfully
- `Reachable` - S3 storage is reachable from this cluster
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hopefully this will update soon once #1641 is done

Comment on lines 412 to 439
### S3 Not Reachable

**Symptom:** `Reachable` condition is `False`.

**Check:**

1. **S3 secret exists:**

```bash
kubectl get secret -n ramen-system | grep s3
```

1. **S3 credentials are correct:**

```bash
kubectl get secret <s3-secret-name> -n ramen-system -o yaml
```

1. **Network connectivity to S3:**

```bash
# Test from a pod
kubectl run -it --rm debug --image=amazon/aws-cli --restart=Never -- \
s3 ls --endpoint-url=https://s1.amazonaws.com s3://<bucket-name>
```

**Solution:** Verify S3 configuration in DRCluster and ensure network
policies allow S3 access.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will definitely be addressed in code instead of manual troubleshooting steps

Comment on lines 468 to 481
### ClusterID Mismatch

**Symptom:** Peer classes not matching across clusters.

**Check:**

```bash
# Verify clusterID matches kube-system namespace UID
kubectl get namespace kube-system -o jsonpath='{.metadata.uid}'
kubectl get drclusterconfig drclusterconfig -o jsonpath='{.spec.clusterID}'
```

**Solution:** ClusterID should automatically match namespace UID. If not,
check Ramen operator logs.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same #1854


- When applications are active on this cluster, their PV metadata is stored
to S3 profiles of all peer clusters
- When applications failover/relocate TO this cluster, PV metadata is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be re-worded? like secondary cluster instead of this cluster?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CRD document talks in terms of singleton and this refers to the cluster in context of this document.


**Requirements:**

- Must match an S3 profile name in RamenConfig
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is reverse right? The RamenConfig should be updated based on DRCluster's s3Profile.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

@rakeshgm rakeshgm force-pushed the crd-docs branch 2 times, most recently from 8b7cb3d to 0159aad Compare November 26, 2025 09:42
Signed-off-by: rakeshgm <rakeshgm@redhat.com>
@rakeshgm
Copy link
Member Author

@raaizik , can you review the DRClusterConfig CRD again. (doc is updated)

@raaizik
Copy link
Member

raaizik commented Nov 26, 2025

@raaizik , can you review the DRClusterConfig CRD again. (doc is updated)

Sure. I see only some of my comments have been addressed though

Signed-off-by: rakeshgm <rakeshgm@redhat.com>
Signed-off-by: rakeshgm <rakeshgm@redhat.com>
@raaizik
Copy link
Member

raaizik commented Dec 4, 2025

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants