Make storyboard idempotent
Previously the curl command was itself idempotent but this was transparent to Puppet, meaning the node reported as always changed. I have, somewhat akwardly, taught Puppet how to check for changed files on the remote server. It pulls only HTTP headers to save time/bandwidth. Change-Id: I539e67f0c82ad91450dd3720512b92518e70c122
This commit is contained in:
parent
716abb695f
commit
3ddc335163
@ -166,11 +166,12 @@ class storyboard (
|
||||
group => 'storyboard',
|
||||
}
|
||||
|
||||
# Using -z here to only download when the tarball has changed.
|
||||
# Checking last modified time versus mtime on the file
|
||||
exec { 'get-webclient':
|
||||
command => "curl ${storyboard_webclient_url} -z ./${tarball} -o ${tarball}",
|
||||
path => '/bin:/usr/bin',
|
||||
cwd => '/var/lib/storyboard',
|
||||
onlyif => "curl -I ${storyboard_webclient_url} -z ./${tarball} | grep '200 OK'",
|
||||
require => [
|
||||
File['/var/lib/storyboard'],
|
||||
Package['curl'],
|
||||
@ -178,10 +179,11 @@ class storyboard (
|
||||
}
|
||||
|
||||
exec { 'unpack-webclient':
|
||||
command => "tar -xzf ${tarball}",
|
||||
path => '/bin:/usr/bin',
|
||||
cwd => '/var/lib/storyboard',
|
||||
require => Exec['get-webclient'],
|
||||
command => "tar -xzf ${tarball}",
|
||||
path => '/bin:/usr/bin',
|
||||
cwd => '/var/lib/storyboard',
|
||||
refreshonly => true,
|
||||
subscribe => Exec['get-webclient'],
|
||||
}
|
||||
|
||||
file { '/var/lib/storyboard/www':
|
||||
|
Loading…
x
Reference in New Issue
Block a user