Skip to content
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

Add support for Cassandra 4.0 beta images #378

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add support for Cassandra 4.0 beta images #378

wants to merge 2 commits into from

Conversation

emerkle826
Copy link

This should address #373

@@ -14,6 +14,7 @@ jobs:
integration_test:
- smoke_test_dse
- smoke_test_oss
- smoke_test_4x
Copy link
Collaborator

Choose a reason for hiding this comment

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

great idea

spec:
clusterName: cluster2
serverType: cassandra
serverVersion: "4.0-beta4"
Copy link
Collaborator

Choose a reason for hiding this comment

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

will the config builder accept this string?

Copy link
Author

Choose a reason for hiding this comment

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

That I'm not sure. I'll check it out and see.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Based on my initial testing it does not appear that changes are needed in the config builder.

For reference I am testing with this k8ssandra branch k8ssandra/k8ssandra#336. The medusa image changes have not been merged yet, so I built the medusa image from source my branch here https://github.com/jsanda/cassandra-medusa/tree/reduce_docker_filesize.

Copy link
Collaborator

Choose a reason for hiding this comment

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

My cassandra pods are in the ready state but there are some problems. Here is what happened when I tried to run nodetool status:

$ kubectl exec -it test-dc1-default-sts-0 -c cassandra -- nodetool -u 3jFWL5YitK -pw SsOuaP8rV7hYGHJzdY59 version
grep: /opt/cassandra/conf/jvm-clients.options: No such file or directory
grep: /opt/cassandra/conf/jvm11-clients.options: No such file or directory
00:55:31,618 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-tools.xml]
00:55:31,619 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
00:55:31,621 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
00:55:31,622 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/etc/cassandra/logback.xml]
00:55:31,787 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
00:55:31,799 |-INFO in ch.qos.logback.classic.joran.action.JMXConfiguratorAction - begin
00:55:31,970 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
00:55:31,981 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SYSTEMLOG]
00:55:32,005 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@2805d709 - Will use zip compression
00:55:32,066 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
00:55:32,087 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[SYSTEMLOG] - Active log file name: cassandra.logdir_IS_UNDEFINED/system.log
00:55:32,087 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[SYSTEMLOG] - File property is set to [cassandra.logdir_IS_UNDEFINED/system.log]
00:55:32,089 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[SYSTEMLOG] - Failed to create parent directories for [/cassandra.logdir_IS_UNDEFINED/system.log]
00:55:32,089 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[SYSTEMLOG] - openFile(cassandra.logdir_IS_UNDEFINED/system.log,true) call failed. java.io.FileNotFoundException: cassandra.logdir_IS_UNDEFINED/system.log (No such file or directory)
	at java.io.FileNotFoundException: cassandra.logdir_IS_UNDEFINED/system.log (No such file or directory)
	at 	at java.base/java.io.FileOutputStream.open0(Native Method)
	at 	at java.base/java.io.FileOutputStream.open(Unknown Source)
	at 	at java.base/java.io.FileOutputStream.<init>(Unknown Source)
	at 	at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:26)
	at 	at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:204)
	at 	at ch.qos.logback.core.FileAppender.start(FileAppender.java:127)
	at 	at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:100)
	at 	at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)
	at 	at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
	at 	at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
	at 	at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
	at 	at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
	at 	at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
	at 	at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
	at 	at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
	at 	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
	at 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
	at 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
	at 	at org.apache.cassandra.utils.FBUtilities.<clinit>(FBUtilities.java:81)
	at 	at org.apache.cassandra.tools.NodeTool.<clinit>(NodeTool.java:74)
00:55:32,089 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
00:55:32,089 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DEBUGLOG]
00:55:32,090 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@194bcebf - Will use zip compression
00:55:32,091 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
00:55:32,092 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - Active log file name: cassandra.logdir_IS_UNDEFINED/debug.log
00:55:32,092 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - File property is set to [cassandra.logdir_IS_UNDEFINED/debug.log]
00:55:32,092 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - Failed to create parent directories for [/cassandra.logdir_IS_UNDEFINED/debug.log]
00:55:32,092 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUGLOG] - openFile(cassandra.logdir_IS_UNDEFINED/debug.log,true) call failed. java.io.FileNotFoundException: cassandra.logdir_IS_UNDEFINED/debug.log (No such file or directory)
	at java.io.FileNotFoundException: cassandra.logdir_IS_UNDEFINED/debug.log (No such file or directory)
	at 	at java.base/java.io.FileOutputStream.open0(Native Method)
	at 	at java.base/java.io.FileOutputStream.open(Unknown Source)
	at 	at java.base/java.io.FileOutputStream.<init>(Unknown Source)
	at 	at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:26)
	at 	at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:204)
	at 	at ch.qos.logback.core.FileAppender.start(FileAppender.java:127)
	at 	at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:100)
	at 	at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
	at 	at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)
	at 	at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
	at 	at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
	at 	at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
	at 	at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
	at 	at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
	at 	at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
	at 	at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
	at 	at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
	at 	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
	at 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
	at 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
	at 	at org.apache.cassandra.utils.FBUtilities.<clinit>(FBUtilities.java:81)
	at 	at org.apache.cassandra.tools.NodeTool.<clinit>(NodeTool.java:74)

@jimdickinson do you think this is config builder related?

@jsanda
Copy link
Collaborator

jsanda commented Feb 10, 2021

@emerkle826 based on testing I have done thus far I think we can do without these changes. The validation already supports 4.0.0 for the version. I am able to use the beta4 image with that. Granted it makes it a bit less obvious which beta you are actually running but that can be ascertained from the image tag. The other, bigger benefit is that we wouldn't have to worry about config-builder changes to recognize (4\.0-beta\d+) in addition to 4.0.0.

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.

3 participants