<feed xmlns='http://www.w3.org/2005/Atom'>
<title>puppet.git/lib/puppet/transaction, branch master</title>
<subtitle>Puppet repo</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/'/>
<entry>
<title>Merge branch '2.6.x' into 2.7.x</title>
<updated>2011-06-29T00:40:53+00:00</updated>
<author>
<name>Jacob Helwig</name>
<email>jacob@puppetlabs.com</email>
</author>
<published>2011-06-29T00:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=8432684e25cc82beb1f5d977dd509fd7bab3901b'/>
<id>8432684e25cc82beb1f5d977dd509fd7bab3901b</id>
<content type='text'>
* 2.6.x:
  (#7956) Porting cron tests
  (#7956) Port resource acceptance tests
  Readying for release of 2.6.9
  (#6854) Update Red Hat spec file
  Bumping release in lib/puppet.rb and updating CHANGELOG.
  Bumping RPM spec file to 2.6.9rc1.
  (#7506) Organize READMEs; specify supported Ruby versions in README.md
  (#6418) Make test 64118 more portable
  (#7127) Stop puppet if a prerun command fails
  Do not needlessly create multiple reports when creating a transaction
  (#4416) Ensure types are providified after reloading
  (#4416) Always remove old provider before recreating it
  Cleanup indentation, comment, and unused code

Conflicts:
	CHANGELOG
	README.md
	conf/redhat/puppet.spec
	lib/puppet.rb
	lib/puppet/transaction.rb
	spec/unit/configurer_spec.rb
	spec/unit/transaction_spec.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 2.6.x:
  (#7956) Porting cron tests
  (#7956) Port resource acceptance tests
  Readying for release of 2.6.9
  (#6854) Update Red Hat spec file
  Bumping release in lib/puppet.rb and updating CHANGELOG.
  Bumping RPM spec file to 2.6.9rc1.
  (#7506) Organize READMEs; specify supported Ruby versions in README.md
  (#6418) Make test 64118 more portable
  (#7127) Stop puppet if a prerun command fails
  Do not needlessly create multiple reports when creating a transaction
  (#4416) Ensure types are providified after reloading
  (#4416) Always remove old provider before recreating it
  Cleanup indentation, comment, and unused code

Conflicts:
	CHANGELOG
	README.md
	conf/redhat/puppet.spec
	lib/puppet.rb
	lib/puppet/transaction.rb
	spec/unit/configurer_spec.rb
	spec/unit/transaction_spec.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>(#7127) Stop puppet if a prerun command fails</title>
<updated>2011-06-10T21:09:32+00:00</updated>
<author>
<name>Josh Cooper</name>
<email>josh@puppetlabs.com</email>
</author>
<published>2011-06-10T21:09:32+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=98ba4071f424932173b450d1a94a9ae39f33a6c7'/>
<id>98ba4071f424932173b450d1a94a9ae39f33a6c7</id>
<content type='text'>
Before this change there were several problems with pre and post run
commands, logging, and sending of reports.

1. If a prerun command failed, puppet would attempt to apply the
catalog. Now puppet will not apply the catalog, but it will run the
postrun command and send the report (as it did before).

2. If a postrun command failed, puppet would not send the report. Sending the
report is now in an outer ensure block from the postrun command, so
postrun failures won't prevent the report from being sent.

3. Errors, e.g. Puppet.err, occuring during the prepare step, which
which includes plugin/fact download and prerun commands were not
appended to the report. Now the report log destination is registered as
early as possible, and unregistered as late as possible to ensure
Configurer errors that occur in the run method are included in the report.

4. The transaction was closing the Configurer's report destination out
from underneath it. As a result, postrun errors were not included in the
report.

Paired-with: Nick Lewis &lt;nick@puppetlabs.com&gt;
Reviewed-by: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this change there were several problems with pre and post run
commands, logging, and sending of reports.

1. If a prerun command failed, puppet would attempt to apply the
catalog. Now puppet will not apply the catalog, but it will run the
postrun command and send the report (as it did before).

2. If a postrun command failed, puppet would not send the report. Sending the
report is now in an outer ensure block from the postrun command, so
postrun failures won't prevent the report from being sent.

3. Errors, e.g. Puppet.err, occuring during the prepare step, which
which includes plugin/fact download and prerun commands were not
appended to the report. Now the report log destination is registered as
early as possible, and unregistered as late as possible to ensure
Configurer errors that occur in the run method are included in the report.

4. The transaction was closing the Configurer's report destination out
from underneath it. As a result, postrun errors were not included in the
report.

Paired-with: Nick Lewis &lt;nick@puppetlabs.com&gt;
Reviewed-by: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '2.6.x' into 2.7.x</title>
<updated>2011-06-09T01:01:31+00:00</updated>
<author>
<name>Nick Lewis</name>
<email>nick@puppetlabs.com</email>
</author>
<published>2011-06-09T00:18:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=376e0f04af01810d00eede4de52744bb8c8e1681'/>
<id>376e0f04af01810d00eede4de52744bb8c8e1681</id>
<content type='text'>
Conflicts:
	acceptance/tests/ticket_5477_master_not_dectect_sitepp.rb
	lib/puppet/application/apply.rb
	lib/puppet/configurer.rb
	lib/puppet/configurer/fact_handler.rb
	spec/unit/application/apply_spec.rb
	spec/unit/configurer/fact_handler_spec.rb
	spec/unit/configurer_spec.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	acceptance/tests/ticket_5477_master_not_dectect_sitepp.rb
	lib/puppet/application/apply.rb
	lib/puppet/configurer.rb
	lib/puppet/configurer/fact_handler.rb
	spec/unit/application/apply_spec.rb
	spec/unit/configurer/fact_handler_spec.rb
	spec/unit/configurer_spec.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>(#2128) Add the ability to specify a node name</title>
<updated>2011-06-06T22:48:58+00:00</updated>
<author>
<name>Nick Lewis</name>
<email>nick@puppetlabs.com</email>
</author>
<published>2011-06-02T23:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=cd4fe148aae923f1167a3db450b64ead87418018'/>
<id>cd4fe148aae923f1167a3db450b64ead87418018</id>
<content type='text'>
The setting node_name_value may now be used for 'puppet apply' or 'puppet
agent' to specify the name for the node. This will not affect the certificate
used by the node, and the node will still be authenticated based on its
certname. The default value for node_name_value is the certname.

This is useful for eg. EC2 nodes whose random hostnames cannot be easily used
to classify them.

Paired-With: Jacob Helwig
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The setting node_name_value may now be used for 'puppet apply' or 'puppet
agent' to specify the name for the node. This will not affect the certificate
used by the node, and the node will still be authenticated based on its
certname. The default value for node_name_value is the certname.

This is useful for eg. EC2 nodes whose random hostnames cannot be easily used
to classify them.

Paired-With: Jacob Helwig
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #7084 Make the log messages produced by whits less confusing</title>
<updated>2011-04-22T01:08:07+00:00</updated>
<author>
<name>Jesse Wolfe</name>
<email>jes5199@gmail.com</email>
</author>
<published>2011-04-19T21:58:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=5c245418115396df655f86065d2d1d3af62e39ee'/>
<id>5c245418115396df655f86065d2d1d3af62e39ee</id>
<content type='text'>
This patch changes the logging behavior of Whits so that instead of
talking about whits directly, we refer to the Class, Stage, or recursive
resource that they are sentinals for.
In the case where a "completion" Whit is notified by a resource, getting
a notification at all is counterinutitive, so I've changed the output to
a "debug"-priority message that describes what's happening.

Reviewed-By: Nick Lewis &lt;nick@puppetlabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch changes the logging behavior of Whits so that instead of
talking about whits directly, we refer to the Class, Stage, or recursive
resource that they are sentinals for.
In the case where a "completion" Whit is notified by a resource, getting
a notification at all is counterinutitive, so I've changed the output to
a "debug"-priority message that describes what's happening.

Reviewed-By: Nick Lewis &lt;nick@puppetlabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'ticket/next/7026' into next</title>
<updated>2011-04-08T19:23:44+00:00</updated>
<author>
<name>Nick Lewis</name>
<email>nick@puppetlabs.com</email>
</author>
<published>2011-04-08T19:23:44+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=89327e9b956fd806418d548b25c458b9ebeac141'/>
<id>89327e9b956fd806418d548b25c458b9ebeac141</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>(#7026) Remove whits from reports when finalizing</title>
<updated>2011-04-08T19:17:10+00:00</updated>
<author>
<name>Nick Lewis</name>
<email>nick@puppetlabs.com</email>
</author>
<published>2011-04-08T19:17:10+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=9490cc9ecba28360c58173ec2eeb0dd1d3198960'/>
<id>9490cc9ecba28360c58173ec2eeb0dd1d3198960</id>
<content type='text'>
Resource statuses and metrics for Whits were being added to reports. Since they
are transient internal data, they shouldn't be included in the report. This
change adds a Puppet::Transaction::Report#prune_internal_data method, called by
Puppet::Transaction::Report#finalize_report, providing a central place for this
sort of pruning in the future.

Paired-With: Max Martin
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resource statuses and metrics for Whits were being added to reports. Since they
are transient internal data, they shouldn't be included in the report. This
change adds a Puppet::Transaction::Report#prune_internal_data method, called by
Puppet::Transaction::Report#finalize_report, providing a central place for this
sort of pruning in the future.

Paired-With: Max Martin
</pre>
</div>
</content>
</entry>
<entry>
<title>Maint: fix a load order problem with type(:component)</title>
<updated>2011-04-07T21:06:18+00:00</updated>
<author>
<name>Jesse Wolfe</name>
<email>jes5199@gmail.com</email>
</author>
<published>2011-04-07T21:06:18+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=6be1eb89750593c63668827fcc6230747a03a3c0'/>
<id>6be1eb89750593c63668827fcc6230747a03a3c0</id>
<content type='text'>
Puppet's autoloader has an incompatibility with ruby's native 'require'
statement that makes it possible to reach the same code multiple times,
which can cause genclass to create multiple classes with the same name.
This patch fixes the uses of some puppet types so that they are loaded
using the autoloader instead of using 'require'.

Paired-With: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Puppet's autoloader has an incompatibility with ruby's native 'require'
statement that makes it possible to reach the same code multiple times,
which can cause genclass to create multiple classes with the same name.
This patch fixes the uses of some puppet types so that they are loaded
using the autoloader instead of using 'require'.

Paired-With: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>(5200) -- replace containers with sentinals</title>
<updated>2011-04-06T23:26:57+00:00</updated>
<author>
<name>Markus Roberts</name>
<email>Markus@reality.com</email>
</author>
<published>2011-04-04T19:13:53+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=2a6c6cb8fabf82d2f2127c90db670c1a856427c5'/>
<id>2a6c6cb8fabf82d2f2127c90db670c1a856427c5</id>
<content type='text'>
This commit removes the last remaining use of topsort (in SimpleGraph#splice!) by
fixing #5200 in a way that is compatible with graph fontiers.  Instead of replacing
containers with many-to-many relationships, we now replace them with a pair of
sentinals (whits) that bracket them.

Thus a graph consisting of two containers, each containing ten resources, and a
dependency between the containers, which would have gone from 21 edges to 100
edges will instead have only 43, and a graph consisting of two containers (e.g.
stages) each containing a similar graph, which would have gone from 45 edges to
400 will only go to 95.

This change had minor consequences on many parts of the system and required lots
of small changes for consistancy, but the core of it is in Catelog#splice! (which
replaces SimpleGraph#splice!) and Transaction#eval_generate.  Everything else is
just adjustments to the fact that some one-step edges are now two-step edges and
tests, event propagation, etc. need to reflect that.

Paired-with: Jesse Wolfe
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit removes the last remaining use of topsort (in SimpleGraph#splice!) by
fixing #5200 in a way that is compatible with graph fontiers.  Instead of replacing
containers with many-to-many relationships, we now replace them with a pair of
sentinals (whits) that bracket them.

Thus a graph consisting of two containers, each containing ten resources, and a
dependency between the containers, which would have gone from 21 edges to 100
edges will instead have only 43, and a graph consisting of two containers (e.g.
stages) each containing a similar graph, which would have gone from 45 edges to
400 will only go to 95.

This change had minor consequences on many parts of the system and required lots
of small changes for consistancy, but the core of it is in Catelog#splice! (which
replaces SimpleGraph#splice!) and Transaction#eval_generate.  Everything else is
just adjustments to the fact that some one-step edges are now two-step edges and
tests, event propagation, etc. need to reflect that.

Paired-with: Jesse Wolfe
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #4339 - Save a last run report summary to $statedir/last_run_summary.yaml</title>
<updated>2011-04-05T22:26:57+00:00</updated>
<author>
<name>Brice Figureau</name>
<email>brice-puppet@daysofwonder.com</email>
</author>
<published>2010-11-12T12:39:41+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=306aa3032a3770c0d668907ae08042be88ec725e'/>
<id>306aa3032a3770c0d668907ae08042be88ec725e</id>
<content type='text'>
Once a configuration run is done, puppetd will save on the node a
yaml summary report roughly akin to:

---
  time:
    notify: 0.001025
    last_run: 1289561427
    schedule: 0.00071
    config_retrieval: 0.039518
    filebucket: 0.000126
  resources:
    changed: 1
    total: 8
    out_of_sync: 1
  events:
    total: 1
    success: 1
  changes:
    total: 1

This is almost an hash version of the current --summarize output, with
the notable exception that the time section includes the last run unix
timestamp.

The whole idea is to be able to monitor locally if a puppetd does its job.
For instance this could be used in a nagios check or to send an SNMP trap.
The last_run information might help detect staleness, and this summary
can also be used for performance monitoring (ie time section).
The resource section can also show the number of failed resources.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Once a configuration run is done, puppetd will save on the node a
yaml summary report roughly akin to:

---
  time:
    notify: 0.001025
    last_run: 1289561427
    schedule: 0.00071
    config_retrieval: 0.039518
    filebucket: 0.000126
  resources:
    changed: 1
    total: 8
    out_of_sync: 1
  events:
    total: 1
    success: 1
  changes:
    total: 1

This is almost an hash version of the current --summarize output, with
the notable exception that the time section includes the last run unix
timestamp.

The whole idea is to be able to monitor locally if a puppetd does its job.
For instance this could be used in a nagios check or to send an SNMP trap.
The last_run information might help detect staleness, and this summary
can also be used for performance monitoring (ie time section).
The resource section can also show the number of failed resources.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
