Issue #8236 has been updated by Luke Kanies.

Branch set to luke/prototype/master/8236-transaction_interface_with_providers

I've put a crappy-but-apparently-functional prototype in my 
prototype/master/8236-transaction_interface_with_providers branch.

I also added a simple (but not quite complete) report you can run (puppet 
resource_type refactor_report) that will tell you the status of the types - 
that is, the extent to which they are the style we want (no sync/retrieve 
methods, no blocks associated with values).

The changes to this code that need to happen:

* We need to add the ability to specify the provider method for a given value 
block.  E.g., most blocks look this like:
  <pre>
  newvalue(:present) { provider.install }
  </pre>
  And this should be doable as:
  <pre>
  newvalue :present, :provider_method => :install
  </pre>
  or something similar.
* We probably should remove the warnings until all of our types pass the report
* No tests have been worked on in this refactor
* The report needs to add testing for presence of 'retrieve', and needs to 
report per-property, rather than as a whole like it does now
----------------------------------------
Refactor #8236: Transaction resource harness should interact directly with 
provider
https://projects.puppetlabs.com/issues/8236

Author: Luke Kanies
Status: Accepted
Priority: Normal
Assignee: 
Category: RAL
Target version: 
Affected Puppet version: 
Keywords: transaction provider
Branch: luke/prototype/master/8236-transaction_interface_with_providers


Currently, the transaction system (as implemented in the ResourceHarness) 
interacts with Puppet::Type instances, which then interact with provider.

It would make much more sense for the transaction system to just interact 
directly with providers - the Puppet::Type instances (and really, the 
Properties) would be simpler because the sync and retrieve methods could be 
removed and all knowledge of the provider other than where it is could be 
removed.

This would make the whole system much cleaner, and would allow the three 
subsystems - provider, transaction, and resources - to change much more 
independently of each other.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to