Since Puppet 3.0 promises to follow semver, the dependencies should take this into account. This means now that only patch releases of Facter and Hiera will be pulled in for patch releases of 3.0, and the version dependency must be bumped for any minor or major release appropriately. This also fixes a bug in the Hiera dependency due to the segment comparisons in the RubyGems version resolver. Because there was no `.` before the `rc` in the current dependency (`1.0.0rc`) this resulted in the comparator looking at `1.0` and selecting the first version `>=` than it, in this case `1.1.0.rc`. I assume this is unintended and that the target was meant to resolve to Hiera `1.0.0`.
The main loop of parsing the config file has a lot of error handling directly in it. This makes it harder to follow the main flow and less obvious what it is doing. This pulls out some of that checking and removes duplication around creating a new section.
…rom_modulepath_try4 (#7316) Do not set default values for confdir and vardir in the master Conflicts: lib/puppet/settings.rb Merge conflict config file parsing related to a disallowed section replicated in the config_file.rb parser.
(Maint) Split out config file parsing
This adds coverage for, I think, all of the config file structure parsing behavior. Since the value transformations are not currently part of this parsing code, they are not taken into account.
This extracts the config file parsing into its own class so that is can be worked with independently of the rest of the settings system.
The parser for config files used to be tied up with all of the other logic for handling configuration settings. This takes the first step in encapsulating that parsing into a class that is dedicated to just parsing a configuration file.
* 3.x: sample_module.pp refactored text: include sample-module into include sample_module This will fix Refactor #16643. Update lib/puppet/version.rb for 3.0.0
* 3.0.x: sample_module.pp refactored text: include sample-module into include sample_module This will fix Refactor #16643.
* fix/3.0.x/16643_sample_module_rename: sample_module.pp refactored text: include sample-module into include sample_module This will fix Refactor #16643.
The Hyphen ‘–’ in name only unofficially supported in some puppet versions. Fix: sample-module name changed into sample_module which is supported.
Without this patch applied `puppet master` will explicitly set the value for confdir and vardir inside of Puppet::Application::Master#app_defaults. This is a problem because it calls a method that does not exist while trying to do so. This patch fixes the problem by implementing the intended behavior documented in #15337, and specifically in commit 38cba0a. This intended behavior is: 1: If provided, use explicit puppet.conf in `--confdir` 2: If root, use system puppet.conf 3: Otherwise, use ~/.puppet/puppet.conf
Without this patch we don't have any spec test coverage for the app_defaults instance method of the Puppet::Application::Master class. This lack of coverage is problem because cherry picking the confdir and vardir patch from PR-882 in commit b064ee6 appears to work just fine after resolving the merge conflicts. Things were not fine, however, because the app_defaults method makes a call that raises an exception and none of our spec tests caught this issue. The acceptance tests did, however, by exercising the command `puppet master --configprint pidfile`
…_try3' into 3.x"" This reverts commit ef3fe69.
* 3.x: (Maint) Remove rspec from shebang line Update description of HTTP/HTTPS report Updating PUPPETVERSION for 3.0.0-rc8 Update default cows and mocks
(Maint) Remove rspec from shebang line
Without this patch Ruby 1.9 is still complaining loudly about trying to parse the spec files. The previous attempt to clean up this problem in edc3ddf works for Ruby 1.8 but not 1.9. I'd prefer to remove the shebang lines entirely, but doing so will cause encoding errors in Ruby 1.9. This patch strives for a happy middle ground of convincing Ruby it is actually working with Ruby while not confusing it to think it should exec() to rspec. This patch is the result of the following command run against the source tree: find spec -type f -print0 | \ xargs -0 perl -pl -i -e 's,^\#\!\s?/(.*)rspec,\#! /usr/bin/env ruby,'
Update description of HTTP/HTTPS report
The HTTP report handler can now support HTTPS. This commit updates its description accordingly
…mocks Update default cows and mocks
Previously, the default mocks and cows were set to build for both arches. Because puppet is a noarch package, building against i386 mocks and cows is sufficient and reduces overall build time. This also adds cows for debian stable and unstable.
* 3.x: (#16567) Remove :lexical setting default Stub DataBinding in undef param tests Revert "Merge branch 'fix/3.x/7316_load_faces_from_modulepath_try3' into 3.x"
…o 3.x * ticket/3.x/16567-useless-setting-for-lexical-scope: (#16567) Remove :lexical setting default
This default is not used, nor does it appear to have ever been used.
This was causing failures when hiera was not configured properly since we aren't trying to test hiera in these tests.
* upstream/3.x: Revert "Merge branch 'fix/3.x/7316_load_faces_from_modulepath_try3' into 3.x"
…nto 3.x" This reverts commit b277bb3, reversing changes made to bdf1936. These changes are being backed out because they referenced a undefined methods (`default_global_config_dir` and `default_global_var_dir`). After fixing that locally, there was still a problem with `puppet help` printing out a large number of warnings because it could not load face code correctly. I think we need to step back from this, re-evaluate what is happening, and try a new approach.
* 3.x: Extract methods from set_default_parameters and improve test coverage (#16221) Make undef not override default parameters
Refactor the set_default_parameters method in Puppet::Resource to be split into several methods and improve the test coverage around default parameters and undef.
In 2.7.x, passing undef as an argument to a parameterized class will result in the argument using the default value given in the class definition. This was inadvertently changed, so the variable would not be set at all. This change reverts to the 2.7.x behavior.