-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Enhancements for DRClusterConfig
#1637
base: main
Are you sure you want to change the base?
Conversation
8fc0b7c
to
f727104
Compare
@@ -62,6 +65,14 @@ spec: | |||
type: object |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@raaizik This is where the discrepancy is. I am wondering why the make generate
output is different for you and the CI.
Most likely a version difference in controller-gen.
d3975da
to
a11c518
Compare
ClusterID is required field that's also immutable Signed-off-by: raaizik <[email protected]>
Adds a basic status to DRClusterConfig reflecting success or failure of reconciliation Signed-off-by: raaizik <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, some thoughts as below.
Can we add envtests around the following:
- Check status to ensure it reports the obGen and phase
- Add a replication schedule to change the generation of DRClusterConfig, and check if status reflects the latest obGen and Status
- Update the clusterID and expect a failure (due to the added CEL rule)
There is currently no way to test failed Phase (as that requires any one of the k8s APIs to fail, so we can leave that out)
I am thinking about Conditions instead of obGen and Phase, such that as we add S3 store reachability as well to the mix, it can be reported separately, like so:
Conditions:
- type: ConfigurationProcessed
status: T|F
reason: Processed|Failed
message:
obGen:
transitionTime:
- type: S3Reachable
status: T|F
reason: Reachable|Unreachable
message:
obGen:
transitionTime:
Another reason would be that, phase can change for the same generation, if a new SC/VRC or any class is created on the cluster. To see when this changed we would also need to add a transitionTime to the status. These are covered in Conditions, and hence maybe easier to just use the same?
Changes
ClusterID
as it's a required and immutable fieldResolves issue #1636