diff options
author | Brice Figureau <brice-puppet@daysofwonder.com> | 2009-08-07 22:45:12 +0200 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-08-13 08:10:00 +1000 |
commit | aad3b76da045d2fd845866fb6e8a7c9866307cd8 (patch) | |
tree | 6e8cd7c46a4f58d66b95bcdd14ef85710f44f253 /lib/puppet/transaction.rb | |
parent | 63cb1ade80187ebc6f7f24c74e4d1e4db53422c1 (diff) | |
download | puppet-aad3b76da045d2fd845866fb6e8a7c9866307cd8.tar.gz puppet-aad3b76da045d2fd845866fb6e8a7c9866307cd8.tar.xz puppet-aad3b76da045d2fd845866fb6e8a7c9866307cd8.zip |
Fix #2507 - Exported resources were not correctly collected.
#2507 contains two issues:
* a crash when we filters-out an unwanted resource which had edges
pointing to it.
* resources are losing their virtuality when they are transformed from
Puppet::Parser::Resource to Puppet::Resource. This means we weren't able
to distinguish anymore between an exported resource collected in the same
node as it was exported and an exported resource collected in another node.
The net result is that we can't apply exported resources that are
collected in the same node because they are filtered out by the catalog
filter (see the commits for #2391 for more information).
The fix is to keep the virtuality of the resources so that we can
differentiate those two types of exported resources. We keep this until
the catalog is ready to be sent, where we filter out the virtual resouces
only, the other still exported ones needs to be sent to the client.
To be real sure, the transaction also skips virtual resources.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib/puppet/transaction.rb')
-rw-r--r-- | lib/puppet/transaction.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb index f57eda6c9..d04856d39 100644 --- a/lib/puppet/transaction.rb +++ b/lib/puppet/transaction.rb @@ -590,8 +590,8 @@ class Transaction resource.debug "Not scheduled" elsif failed_dependencies?(resource) resource.warning "Skipping because of failed dependencies" - elsif resource.exported? - resource.debug "Skipping because exported" + elsif resource.virtual? + resource.debug "Skipping because virtual" else return false end |