Support for MySQL 8.0.28?

1,832 views
Skip to first unread message

Russ Robinson

unread,
Jan 25, 2022, 5:41:27 PM1/25/22
to rundeck-discuss
After upgrading to MySQL 8.0.28 version, Rundeck does not start.  I see the following in the service.log:

==> /var/log/rundeck/service.log <==
[2022-01-25T22:09:37,018] ERROR pool.ConnectionPool - Unable to create initial connections of pool.
java.sql.SQLTransientConnectionException: Could not connect to address=(host=localhost)(port=3306)(type=master) : RSA public key is not available client side (option serverRsaPublicKeyFile not set)
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:79) ~[mariadb-java-client-2.7.0.jar!/:?]
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:192) ~[mariadb-java-client-2.7.0.jar!/:?]

I do have the following in my rundeck-config.groovy file:

dataSource.url='jdbc:mariadb://localhost/rundeckdb'
dataSource.driverClassName='org.mariadb.jdbc.Driver'
dataSource.properties.autoReconnect='true'
dataSource.properties.useSSL='false'
dataSource.properties.allowPublicKeyRetrieval='true'

Any suggestions?

Russ Robinson

unread,
Jan 25, 2022, 7:50:14 PM1/25/22
to rundeck...@googlegroups.com
This is on Linux and I’ve tried both Rundeck Community 3.4.9 and 3.4.10 releases.

--
You received this message because you are subscribed to the Google Groups "rundeck-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rundeck-discu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rundeck-discuss/28388176-7e80-491b-9c5a-d44f5a3dec26n%40googlegroups.com.
--

Thanks,
Russ

rac...@rundeck.com

unread,
Jan 26, 2022, 7:44:37 AM1/26/22
to rundeck-discuss

Hi Russ,

Could you test using the rundeck-config.properties file directly like this post? (the example uses the MySQL driver but it works using the default MariaDB driver). Also, you have a test environment here (the Welcome project uses MySQL 8 as a backend).

The 3.4 branch breaks the rundeck-config.groovy file compatibility.

Greetings.

Russ Robinson

unread,
Jan 26, 2022, 10:35:55 AM1/26/22
to rundeck-discuss
Oddly - after MySQL 8.0.28 was up for a while, I was able to restart Rundeck just fine.  Not sure what changed.  I'm going to do more testing.

What is meant by "The 3.4 branch breaks the rundeck-config.groovy file compatibility."?  Does that mean we should all revert back to just using /etc/rundeck/rundeck.properties file now?

rac...@rundeck.com

unread,
Jan 26, 2022, 11:56:42 AM1/26/22
to rundeck-discuss
Hi Russ,

I mean, now you can use extended mail config directly and that means that .groovy file isn't relevant anymore (that was the main use case, isn't your case of course).

Anyway, you can set the data source settings in the rundeck-config.properties file directly, is the "natural way" to do that actually.

Greetings!

Russ Robinson

unread,
Jan 26, 2022, 3:05:55 PM1/26/22
to rundeck-discuss
Here is my only work-around to support MySQL 8.0.28 release:
  • Log into Linux server and start database (ex.: systemctl start mysqld)
  • On server running Rundeck, su over to Linux userid (ex.: rundeck) and use mysql client to connect to database
    • Issue: mysql -u rundeckdbuser -p
    • Once in mysql client; issue: show databases (or any other sql)
  • Exit back to command line and start rundeck application (ex.: via root, systemctl start rundeckd)
  • Now, Rundeck will start fine.
Otherwise, Rundeck throws error "RSA public key is not available client side (option serverRsaPublicKeyFile not set)".

Russ Robinson

unread,
Jan 26, 2022, 8:40:42 PM1/26/22
to rundeck-discuss
Out of more testing and assistance from MySQL support; I had to change rundeck-config.groovy file from:

dataSource.url='jdbc:mariadb://localhost/rundeckdb'
dataSource.driverClassName='org.mariadb.jdbc.Driver'
dataSource.properties.autoReconnect='true'
dataSource.properties.useSSL='false'
dataSource.properties.allowPublicKeyRetrieval='true'

to:

dataSource.url='jdbc:mariadb://localhost/rundeckdb?&allowPublicKeyRetrieval=true&useSSL=false&autoReconnect=true'

dataSource.driverClassName='org.mariadb.jdbc.Driver'
dataSource.properties.autoReconnect='true'
dataSource.properties.useSSL='false'
dataSource.properties.allowPublicKeyRetrieval='true'

It is almost like Rundeck is no longer adding the "dataSource.properties" to the end of the 'dataSource.url' value.  Is this true for 3.4?  Or is this related to the mention of "The 3.4 branch breaks the rundeck-config.groovy file compatibility."?

rac...@rundeck.com

unread,
Jan 27, 2022, 8:19:28 AM1/27/22
to rundeck-discuss
Hi Russ, Since Rundeck 3.4, the rundeck-config.groovy config file isn't supported anymore, probably some stuff still working but now any configuration must be included on the rundeck-config.properties or framework.properties files (or using the Configuration Manager on Rundeck Enterprise). Putting that config on the rundeck-config.properties should work perfectly. Regards.

Russ Robinson

unread,
Jan 27, 2022, 12:28:34 PM1/27/22
to rundeck-discuss
After converting rundeck config from groovy back to properties file, the following ran into same error:

dataSource.url=jdbc:mariadb://localhost/rundeckdb
dataSource.username=rundeckuser
dataSource.driverClassName=org.mariadb.jdbc.Driver
dataSource.properties.autoReconnect=true
dataSource.properties.useSSL=false
dataSource.properties.allowPublicKeyRetrieval=true

I had to add those properties again to the url still:

dataSource.url=jdbc:mariadb://localhost/rundeckdb?&allowPublicKeyRetrieval=true&useSSL=false&autoReconnect=true
Reply all
Reply to author
Forward
0 new messages