puppet-jenkins
puppet-jenkins copied to clipboard
Improve support for complete removal of Jenkins
I tried to purge Jenkins from my system, but it outputs a lot of warnings:
Notice: /Stage[main]/Jenkins::Package/Package[jenkins]/ensure: ensure changed '1.509.3' to 'purged'
Error: /Stage[main]/Jenkins::Config/Jenkins::Sysconfig[HTTP_PORT]/File_line[Jenkins sysconfig setting HTTP_PORT]: Could not evaluate: No such file or directory - /etc/default/jenkins
Notice: /User[jenkins]: Dependency File_line[Jenkins sysconfig setting HTTP_PORT] has failures: true
Warning: /User[jenkins]: Skipping because of failed dependencies
Notice: /Group[jenkins]: Dependency File_line[Jenkins sysconfig setting HTTP_PORT] has failures: true
Warning: /Group[jenkins]: Skipping because of failed dependencies
Notice: /Stage[main]/Jenkins::Plugins/Jenkins::Plugin[greenballs]/File[/var/lib/jenkins]: Dependency File_line[Jenkins sysconfig setting HTTP_PORT] has failures: true
Warning: /Stage[main]/Jenkins::Plugins/Jenkins::Plugin[greenballs]/File[/var/lib/jenkins]: Skipping because of failed dependencies
Notice: /Stage[main]/Jenkins::Plugins/Jenkins::Plugin[greenballs]/File[/var/lib/jenkins/plugins]: Dependency File_line[Jenkins sysconfig setting HTTP_PORT] has failures: true
Warning: /Stage[main]/Jenkins::Plugins/Jenkins::Plugin[greenballs]/File[/var/lib/jenkins/plugins]: Skipping because of failed dependencies
[...]
Notice: /Stage[main]/Jenkins::Service/Service[jenkins]: Dependency File_line[Jenkins sysconfig setting HTTP_PORT] has failures: true
Warning: /Stage[main]/Jenkins::Service/Service[jenkins]: Skipping because of failed dependencies
Notice: /Stage[main]/Jenkins/Anchor[jenkins::end]: Dependency File_line[Jenkins sysconfig setting HTTP_PORT] has failures: true
Warning: /Stage[main]/Jenkins/Anchor[jenkins::end]: Skipping because of failed dependencies
It also only removed a package and jenkins user but leaved other artifacts on my system:
- jenkins group
- key for jenkins repository
- /etc/apt/sources.list.d/jenkins.list file
This is my puppet code I used for removal:
class { 'jenkins':
version => 'purged',
lts => 1, # use stable version
repo => 1, # install from repository
config_hash => {
'HTTP_PORT' => { 'value' => '8000' }
},
plugin_hash => {
'greenballs' => { version => '1.12' }
}
}
Right now this functionality doesn't exist in the module, a PR would be welcome though!