-
Notifications
You must be signed in to change notification settings - Fork 66
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
Enable new config builder for 4.1 deployments #540
Conversation
04f9635
to
ac1afe4
Compare
I just realized this isn't going to test the new stuff in the CI since it overrides the version in the GHA workflow. Dang. |
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.
Seems like there are some errors in the new checks.
I just have one blocking request around the image coordinates, and the rest looks good.
Very cool to finally be replacing cass-config-builder!
@@ -953,3 +954,7 @@ func (dc *CassandraDatacenter) DatacenterName() string { | |||
} | |||
return dc.Name | |||
} | |||
|
|||
func (dc *CassandraDatacenter) UseClientImage() bool { |
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.
suggestion: Some comments or a different method name could help understanding the intent here. Currently I got confused by what this is supposed to support as feature (no mention of config building for example).
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.
True, I just lacked imagination when creating the method. Perhaps something like "NewConfigSystem() bool" ?
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.
I mean the real idea is to check if the deployed Cassandra version uses old Config.java or the newer one.
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.
NewConfigSystem()
sounds better. Maybe Builder
would be better than System
?
The idea indeed is that with versions equal or higher than 4.1, we'll use the new config builder that sits in the k8ssandra-client project.
New
is a little vague as well, because if we come up with another one later (god forbids) we'll end up with NewNew
? :D
Is UseK8ssandraConfigBuilder()
too long? You could also turn it into K8ssandraConfigBuilder() bool
, which may work with Go idioms I guess?
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.
Ah, I didn't mean to reflect on the newer config-builder, I was thinking about from the perspective of Cassandra itself. That said, of course Cassandra's Config system can evolve as well later.
8e13561
to
e4d3acd
Compare
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.
Approved, pending passing tests
…t to use, also try new 4.1.x option in the config_change suite
… and newer OSS versions
…ke tests to 4.0.10, 3.11.15 and 6.8.37
…ake them work better with 4.1.2
e4d3acd
to
67814c0
Compare
There's something super fishy with the size = 2 and role creation in 4.1 settings.
|
Is this an issue where creating Roles use a special CL that is different than the effective CL for other queries? Or is it just a weird thing specifically with exactly 2 nodes (i,.e things work with 1 node, or 3+ nodes, but not 2)? |
The number 2.. but hopefully that's solved now. |
What this PR does:
Replaces the usage of cass-config-builder with the new k8ssandra-client config build when a Cassandra 4.1 and newer OSS image is deployed.
The old behavior remains with DSE and older versions of Cassandra.
Which issue(s) this PR fixes:
Fixes #512
Fixes #513
Fixes #514
Checklist