Summary
The cookbook is pinned to a January 2022 Rundeck release that only works on now-EOL platforms. Integration testing cannot pass on any currently supported distro until the Rundeck and Java defaults are moved forward together.
Surfaced while fixing #348.
Current state
# resources/server_install.rb:98
property :version, String, default: '3.4.10.20220118-1'
# resources/dependencies.rb:22
temurin_package_install '8'
Rundeck 3.4.10 ships a SysV /etc/init.d/rundeckd script rather than a systemd unit. On every modern distro the converge installs the package successfully and then fails:
dnf_package[rundeck] - install version 0:3.4.10.20220118-1 of package rundeck
service[rundeckd] Failed to start rundeckd.service: Unit rundeckd.service not found.
Identical failure on all ten platforms tested in #348 — almalinux-8/9, centos-stream-9, fedora-latest, oraclelinux-8/9, rockylinux-8/9, ubuntu-2204, ubuntu-2404. This is the packaging issue described in rundeck/rundeck#7546.
The previous CI matrix (centos-7, amazonlinux-2, debian-10, centos-stream-8, ubuntu-1804, ubuntu-2004) masked this: six of those nine entries had no matching Kitchen instance at all, and the rest are EOL platforms where the SysV script still worked. So the cookbook has not been exercised against a supported platform in a long time.
Why this is not a small change
Bumping the Rundeck pin forces a Java bump:
| Rundeck |
Java runtime |
| 3.x / 4.x |
8 or 11 |
| 5.x |
11 / 17 — Java 8 dropped |
| 6.x and later |
17 minimum |
The cookbook currently installs Temurin 8, so any move to Rundeck 5+ also requires changing resources/dependencies.rb.
Changing version's default alters behaviour for every consumer pinning nothing, so this is a feat! with a major version bump, not a CI fix.
Decisions needed
- Target Rundeck version. 4.x keeps Java 8/11 compatibility; 5.x requires Java 11/17; 6.x requires 17+. Jumping straight to a current release is the most useful but the largest behaviour change.
- Java version.
temurin_package_install '8' → '11' or '17', matching the chosen Rundeck. Worth deciding whether Temurin remains the right distribution or whether openjdk_pkg_install is preferable now that distro packages are current.
- Whether
version should keep a pinned default at all, or track the repository's latest. A pin gives reproducible builds; tracking latest avoids this exact staleness.
- Platform support.
metadata.rb declares centos, fedora, oracle, redhat, scientific and ubuntu. scientific is long dead and worth dropping. Debian is absent from supports but present in kitchen.dokken.yml.
- Config compatibility. Rundeck 4/5 changed some framework and rundeck-config properties; the templates in
resources/server_install.rb and the framework_properties handling will need review against the target version.
Acceptance
- Integration passes on the platforms declared in
metadata.rb.
rundeckd starts via systemd on all tested platforms.
- Java default matches the Rundeck runtime requirement.
metadata.rb supports reflects reality.
Related
Summary
The cookbook is pinned to a January 2022 Rundeck release that only works on now-EOL platforms. Integration testing cannot pass on any currently supported distro until the Rundeck and Java defaults are moved forward together.
Surfaced while fixing #348.
Current state
Rundeck 3.4.10 ships a SysV
/etc/init.d/rundeckdscript rather than a systemd unit. On every modern distro the converge installs the package successfully and then fails:Identical failure on all ten platforms tested in #348 — almalinux-8/9, centos-stream-9, fedora-latest, oraclelinux-8/9, rockylinux-8/9, ubuntu-2204, ubuntu-2404. This is the packaging issue described in rundeck/rundeck#7546.
The previous CI matrix (centos-7, amazonlinux-2, debian-10, centos-stream-8, ubuntu-1804, ubuntu-2004) masked this: six of those nine entries had no matching Kitchen instance at all, and the rest are EOL platforms where the SysV script still worked. So the cookbook has not been exercised against a supported platform in a long time.
Why this is not a small change
Bumping the Rundeck pin forces a Java bump:
The cookbook currently installs Temurin 8, so any move to Rundeck 5+ also requires changing
resources/dependencies.rb.Changing
version's default alters behaviour for every consumer pinning nothing, so this is afeat!with a major version bump, not a CI fix.Decisions needed
temurin_package_install '8'→'11'or'17', matching the chosen Rundeck. Worth deciding whether Temurin remains the right distribution or whetheropenjdk_pkg_installis preferable now that distro packages are current.versionshould keep a pinned default at all, or track the repository's latest. A pin gives reproducible builds; tracking latest avoids this exact staleness.metadata.rbdeclares centos, fedora, oracle, redhat, scientific and ubuntu.scientificis long dead and worth dropping. Debian is absent fromsupportsbut present inkitchen.dokken.yml.resources/server_install.rband theframework_propertieshandling will need review against the target version.Acceptance
metadata.rb.rundeckdstarts via systemd on all tested platforms.metadata.rbsupportsreflects reality.Related
adoptopenjdk_installwithtemurin_package_installand realigns the CI matrix withkitchen.dokken.yml. It resolves a hardNoMethodErrorand is independent of this work; integration is not a required context, so it can merge while this remains open.