summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2009-05-24 15:26:44 -0500
committerJames Turnbull <james@ubuntu904.lovedthanlost.net>2009-05-26 13:43:40 +1000
commitf98d49f2d20ed52cd33504c5d0ef97d0edf9107f (patch)
treed61ed717ec0ca84776dceaf5205ed3788fdf81d4 /lib/puppet
parentd860a2fb71858706ff318cfcdc0ff387840eef80 (diff)
downloadpuppet-f98d49f2d20ed52cd33504c5d0ef97d0edf9107f.tar.gz
puppet-f98d49f2d20ed52cd33504c5d0ef97d0edf9107f.tar.xz
puppet-f98d49f2d20ed52cd33504c5d0ef97d0edf9107f.zip
Fixing #2253 - pluginsync failures propagate correctly
This keeps the destination directory from getting purged if the remote source is invalid. This mostly just removes an optimization that worked fine when we queried the server for every directory, but doesn't work now that we do one big query. Signed-off-by: Luke Kanies <luke@madstop.com>
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/transaction.rb16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb
index 1f4cb3edc..dd8689447 100644
--- a/lib/puppet/transaction.rb
+++ b/lib/puppet/transaction.rb
@@ -192,17 +192,17 @@ class Transaction
end
# Evaluate a single resource.
- def eval_resource(resource, checkskip = true)
+ def eval_resource(resource)
events = []
if resource.is_a?(Puppet::Type::Component)
raise Puppet::DevError, "Got a component to evaluate"
end
- if checkskip and skip?(resource)
+ if skip?(resource)
@resourcemetrics[:skipped] += 1
else
- events += eval_children_and_apply_resource(resource, checkskip)
+ events += eval_children_and_apply_resource(resource)
end
# Check to see if there are any events for this resource
@@ -226,7 +226,7 @@ class Transaction
events
end
- def eval_children_and_apply_resource(resource, checkskip)
+ def eval_children_and_apply_resource(resource)
events = []
@resourcemetrics[:scheduled] += 1
@@ -237,7 +237,7 @@ class Transaction
# actions sometimes change how the top resource is applied.
children = eval_generate(resource)
- if children and resource.depthfirst?
+ if ! children.empty? and resource.depthfirst?
children.each do |child|
# The child will never be skipped when the parent isn't
events += eval_resource(child, false)
@@ -249,9 +249,9 @@ class Transaction
events += apply(resource)
end
- if children and ! resource.depthfirst?
+ if ! children.empty? and ! resource.depthfirst?
children.each do |child|
- events += eval_resource(child, false)
+ events += eval_resource(child)
end
end
@@ -260,7 +260,7 @@ class Transaction
# the changes list this resource as a proxy. This is really only
# necessary for rollback, since we know the generating resource
# during forward changes.
- if children and checkskip
+ unless children.empty?
@changes[changecount..-1].each { |change| change.proxy = resource }
end