Skip to content

Conversation

@Bouncheck
Copy link

Until now, the versions passed through ccm.version property would be considered invalid if cannot be parsed to one of the known formats. Now if the parsing fails, the property will be passed to ccm commands "as is" which ccm will treat as directory name in local repository. Numbered version will then be fetched through setting up a makeshift cluster and asking ccm for it.

@Bouncheck Bouncheck self-assigned this Jan 17, 2025
@Bouncheck
Copy link
Author

Bouncheck commented Jan 17, 2025

Verified by passing 6.2.0 as "abc123" through IDE. Same effect as:

$ cp -r ~/.ccm/scylla-repository/release/6.2.0 ~/.ccm/scylla-repository/abc123
$ mvn clean verify -Dtest=MetadataIT -Dccm.version=abc123 -Dccm.scylla=true -Dsurefire.failIfNoSpecifiedTests=false

Example result

[main] WARN  c.d.o.d.api.testinfra.ccm.CcmBridge - Failed to parse ccm.version property 'abc123' as Version instance. Attempting to fetch it through 'ccm node versionfrombuild'
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Executing: [ccm, create, get_version, -n, 1, --scylla, --version, abc123, --config-dir=/tmp/ccmParseVer11138012041046879189]
[Exec Stream Pumper] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - ccmout> Current cluster is now: get_version
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Executing: [ccm, node1, versionfrombuild, --config-dir=/tmp/ccmParseVer11138012041046879189]
[Exec Stream Pumper] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - ccmout> 6.2.0
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Cluster reports that abc123 corresponds to version 6.2.0
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Executing: [ccm, remove, get_version, --config-dir=/tmp/ccmParseVer11138012041046879189]
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - CCM Bridge configured with Scylla version 6.2.0
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Executing: [ccm, create, ccm_1, -i, 127.0.0., -n, 1:0, -v, abc123, --scylla, --config-dir=/tmp/ccm9060810773045562685]
[Exec Stream Pumper] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - ccmout> Current cluster is now: ccm_1
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Executing: [ccm, updateconf, auto_snapshot:false, materialized_views_enabled:true, sasi_indexes_enabled:true, num_tokens:1, initial_token:0, --config-dir=/tmp/ccm9060810773045562685]
[main] INFO  c.d.o.d.api.testinfra.ccm.CcmBridge - Executing: [ccm, start, --wait-for-binary-proto, --wait-other-notice, --config-dir=/tmp/ccm9060810773045562685]

Until now, the versions passed through ccm.version property would be
considered invalid if cannot be parsed to one of the known formats.
Now if the parsing fails, the property will be passed to ccm commands
"as is" which ccm will treat as directory name in local repository.
Numbered version will then be fetched through setting up a makeshift cluster
and asking ccm for it.
@Bouncheck Bouncheck force-pushed the scylla-4.x-ccm-custom-cluster-versions branch from e604c7c to 8914f34 Compare January 17, 2025 17:45
@dkropachev dkropachev merged commit e78bcf4 into scylladb:scylla-4.x Jan 20, 2025
10 checks passed
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.

2 participants