Skip to content

Commit

Permalink
Fixes #1090 Stage plugin before deleting existing plugin, remove, the…
Browse files Browse the repository at this point in the history
…n move
  • Loading branch information
zoojar committed Mar 22, 2024
1 parent 66938db commit 4b27711
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
14 changes: 10 additions & 4 deletions manifests/plugin.pp
Original file line number Diff line number Diff line change
Expand Up @@ -182,20 +182,26 @@
$checksum_type = undef
}

exec { "force ${plugin}-${version}":
command => "/bin/rm -rf ${jenkins::plugin_dir}/${plugin}",
exec { "force staged ${plugin}-${version}":
command => "/bin/rm -rf ${jenkins::plugin_dir}/${plugin}.staged",
}
-> archive { $plugin:
source => $download_url,
path => "${jenkins::plugin_dir}/${plugin}",
path => "${jenkins::plugin_dir}/${plugin}.staged",
checksum_verify => $checksum_verify,
checksum => $checksum,
checksum_type => $checksum_type,
proxy_server => $jenkins::proxy::url,
cleanup => false,
extract => false,
require => $plugindir,
notify => $notify,
}
-> exec { "force ${plugin}-${version}":
command => "/bin/rm -rf ${jenkins::plugin_dir}/${plugin}",
}
-> exec { "stage ${plugin}-${version}":
command => "/bin/mv -f ${jenkins::plugin_dir}/${plugin}.staged ${jenkins::plugin_dir}/${plugin}",
notify => $notify,
}
$archive_require = Archive[$plugin]
} else {
Expand Down
4 changes: 3 additions & 1 deletion spec/defines/jenkins_plugin_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
it do

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on sles-11-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on opensuse-15-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on centos-9-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on ubuntu-20.04-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on rocky-8-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on oraclelinux-8-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on almalinux-8-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on redhat-8-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on sles-12-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]

Check failure on line 15 in spec/defines/jenkins_plugin_spec.rb

View workflow job for this annotation

GitHub Actions / Puppet / 7 (Ruby 2.7)

jenkins::plugin on rocky-9-x86_64 without version is expected to contain Archive[myplug.hpi] that comes before Exec[force myplug-] and Exec[stage myplug-] Failure/Error: is_expected.to contain_archive("#{title}.hpi").with( source: "#{plugin_host}/latest/myplug.hpi", path: "#{pdir}/#{title}.hpi.staged", cleanup: false, extract: false ).that_requires("File[#{pdir}]"). that_comes_before("Exec[force #{title}-]"). that_comes_before("Exec[stage #{title}-]"). that_notifies('Service[jenkins]') expected that the catalogue would contain Archive[myplug.hpi] with that comes before Exec[force myplug-], and parameter that comes before Exec[stage myplug-], and parameter that notifies Service[jenkins]
is_expected.to contain_archive("#{title}.hpi").with(
source: "#{plugin_host}/latest/myplug.hpi",
path: "#{pdir}/#{title}.hpi",
path: "#{pdir}/#{title}.hpi.staged",
cleanup: false,
extract: false
).that_requires("File[#{pdir}]").
that_comes_before("Exec[force #{title}-]").
that_comes_before("Exec[stage #{title}-]").
that_notifies('Service[jenkins]')
end

Expand Down

0 comments on commit 4b27711

Please sign in to comment.