ros-infrastructure / cookbook-ros-buildfarm

Apache License 2.0
2 stars 2 forks source link

Switch to systemd in Jenkins packages breaks our cookbook recipes. #121

Open nuclearsandwich opened 1 year ago

nuclearsandwich commented 1 year ago

This issue is already being tracked in a few places but I need an anchor point for an upcoming PR to refer to.

Back in March Jenkins announced that new versions of Jenkins packaged for Linux would install and manage systemd services rather than sysvinit scripts1. This is actually great and the new systemd based services should resolve some outstanding issues our operations experience. However, the jenkins cookbook and our own recipes both currently assume that Jenkins configuration details from /etc/default/jenkins will be used and with the new systemd unit this is no longer the case.

Provisioning new jenkins hosts with any current version of this cookbook is currently broken. In #119 I plan to pin the Jenkins version used in our cookbook to the most recent version which still uses these sysvinit scripts so that we have both running CI and new build farms can potentially run from our cookbooks. However, Jenkins does not support downgrading, and it is possible for an existing host to continue operating even though the parameters in /etc/defaults/jenkins are no longer being used. To prevent breaking these farms some very un-idiomatic guard clauses will be added to the cookbook until I can find a nicer way to prevent data loss.