summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2016-11-29Merge pull request #693 from HelenCampbell/moreErrorDetailDavid Schmitt
(MODULES-3393) Deprecation - Use puppet stacktrace if available
2016-11-27Remove rvalue declaration from v3 deprecation() functionDavid Schmitt
Without this, some uses of this function do not work in puppet3. e.g. if $include_src != undef { deprecation('apt $include_src', "please use \$include => { 'src' => ${include_src} } instead") } causes Function 'deprecation' must be the value of a statement on puppet 3.8.7.
2016-11-24Deprecation - Use puppet stacktrace if availableHelen Campbell
A previous PR (#685) was raised on this issue, however once it was merged it was discovered that Puppet 3 with future parser enabled was calling the Puppet 4 version of the deprecation function. The Puppet stacktrace is not available until Puppet 4.6, so this was breaking existing setups. The solution was to check is the stacktrace was defined, and if it was to use it as part of the message output.
2016-11-21Revert "Call site output for deprecation warnings"Bryan Jen
2016-11-21Call site display for deprecation warningsHelen Campbell
2016-11-10Add puppet_server fact to return agent's serverReid Vandewiele
It is frequently useful to configure an agent to retrieve a resource from it's configured master, or make further configuration adjustments to itself based on what server it's using. Similar to the rationale for stdlib providing a puppet_vardir fact, this commit adds a puppet_server fact. Note that the closest equivalent available today is $settings::server, which returns only the MASTER's configured server, not the AGENT's. This makes $settings::server unreliable, and not useful in a multi-master deployment or a deployment involving a load balancer.
2016-11-10Merge pull request #632 from MiamiOH/masterWilson McCoubrey
Handle array values in join_keys_to_values function
2016-11-08(MODULES-3829) Use .dup to duplicate classes for modification.Simon Beirnaert
This function otherwise fails during `puppet preview` on Puppet 3.8.X systems.
2016-10-12(MODULES-3969) Update getvar to work on ruby 1.8.7David Schmitt
2016-10-12(MODULES-3962) Rework v4 function shims to work on puppet 3.7 and 4.0.0David Schmitt
This is a workaround for PUP-4438 (fixed in https://github.com/puppetlabs/puppet/commit/e01c4dc924cd963ff6630008a5200fc6a2023b08, 4.1.0, 3.8.1). It works by manually passing through the scope, instead of relying on the InternalFunction class.
2016-10-12(MODULES-3961) emit more deprecation warningsDavid Schmitt
This now emits one deprecation warning for each function used (but not for each call-site). Prior to this, only a single deprecation warning would have been triggered, potentially misleading users. Additionally this adds v4 deprecation stubs for the functions that were missed.
2016-10-09Update deprecation() so warnings can be disabled for CIDavid Schmitt
2016-10-08Revert "Addition of logging with file and line numbers"David Schmitt
This reverts commit b63862ff43194194f7428739a32cfe13bad1e7ed, as it would only show the irrelevant first entry of the ruby stack trace. The puppetserver log does contain the full trace information, or you can use --strict=error to cause a hard failure when hitting a deprecation. # Conflicts: # lib/puppet/functions/validate_legacy.rb
2016-10-08Ignore :undefined_variable "reason" in getvarMaksym Melnychok
`catch` returns value of second argument to `throw`, which until 860a2761f334c964068038b3ef6853f08beb1df5 was `nil`, but now is non-falsey reason for error. short-circuit using return and eval to nil if `throw` was caught.
2016-10-07(Maint) add missing validate_slength deprecationDavid Schmitt
2016-10-07(FM-5703, PUP-6717) Remove the dynamic deprecation_genDavid Schmitt
This was not working when the puppet master did not have the newest stdlib version in its environment.
2016-10-06(MODULES-3590) Fix match_for_absence parameterHailee Kenney
Prior to this commit, due to a bug in the exists? method in the file_line provider, match_for_absence didn't work as described (or at all really). Update the exists? logic so that match_for_absence works as described. Additionally add a unit test to prevent regressions and update the documentation for the parameter to reflect the fact that it is ignored when `ensure => present`.
2016-10-04(MODULES-3933) Fix getparam for 'false' valuesDavid Schmitt
This is the idiomatic version of #634, and also addresses the test failures. Original-Fix-By: Michiel Brandenburg <michiel@silverstreet.com>
2016-10-04Permit undef passed as `nil` to validate_stringDominic Cleal
When validate_string is called via the Puppet 4 deprecation wrappers from deprecation_gen (introduced in 970852d), `undef` is passed as `nil` where it was previously passed as `''` from the Puppet 3-style function API. This change explicitly permits a `nil` value in validate_string, and adds a test case to `is_string` which also accepts the same. Fixes test failures in apt, concat etc: Error while evaluating a Function Call, nil is not a string. It looks to be a NilClass at apt/manifests/source.pp:23:3 [..] # ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:34:in `block (2 levels) in <module:Functions>' # ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:32:in `each' # ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:32:in `block in <module:Functions>' # puppet-4.7.0/lib/puppet/parser/functions.rb:174:in `block (2 levels) in newfunction' # puppet-4.7.0/lib/puppet/util/profiler/around_profiler.rb:58:in `profile' # puppet-4.7.0/lib/puppet/util/profiler.rb:51:in `profile' # puppet-4.7.0/lib/puppet/parser/functions.rb:167:in `block in newfunction' # ./spec/fixtures/modules/stdlib/lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb:13:in `block (2 levels) in deprecation_gen'
2016-10-03Addition of Puppet 4 functionsHelen Campbell
2016-09-26Remove duplicate deprecation warningsHelen Campbell
2016-09-26Merge pull request #656 from HelenCampbell/hashFupdateHunter Haugen
Add deprecation warnings to remaining validates
2016-09-26Add deprecation warnings to remaining validatesHelen Campbell
2016-09-21Revert "Ensure validate functions use Puppet 4 deprecation"Helen
2016-09-21Merge pull request #654 from HelenCampbell/puppet4DepDavid Schmitt
Ensure validate functions use Puppet 4 deprecation
2016-09-21Ensure validate functions use Puppet 4 deprecationHelen Campbell
2016-09-15Merge pull request #648 from stbenjam/environmentpath-factHunter Haugen
Add facter fact for puppet_environmentpath
2016-09-15Fix whitespaceHunter Haugen
2016-09-15Merge pull request #644 from dmitryilyin/masterBryan Jen
Refactor dig44 function
2016-09-07(MODULES-3737) validate_legacy: refactoringDavid Schmitt
* validate_legacy now accepts undef values * update the TypeMismatch message to include the original validate function name * only notice, not warn, on newly allowed values * changed previous_validation to function_name to avoid confusion with the function of the same name * use deprecation() instead of warn(), when hitting a deprecated value * prepare the tests and function for MODULES-3735 * rewrite validate_legacy tests to use new rspec-puppet * move validate_re deprecation to puppet4 only * adapt validate_re_spec
2016-09-06Addition of logging with file and line numbersHelen Campbell
2016-09-05Deprecation function to be mutable in all casesHelen Campbell
2016-09-02Add facter fact for puppet_environmentpathStephen Benjamin
2016-08-30Refactor dig44 functionDmitry Ilyin
The current implementation of the dig44 function has the following problems: * Doesn't recognise Puppet4's :undef value as an empty value and doesn't return the default value. * Doesn't make a different between false and nil value and returns the default value for a non-empty false value
2016-08-17Merge pull request #637 from HelenCampbell/ipdeprecationDavid Schmitt
(MODULES-3534) Deprecation of ip functions
2016-08-17Deprecation of ip functionsHelen Campbell
2016-08-15(maint) Switch 3.x deprecation() to use Puppet warning loggerDominic Cleal
The deprecation function was calling the `Kernel#warn` function which prints to stderr, rather than the Puppet logger. This causes problems for Puppet module tests on Travis CI, which has a cap on the amount of stdout/err permitted in its logs and also prevents users from finding the deprecation warnings when running under a Puppet master.
2016-08-11(WIP) Addition of validate legacy functionHelen Campbell
2016-08-08(modules-3532) deprecate string type checkstphoney
2016-08-08Merge pull request #629 from tphoney/MODULES-3533David Schmitt
(modules-3533) deprecation for 3.x number function
2016-08-08(modules-3533) deprecation for 3.x number functiontphoney
2016-08-05Handle array values in join_keys_to_values functionChris Edester
2016-07-27Fix str2bool error messageLoic Antoine-Gombeaud
2016-07-22Added the regexpescape function.Steve Moore
2016-07-19(modules-3407) documenting after can take a regextphoney
2016-07-19(MODULES-2143) document edge behaviour of range.tphoney
2016-07-18Merge pull request #617 from tphoney/add_deprecate_functionDavid Schmitt
(MODULES-3529) add deprecation function
2016-07-18(MODULES-3529)add deprecation functiontphoney
2016-07-13Merge pull request #618 from ntpttr/fix/master/modules-3568David Schmitt
(MODULES-3568) Move dig to dig44 and deprecate dig
2016-07-08(MODULES-3568) Move dig to dig44 and deprecate digNate Potter
A new version of dig was introduced in Puppet 4.5.0 that isn't compatible with the stdlib version of dig. To maintain backwards compatibility and ensure that tests for stdlib aren't broken, this patch renames dig to dig44 and adds a deprecation warning to the stdlib dig function.