| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The output of puppet --genconfig was showing a blank line between the
description of the option and the default value line. This is because
of the here document being used in the first commit.
This change replaces the HERE document with a normal string that does
not contain a final newline.
In addition, the indentation of one of the default options was using 4
spaces instead of 2 and this has been corrected.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change augments the in-line documentation for the node_name_fact and
node_name_value configuration settings. These settings will not work
effectively without additional changes elsewhere in the system, e.g. to
auth.conf.
In order to help the end user land softly if they choose to change these
settings, a short link URL we control and can redirect has been added
to each setting. These currently point to the community Wiki but may be
redirected to docs.puppetlabs.com in the future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, pointing a setting like 'confdir' at a symlink to a directory would
replace the symlink with a directory. This was because files created by
settings implicitly managed links, rather than following them. This behavior is
now changed so that file settings will follow links.
The behavior of these symlinks is the same as any other file resource. That is,
if the target of the symlink doesn't exist, Puppet will consider this an
error. Similarly, if the target of the symlink is a file, then the symlink
will still be replaced with a directory, rather than replacing its target.
Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
Reviewed-By: Dominic Maraglia <dominic@puppetlabs.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the node_name_fact setting, which specifies a fact to use to
determine the node name. This allows dynamically determining the node name
without having to modify puppet.conf or command line options.
Using this setting requires modifying auth.conf to allow nodes to request
catalogs not matching their certnames.
For example, this would allow any authenticated node to retrieve any catalog:
# $confdir/auth.conf
path ~ /catalog/.+
allow *
The node_name_fact and node_name_value options are mutually exclusive, because
it is ambiguous which setting should take precedence.
Paired-With: Jacob Helwig <jacob@puppetlabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Retrieving a catalog and getting the facts to submit with the catalog request
are distinct operations, and should be done separately. This is also to prepare
for adding the ability to determine the node name based on a fact, in which
case the node name needs to be determined before it is used for either the
catalog or the report.
Paired-With: Jacob Helwig <jacob@puppetlabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/|
| | |
'ticket/2.6.x/6885-puppet-agent-fingerprint-requires---verbose-to-return-a-value' into 2.6.x
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Always output the fingerprint to STDOUT, no matter what loglevel is used,
as that's the whole purpose of the comment.
Having to specify --verbose in addition to --fingerprint to get the finger
is nonsensical.
Update the spec test to stub @puppet puts, instead of the
Puppet.logging facilities.
Reviewed-by: Daniel Pittman <daniel@puppetlabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we are asked to compile a catalog we need to update the set of known
resource types, along with the node declaration, from the pool of manifests on
disk. This is, obviously, a per-environment pool of resource types.
To reduce the scope of the race where an update to those manifest files on
disk can be updated during a compilation, we tried to cache the set of known
resources in the current thread at the start of compilation, then flush it
after compile finished and used the cache unconditionally if it was set.
Theoretically, this would assure us that we would parse the set of manifests
once, use them for the entire compile, flush the cache, and then carry on.
Practically, this was enforced as described: flush *after* the compile, assume
this would mean that it was clear at the start of the next compile.
That presumably worked more or less right until a change was made to push
extra data into the catalog at the start of the 2.6 series; that made
serialization of the catalog depend on the pool of known resource types.
When that happened we would reload the cache (and reparse the manifests)
during serialization, but after compilation ... and leave that in the thread
cache, so the precondition for the compiler was no longer true. It would see
the cache as of the end of the previous compile run, not the start of the next
compile run.
This, in turn, was what made Puppet wait for multiple runs of the agent before
showing you a change in your manifests under Passenger, but *not* under
Webrick: Passenger would reuse the same thread for the next request, cache in
place, while Webrick would create a new thread and (by side-effect) "flush"
the cache as the compiler expected.
To minimally fix this, with as little change of side-effect as possible, we
move the cache flush from after compile runs to before compile runs.
This might have minimal memory cost until another compile request runs in the
same thread, because we cache the data longer, but most models won't cause
that to be too much trouble.
Reviewed-By: Matt Robinson <matt@puppetlabs.com>
|
| |
| |
| |
| | |
This patch prevents stdout and stderr from being combined by Puppet::Util.execute, when used by Puppet::Indirector::Exec for external nodes.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was unconditionally removing the trailing file separator ('/'), which is
only valid when the file separator isn't the entire path. This fixes 'puppet
resource file <path>'.
Paired-With: Jacob Helwig
|
| |
| |
| |
| | |
file seems to use if so this should make things more consistant
|
| |
| |
| |
| |
| | |
Facter[:operatingsystem] will not retrieve the operatingsystem as a
string so puppet will always write fstab entries.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The namespaceauth.conf isn't being used since we switched from XMLRPC to
Rest. There's still a lot of cleanup of the code that deals with
authorization from the namespaceauth.conf and XMLRPC in general, but
that can be address later. For now just being able to start puppet
agent in listen mode without a useless file will be a big win. You
still need the auth.conf file though since that is used.
Reviewed-by: Max Martin <max@puppetlabs.com>
|
|\ \ |
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before this change when environment strings were read out of the storeconfigs
database, they were eventually converted up to Puppet::Node::Environment
objects. When these objects are returned to the storeconfigs database,
ActiveRecord dumps them as YAML, which begins the death-spiral of YAML.
This change makes it so the host will always store the environment as a string,
preventing the Puppet::Node::Environment object from being YAMLized, and stored
as such in the database.
This change was based on one by Richard Crowley.
Paired-with: Jacob Helwig <jacob@puppetlabs.com>
Reviewed-by: Jesse Wolfe <jesse@puppetlabs.com>
Signed-off-by: Richard Crowley <r@rcrowley.org>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit removes a case statement in the get_exec_pramble and
single_report methods. In its place is an if statement that will
cause Puppet to fail if its being run on an OS X system with a version
< 10.4. This if-statement will also allow Puppet to run in 10.7.
Signed-off-by: Gary Larizza <ccshots@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we moved code from the compiler to parser/resource, we lost
a conditional that prevented defined resources from gaining containment
edges to stages. Adding a stage to a defined resource was usually
harmless, but it violated the invariant of "resources should only have
exactly one container as their direct parent", producing a 50% chance of
a malformed containment path in log messages.
Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "send" method in the stomp gem has been deprecated since:
http://gitorious.org/stomp/mainline/commit/d542a976028cb4c5badcbb69e3383e746721e44c
It's been replaced with the "publish" method.
Also renamed the send_message method to publish_message more in
keeping with language used in queuing.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
2.6.next
* tickets/2.6.x/4655-parameterized-classes-default-stages:
(#4655) Allow stage to be set using a default class parameter
Updated CHANGELOG for 2.6.8rc1
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For example:
stage{ pre: before => Stage[main] }
class someclass ($stage=pre ) { ... }
class { someclass: }
This transplants adding the edge from the resource to the stage from
the compiler into when the resource is evaluated. This moves adding
the stage edges to after when the defaults are copied into the
resources, making them available.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
* james/tickets/2.6.x/6681:
Fixed #6681 - Remove --force-yes option from aptitude is used
|
| |/ / |
|
|\ \ \ |
|
| | | | |
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
provider
* Employs port -q installed, much faster than port list installed
* Handles upgrades correctly now
* Makes use of internal port revision for ensure => latest upgrades
* Versionable, now works with ensure => specified_version
* Does not handle port variants at all yet.
* Does not allow manual specification of revision, only version
* Test coverage expanded using newer syntax
Paired-With: Daniel Pittman
|
| | | |
| | | |
| | | |
| | | | |
Refactoring the @doc string for clarity.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add explicit reasoning for hasstatus in the documentation with certain
"virtual" services.
Just to clear up why notify => Service["something_virtual"] requires
hasstatus defining for it to function.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We want our Rails models in Puppet to work under Rails 2 or 3, but we
don't want the deprecation warnings since we can't control what version
of Rails the client is running.
DEPRECATION WARNING: Base.named_scope has been deprecated, please use
Base.scope instead
Reviewed-by: Nick Lewis <nick@puppetlabs.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When copying symlinks with 'links => manage', there is no need to
examine the content of the link target, since the link is supposed to be
copied as-is. Skip copying this value to the resource from the metadata
(source), since the content will be nil in the dangling symlink case.
Paired-with: Jacob Helwig
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 2.6.next:
Fix #4339 - Locally save the last report to $lastrunreport
Fix #4339 - Save a last run report summary to $statedir/last_run_summary.yaml
Fixed #3127 - removed legacy debug code
Fixed #3127 - Fixed gem selection regex
(#5437) Invalidate cached TypeCollection when there was an error parsing
(#6937) Adjust formatting of recurse's desc
(#6937) Document the recurse parameter of File type.
(#6893) Document the cron type in the case of specials.
(#5670) Don't trigger refresh from a failed resource
Fixed #6554 - Missing $haveftool if/else conditional in install.rb breaking Ruby 1.9
|
| |\ \ \ |
|
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | | |
Add in a better desc block for "specials" in cron provider, and outline
it's limitations.
The previous text was purely a placeholder.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Using the cache terminus system, when --report is on, we are now
caching the last report as a yaml file in the $lastrunreport file
(which by default is $statedir/last_run_report.yaml).
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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 <brice-puppet@daysofwonder.com>
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* tickets/2.6.x/3127:
Fixed #3127 - removed legacy debug code
|
| | | | | |
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | | |
* tickets/2.6.x/3127:
Fixed #3127 - Fixed gem selection regex
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously if the gem json_pure was installed and you requested the
gem json then the regex matched too soon and falshly indicated that
the json gem was already installed.
Also updated to add the --no-ri and no-rdoc options and fix tests.
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* ticket/2.6.x/5437-report-manifest-errors-on-agent:
(#5437) Invalidate cached TypeCollection when there was an error parsing
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The caching of the TypeCollection in Puppet::Node::Environment would cause
parse errors to occur (and be reported) only once and never again, until
the file had changed on disk. This would also cause empty catalogs to be
sent down to the agents further hiding the problem.
Now, when a file fails to parse, it will be re-parsed every time on every
following compilation, causing the parse error to be reported every time,
and preventing sending down empty catalogs to agents.
Paired-with: Nick Lewis <nick@puppetlabs.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Prevous formatting would result in broken Markdown after the docs were generated,
as Markdown does not recognize a two-space tab as a syntactical element.
This patch also changes the list of values to a bulleted list instead of a code block.
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Update the desc block with information gleaned from #1469 and the code
about recurse => remote and other types of recursion.
The auto generated documentation was sparse and this is an area that often
comes up on the mailing list/IRC.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Resources were triggering their subscribing/notified resources when they
failed, which is incorrect. Now, events are only queued if the resource was
successful.
Paired-With: Max Martin
|
| | | | |
|