Skip to content

Commit

Permalink
Work around possible bug in Chef's converge_if_changed
Browse files Browse the repository at this point in the history
  • Loading branch information
hartmantis committed Aug 24, 2016
1 parent 4274bcb commit bae72b7
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions libraries/resource_chef_dk_app.rb
Expand Up @@ -130,6 +130,15 @@ class ChefDkApp < Resource

case new_resource.source
when :direct
# TODO: Is this a Chef bug? The converge_if_changed block doesn't
# execute if new_resource.version is its default value, even though
# that is also 'latest'.
#
# [2016-08-24T10:22:20-07:00] WARN: CURRENT: true, 0.1.2
# [2016-08-24T10:22:20-07:00] WARN: NEW: true, latest
# (upgrade_direct! should be called here, but isn't)
#
new_resource.version('latest')
converge_if_changed(:installed, :version) { upgrade_direct! }
when :repo
upgrade_repo!
Expand All @@ -147,12 +156,9 @@ class ChefDkApp < Resource
new_resource.installed(false)

case new_resource.source
when :direct
remove_direct!
when :repo
remove_repo!
else
remove_custom!
when :direct then remove_direct!
when :repo then remove_repo!
else remove_custom!
end
end

Expand Down

0 comments on commit bae72b7

Please sign in to comment.