summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'paul/ticket/next/4657' into nextJesse Wolfe2010-10-055-40/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | This patch conflicts with a backport of itself. This merge resolution favors the original patch for the code changes, and the 2.6.2 patch for the specs. Manually Resolved Conflicts: lib/puppet/dsl/resource_type_api.rb lib/puppet/parser/ast/definition.rb lib/puppet/parser/parser_support.rb spec/integration/parser/ruby_manifest_spec.rb spec/unit/dsl/resource_type_api_spec.rb
| * [#4657] Customer-supplied .rb files are not compatible with multiple ↵Paul Berry2010-09-026-40/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | environments or staleness check Changed the resource type API to create AST objects rather than directly instantiating resource types. This allows the same code paths to be used to handle the results of parsing both .pp and .rb files. This makes .rb files work properly in multiple environments, because the types are now instantiated by code that is aware of which environment the compilation is happening in. It also reduces the risk of future changes breaking .rb file support. Also, switched to using "instance_eval" rather than "require" to evaluate the contents of the .rb file. This ensures that if the file has to be recompiled (because it became stale), it will actually get re-evaluated. As a side benefit, ResourceTypeAPI is now a class rather than a mixin to Object, so its methods do not pollute the global namespace. To reduce the risk of customers coming to rely on implementation details of the resource type API, changed its methods to return nil, and removed methods from it that were misleadingly labeled as "private".
* | Merge commit '2.6.2rc1' into nextJesse Wolfe2010-10-0416-51/+160
|\ \
| * | Incremented version to 2.6.2James Turnbull2010-10-011-1/+1
| | |
| * | Fixed documentation typoJames Turnbull2010-10-011-1/+1
| | |
| * | Fix for #4896 -- stray newline left over from removed diagnosticMarkus Roberts2010-09-301-1/+0
| | | | | | | | | | | | | | | A newline that was part of a diagnostic was left in, and this caused problems with the serialization of strings in "preserve newlines" mode.
| * | Fixes #4792 (Duplicate definition since 2.6.1 upgrade)Paul Berry2010-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The evaluate_definitions method was first figuring out which resources needed to be evaluated (using unevaluated_resources), and then evaluating them one by one. As a result, if evaluating one resource triggered another resource to be evaluated, the latter resource could get evaluated twice. This bug could occur, for example, if both resources were classes that were included into the node by an external node classifier, and if the first of the two classes included the second. Modified Resource#evaluate to be idempotent. Also added an integration test to verify the fix.
| * | Adds #3046 - support for password min/max ageNick Lewis2010-09-296-13/+98
| | | | | | | | | | | | | | | | | | | | | This adds a new feature to user providers "manages_password_age", along with properties password_min_age and password_max_age to the user type. These represent password min and max age in days. The useradd and user_role_add providers now support these new properties.
| * | [#4783] (#4783) Fix RRDGraph report generationMatt Robinson2010-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The code made assumptions about report structure that weren't valid for 2.6.x. The change has been verified to work with 0.25.x and 2.6.x report formats. Paired with: Rein Henrichs
| * | Add user account expiry to the useradd type and providerDean Wilson2010-09-292-1/+25
| | |
| * | Fixed #4025 (failure in launchd if certain plists are binary).Paul Berry2010-09-291-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modified the launchd provider to use OSX's "plutil" command to read plists. This allows it to handle properly lists in both XML format and binary format. Launchd continues to write out propertly lists in XML format. This is not a problem because the operating system is able to understand both formats.
| * | Fix for #4649 -- avoid unsupported features on non-posix systemsMarkus Roberts2010-09-281-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | MS Windows is apparently only "posix curious;" many of the usual fcntl flags are not defined when running under MS Windows. It also appears that we are only using a small subset of the vendored event-loop library and could replace it with a handful of (portable) extracted methods. This, however, would be too agressive of a refactor for 2.6.2 and so this commit simply avoids referring to the unsupported flag values in environments where they are not defined.
| * | Fix for 4273 -- revert b7e2580ab49ecdb67fc9b522829c005fc3750fbeMarkus Roberts2010-09-281-12/+0
| | | | | | | | | | | | | | | | | | The debugging information added in commit b7e2580ab49ecdb67fc9b522829c005fc3750fbe was not thread safe and, as it turns out, not as useful as had been hoped. This commit reverts it.
| * | Fix for #4804 -- escaped backslashes in interpolated stringsMarkus Roberts2010-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Part of the ongoing refinement / cleanup of the string interpolation semantics. When scanning for an unescaped string terminator we now also allow an 0 or more pairs of backslashes (that is, escaped backslashes) before the terminator. Thanks to Jacob for the test I should have added.
| * | Fixes #4863 (Missing "require 'webrick'" causes nondeterministic spec failures)Paul Berry2010-09-281-0/+1
| | | | | | | | | | | | Added a missing require to webrick/rest.rb.
* | | Partial merge to 2.6.2rc1 : Merge commit '574812e' into nextJesse Wolfe2010-10-042-11/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | The API for AST objects has changed, making the initialization of this spec somewhat more complicated. Also, git seems to have been confused by whitespace changes. Manually Resolved Conflicts: lib/puppet/parser/ast/resource.rb
| * | (#4860) Add regression tests that would have caught bad params methodMatt Robinson2010-09-281-5/+1
| | | | | | | | | | | | | | | This is another case where our test objects were overly mocked so they didn't alert us to problems with our implementation.
| * | (#4860) Fix wrong method name.. params seems to be renamed to parametersSimon Effenberg2010-09-281-1/+1
| | |
* | | Partial merge to 2.6.2rc1 : Merge commits 'd057b90' and '6dd1930' into nextJesse Wolfe2010-10-043-14/+47
|\ \ \ | | | | | | | | | | | | | | | | This commit merges in d057b90 with the addition of commit 6dd1930 to fix some tests that are confined to machines where rrd is installed.
| * | | Fix test failures that fixing #4726 exposed.Jesse Wolfe2010-10-041-4/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The patch for #4726 causes old unit tests of the rrd reporting infrastructure to run on my machine. These tests were calling the old report api, which does not succeed. Also, the rrd settings had unintentionally been moved out of the :metrics section, making it possible that the rrd report directory would fail to get created during testing.
| * | Fix #4726 Update puppet rrdtool metric code to support modern rrd ruby bindingsJesse Wolfe2010-09-282-10/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | The rrd project has been shipping ruby bindings since 1.3.0, and the old rrdtool ruby library is no longer being maintained. This patch is based upon Davor Ocelic's submitted code, with the addition that I've added conditionals so it can still call the old rrdtool library if a modern rrd is not installed.
* | | Partial merge to 2.6.2rc1 : Merge commit '66cf3a9' into nextJesse Wolfe2010-10-0410-39/+47
|\| | | | | | | | | | | There are test failures in commits following this one.
| * | Fix #4226 - Prepend 'Puppet CA: ' to fqdn for default root ca_nameJacob Helwig2010-09-283-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | Having a root ca_name that matches the fqdn of the puppet master would cause certificate lookup problems on some clients, resulting in failed SSL negotiation. Signed-off-by: Jacob Helwig <jacob@puppetlabs.com>
| * | Fixes #4852 - error messages involving Whits now mention Classes insteadNick Lewis2010-09-282-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Whits are inserted into the dependency graph in the place where an empty class is being required. Unfortunately, when such a class is involved in a loop, the error message shows the cycle as involving Whit[Classname]. This patch changes it to say Class[Classname], which is much easier to understand. It also fixes puppetdoc from generating documentation on the Whit type.
| * | Fix #4267 - Create a backup before dropping permissionsJesse Wolfe2010-09-281-0/+7
| | | | | | | | | | | | | | | This change just forces a file to be written to the filebucket before we drop the permissions necessary to do so.
| * | (#4763) Don't call a method that was removed in Rails 3 activerecordMatt Robinson2010-09-223-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling this method caused storeconfigs not to run. ActiveRecord::Base.allow_concurrency was deprecated in Rails 2.2. We support activerecord 2.1 and higher, so we still need to call this method for 2.1. I factored out the code that determines our activerecord version to a method in util so that the code was easier to read and test.
| * | Fixed #4763 - Hardcoded ActiveRecord versionJames Turnbull2010-09-222-2/+2
| | |
| * | Fixes #4822 -- Puppet doc -o option brokenPaul Berry2010-09-221-21/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The global "-o" option ("--onetime") was overriding the application-specific option "-o" because global options were being sent to the OptionParser after application-specific options. Modified the order in which options are sent to the OptionParser to have the correct behavior. Also merged together the two methods that were applying options so that the order is more explicit.
* | | Partial merge to 2.6.2rc1 : Merge commit '99c1019' into nextJesse Wolfe2010-10-041-9/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This conflict was a little too complicated for diff to figure out, but the resolution is actually fairly mechanical. Some unit tests changed because they were mocking unnecessarily. Manually Resolved Conflicts: lib/puppet/util/rdoc/parser.rb spec/unit/util/rdoc/parser_spec.rb
| * | [#4798] Puppet doc manifests documentation mode brokenPaul Berry2010-09-221-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running puppet doc, if the directory containing the user's specified manifest file overlaps with the modules directory (i.e. they are the same directory or one contains the other), Puppet doc would try to parse the overlapping files twice, triggering an exception which made the documentation run fail. Fixed the bug by adding a check to the RDoc::Parser#scan method to prevent re-parsing of files that have already been parsed. Also added a spec test to verify that this works.
* | | Partial merge to 2.6.2rc1 : Merge commit '8cd1540' into nextJesse Wolfe2010-10-024-5/+6
|\| | | | | | | | | | | There are merge conflicts with commits following this one.
| * | [#4692] undefined variables cause :undef to be passed to functionsPaul Berry2010-09-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The :undef symbol, which we use internally to distinguish between undefined variables and variables whose value is the empty string, is being leaked in calls to functions (e.g. "split"). This is a departure from 0.25.x behavior, where undefined variables evaluated to "". This patch restores the 0.25.x behavior.
| * | [#4787] Missing require causing failureJesse Wolfe2010-09-221-0/+1
| | | | | | | | | | | | This code was using a constant that might not always be loaded.
| * | Fix for #4746 -- Newline goes at the _end_ of the lineMarkus Roberts2010-09-221-1/+1
| | | | | | | | | | | | Fredrik Eriksson's suggested change, from the ticket.
| * | Fix #4743: Allow the audit meta-parameter to accept both 'all', and :allJacob Helwig2010-09-221-3/+3
| | |
* | | Partial merge to 2.6.2rc1 : Merge commit 'f950061' into nextJesse Wolfe2010-10-023-15/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Some specs were in conflict, as they had been recently modified to use the API functionality that f950061 removes. This merge commit simply restores the verson of those specs from f950061. Manually Resolved Conflicts: spec/unit/dsl/resource_type_api_spec.rb
| * | [#4716] ResourceTypeAPI exposes implementation details that are likely to changePaul Berry2010-09-223-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made the following modifications to ResourceTypeAPI: (1) returned nil from “define”, “hostclass”, and “node”. (2) renamed “mk_resource_type” and “munge_type_arguments” to “__mk_resource_type__” and “__munge_type_arguments__” to discourage customers from calling them. (3) Made ResourceTypeAPI a class rather than a module, and changed the parser to evaluate the contents of pure ruby manifests using a instances of this class. (4) Changed ResourceTypeAPI to insert newly instantiated types into Thread.current[:known_resource_types] rather than the default environment's known_resource_types. This effectively backports the fix for issue #4657 to 2.6.x. Also backported the new spec tests from #4657.
* | | Partial merge to 2.6.2rc1 : Merge commit '8ff4b9a' into nextJesse Wolfe2010-10-021-1/+1
|\| | | | | | | | | | | There are merge conflicts with commits following this one.
| * | Fixed #4819 - corrected cron documentationJames Turnbull2010-09-231-1/+1
| | |
* | | Partial merge to 2.6.2rc1 : Merge commit '2b50f30' into nextJesse Wolfe2010-10-022-59/+59
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2b50f30 simplified and fixed bugs in code that had already been modified extensively by 4da88fb and 6b1dd81. This merge resolution commit is a manual replay of the changes from 2b50f30 onto next. Manually Resolved Conflicts: lib/puppet/parser/type_loader.rb spec/unit/parser/type_loader_spec.rb
| * | [#4771] Import of manifests with the same name only happens oncePaul Berry2010-09-232-49/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function import_if_possible, which was supposed to be responsible for making sure that no two threads tried to import the same file at the same time, was not making this decision based on the full pathname of the file, since it was being invoked before pathnames were resolved. As a result, if we attempted to import two distinct files with the same name at the same time (either in two threads or in a single thread due to recursion), one of the files would not always get imported. Fixed this problem by moving the thread-safety logic to happen after filenames are resolved to absolute paths. This made it possible to simplify the thread-safety logic significantly.
* | | Partial merge to 2.6.2rc1 : Merge commit '7b8cb74' into nextJesse Wolfe2010-10-029-38/+41
|\| | | | | | | | | | | There are merge conflicts with commits following this one.
| * | Fix for #4708 - tagmail should allow . in tagnameDan Bode2010-09-231-1/+1
| | | | | | | | | | | | changed the regex so that tagmail allows . in tagname.
| * | Minimal fix for #4631 -- set implicit classes as in 0.25.xMarkus Roberts2010-09-231-0/+7
| | | | | | | | | | | | | | | | | | | | | This is a minimal fix for #4631 by reversing one part of the refactor for #1903 commit 0d4fd60c7c143cc1f4e4b0f99f359c09cbfbf21e. It fixes the immediate issue (implicit classes not being added to resources) but leaves open several other questions which are defered to #4687.
| * | Fixed #3707 - rpm, like dpkg-query exits 1 if the package is not installed. ↵James Turnbull2010-09-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returning nil in this provider had the effect that on every run, puppet would end up calling yum erase . Returning the correct data structure resolves this. Thanks to Stephen Gran for the patch
| * | Fixed Puppet Doc TOC generationJames Turnbull2010-09-161-2/+2
| | |
| * | Fixed versioncmp function typoJames Turnbull2010-09-161-1/+1
| | |
| * | Documentation updates for Markdown conversionJames Turnbull2010-09-146-34/+29
| | |
* | | Merge commit '2.6.1' into nextJesse Wolfe2010-09-133-10/+23
|\| |
| * | [#4756] addendum for #4756Jesse Wolfe2010-09-141-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes spec and unit tests indirectly related to the previous patch-revert. One failure was from trying to test the User Type's roles, when, on many platforms, the roles feature wasn't supported by the default Provider. Other tests could fail on some platforms because they assumed that unsupported attributes would be ignored with a warning, but the code was crashing instead.