summaryrefslogtreecommitdiffstats
path: root/lib/puppet/transaction
Commit message (Collapse)AuthorAgeFilesLines
* Fix #1934 - detailed-exitcodes for puppetdDeepak Giridharagopal2009-11-191-1/+10
| | | | | | | | | | | | | | | | | | | | | | This option only works when --onetime is specified, as it doesn't make much sense to worry about exit codes in the context of a long-running daemon. This required a refactoring of the existing --detailed-exitcodes code, as "puppetd" wasn't directly creating a transaction object (like "puppet" does). Added Report::exit_status, which did what was previously hard-coded into the "puppet" executable. An Agent's "run" method now returns a value (the result of the individual client class' "run" method) The "puppetd" agent's "run" method now returns a transaction report, as that seems like the logical thing to return as the result of applying a catalog. Signed-off-by: Deepak Giridharagopal <deepak@brownman.org>
* Removed extra whitespace from end of linesIan Taylor2009-06-062-7/+7
|
* Fix #1483 - use REST to transmit reports over the wireBrice Figureau2008-12-061-1/+7
| | | | Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Fixing #1764 - a property's 'sync' method is never considered a no-op.Luke Kanies2008-11-211-5/+3
| | | | | | | | | | | | | | | | *This is a behaviour change.* If the property does not return an event name, then one is generated based on the property name. Previously, the 'sync' method could return nil and it would be considered a noop, but if you need a noop, then you need to modify your 'insync?' method to return 'true' in the noop cases. Also modifying all of the builtin types that didn't handle this explicitly or returned nil in 'sync'. There should be no behaviour change in any of them. Signed-off-by: Luke Kanies <luke@madstop.com>
* Fixed #1442 - replaced use of Facter for report titling with certnameJames Turnbull2008-08-161-7/+1
|
* Testing and simplifying the Transaction::Change#backward method.Luke Kanies2008-07-041-14/+5
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Removing the Transaction::Change#transaction accessor.Luke Kanies2008-07-041-13/+2
| | | | | | | As with Events, this was never used (beyond being assigned), so I've gotten rid of it. Signed-off-by: Luke Kanies <luke@madstop.com>
* Refactoring the Transaction::Event class.Luke Kanies2008-07-042-10/+5
| | | | | | | | | | | The class had a 'transaction' accessor that was assigned but never used, and it is simple enough that it needed direct arguments rather than named arguments. The rest of the code is changing the other classes that use Events. Signed-off-by: Luke Kanies <luke@madstop.com>
* Adding tests to the Transaction::Change class.Luke Kanies2008-07-041-35/+19
| | | | | | | There's a small amount of refactoring here, mostly removing code that appears to not be used at all. Signed-off-by: Luke Kanies <luke@madstop.com>
* Renaming Puppet::Event to Puppet::Transaction::EventLuke Kanies2008-07-031-0/+22
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Renaming the Puppet::PropertyChange class to Puppet::Transaction::Change.Luke Kanies2008-07-031-0/+134
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Intermediate commit.Luke Kanies2008-04-081-0/+4
| | | | | | | | | | | | | | | | | This commit adds a Request instance into the indirection, pushing it all the way to the terminus instances. It's a big commit because it requires modifying every terminus class. There are still some thorny design issues. In particular, who should be responsible for making the request object? I've tried having both the indirection class and the Indirector module creating it, and both have their issues. Also, the Catalog class previously allowed passing Node instances directly to the find method, which is now no longer possible because the Request class would treat the node as the instance being found. We need the request class to have two modes, one when it's passed an instance and one when it's passed a key.
* Reorganizing the file structure for indirection terminus types.Luke Kanies2007-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Previously, for example, the configuration terminus that was a subclass of 'code' would have been stored at lib/puppet/indirector/code/configuration and would have had to have been named 'configuration'. Now, the subclass can be named however the author prefers, and it must be stored at lib/puppet/indirector/configuration/<name>.rb, where <name> is the name you've chosen for the terminus type. The name only matters insomuch as it is used to load the file from disk and find the appropriate class when asked. The additional restriction is that the class constant for the terminus type must have its name as the last word, and the indirection must be the second to last word. Thus, in our example, we can choose any class constant that ends with Configuration::Code; given that there's only one Configuration class at this point, it makes the most sense to define the class as Puppet::Node::Configuration::Code. This is somewhat awkward, because of the class's location on disk, but the only other real option is to autogenerate a Puppet::Indirector::Configuration class constant, which is, I think, uglier.
* Translating the report handler to an indirected model.Luke Kanies2007-10-131-0/+5
| | | | | | | | | | | I've provided backward compatibility with the old handler. The only terminus type that currently exists for reports is the 'code' terminus, which is used to process reports in the style of the old handler. At some point, we should likely switch at least some of these report types (e.g., 'store') to terminus types.
* Removing the Id tags from all of the filesLuke Kanies2007-10-031-1/+0
|
* Adding a --summarize option, to get a transaction summaryluke2007-05-041-0/+26
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2459 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing patch by Dennis Jacobfeuerborn to only use the domain name if it ↵luke2007-02-281-1/+7
| | | | | | is set. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2246 980ebf18-57e1-0310-9a29-db15c13687c0
* Moving some of the stand-alone classes into the util/ subdirectory, to clean ↵luke2007-02-071-1/+1
| | | | | | up the top-level namespace a bit. This is a lot of file modifications, but most of them just change class names and file paths. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2178 980ebf18-57e1-0310-9a29-db15c13687c0
* splitting the tagmail report into multiple methods and adding test codeluke2007-01-301-0/+5
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2122 980ebf18-57e1-0310-9a29-db15c13687c0
* adding host information to reports and tagmail reportluke2006-07-041-1/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1361 980ebf18-57e1-0310-9a29-db15c13687c0
* More report and metrics manipulations. This should be the last of it.luke2006-07-011-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1351 980ebf18-57e1-0310-9a29-db15c13687c0
* oops; adding transaction report classluke2006-06-301-0/+40
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1348 980ebf18-57e1-0310-9a29-db15c13687c0