-
Notifications
You must be signed in to change notification settings - Fork 568
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
Rewrite to native systemd #1035
Conversation
Are you planning to support both versions <2.332 (with module's systemd) and >2.332 (with jenkins packaged systemd) or would we release this module only for the newer jenkins versions? |
I think just release it for the newer Jenkins. Perhaps release it as a new major release after such a long time. |
(last push was just a trivial rebase) |
For the OS families where a template was provided now default to using systemd and we don't test with sysvinit. This drops the ability to smoothly transition from sysvinit to systemd, but that's not really important. Very few users will switch their system from sysvinit to systemd and if they do, it's a bigger upgrade anyway. It doesn't implement any cleanup since it's not expected to be present.
Without this systemd refuses to start.
The latest versions are publishedd as hpi, which is the default for jenkins::plugin.
Without these plugins the plugin purging removes too much.
Jenkins 2.332 started to include a systemd unit file which means we can greatly simplify this module. It aligns all distros on a single standard. No attempt is made at supporting Jenkins < 2.332 but the old override file is cleaned up.
Includes #1038. The test suite isn't green yet, mostly because of plugins. In particular, the latest credentials plugin requires a newer-than-LTS version which breaks a lot of tests. |
Thinking more about this, I'm leaning to switching CI to non-LTS for now. |
I added sufficient workarounds that I now expect the tests to pass. However, I didn't run them locally so no guarantees. |
Ok, the non-LTS fix I tried doesn't work because the modulesync is too old. I'm going to merge this as is now and then do a fresh modulesync. |
This takes a stab at rewriting to use Jenkins' 2.332 native systemd file. While writing this I found out several other issues with the test suite. It still isn't passing, but this is submitted to share my progress.
Several changes can be merged already and can be split off.