summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-05-07(maint) Indent facter_dot_d with 2 spacesJeff McCune
Whitespace only re-flow of facter_dot_d.rb
2013-05-07(#20582) Restore facter_dot_d to stdlib for PE usersJeff McCune
Without this patch Puppet Enterprise users who install the most recent version of stdlib lose the ability to resolve certain facts critical to the operation of Puppet Enterprise. These facts are defined externally in the file `/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt`. As an example, Puppet Enterprise catalogs fail to compile if the `fact_stomp_server`, and `fact_stomp_port` facts are not defined. `facter_dot_d` was removed from stdlib version 4 because Facter version 1.7 now supports external facts defined in `/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt`. Puppet Enterprise does not yet include Facter 1.7, however. The most recent PE release, 2.8.1, includes Facter 1.6.17. With this version of Facter, users who replace the version of stdlib that ships with PE with the most recent version from the Forge will lose the ability to resolve facts from `/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt`. This patch addresses the problem by detecting if Facter version < 1.7 is loaded. If so, then the facter_dot_d.rb facts will be defined using the stdlib custom fact. If Facter >= 1.7 is being used then stdlib will not define external facts.
2013-05-07Revert "Revert "Revert "Merge branch ↵Jeff McCune
'hkenney-ticket/master/2157_remove_facts_dot_d'""" This reverts commit 8fc00ea5b6b39b220ebc6391489915dbeeb364ab. We're restoring facts_dot_d support to stdlib because users are pulling in the latest version of stdlib while on Puppet Enterprise which breaks the operation of PE itself when the fact_stomp_server and fact_stomp_port facts are not defined. They are not defined in PE because PE runs with Facter 1.6.17 and Puppet 2.7.21
2013-05-07(maint) Update Gemfile with GEM_FACTER_VERSIONJeff McCune
Without this patch we cannot explicitly set the version of Facter to integrate using Bundler. This patch addresses the problem by adding a new environment variable, GEM_FACTER_VERSION which allows bundler to install a specific version of Facter. GEM_FACTER_VERSION is the variable name instead of FACTER_GEM_VERSION to prevent the gem_version fact from being defined. In addition, GEM_PUPPET_VERSION is defined based on PUPPET_GEM_VERSION in order to match the environment names and provide backwards compatibility with CI jobs.
2013-05-06Merge pull request #152 from ↵Adrien Thebo
AlexCline/feature/master/allow_arrays_in_ensure_resource (#20548) Allow an array of resource titles to be passed into the ensure_...
2013-05-06Terser method of string to array conversion courtesy of ethooz.Alex Cline
2013-05-06Refactor ensure_resource expectationsAlex Cline
This splits out the ensure_resource expectations into separate blocks for clarity. Per adrienthebo's recommendation.
2013-05-06Changed str-to-array conversion and removed abbreviation.Alex Cline
2013-05-03(#20548) Allow an array of resource titles to be passed into the ↵Alex Cline
ensure_resource function This patch allows an array of resource titles to be passed into the ensure_resource function. Each item in the array will be checked for existence and will be created if it doesn't already exist.
2013-05-02Merge pull request #150 from raphink/dev/dirname_functionAdrien Thebo
Add a dirname function
2013-05-02Add a dirname functionRaphaël Pinson
2013-04-29Merge branch 'msmithgu-small-typo-fix'Jeff McCune
* msmithgu-small-typo-fix: (maint) Fix a small typo in hash() description closes #148
2013-04-29(maint) Fix a small typo in hash() descriptionMark Smith-Guerrero
2013-04-22check if an argument supposed to be merged is empty toMartin Hellmich
pass over undefs without failing
2013-04-22Merge branch 'master' of git://github.com/puppetlabs/puppetlabs-stdlibMartin Hellmich
2013-04-12Merge branch 'update_gemspec' for 4.0.2Jeff McCune
* update_gemspec: Update gemspec, Modulefile, CHANGELOG for 4.0.2 closes #145 [ci skip]
2013-04-12Update gemspec, Modulefile, CHANGELOG for 4.0.2Jeff McCune
Without this patch the information displayed on rubygems.org does not clearly convey the intent of the Gem format of stdlib from the official puppet module format of stdlib. This is a problem because end users might get confused and start installing stdlib from rubygems.org This patch addresses the problem by making it clear that the gem version of stdlib is not intended for end users, but rather is specifically intended to make it easier for other module authors to depend on stdlib and have that dependency automatically resolved using a Gemfile. [ci skip]
2013-04-12Merge pull request #144 from ghoneycutt/compat_matrixJeff McCune
adds compatibility matrix
2013-04-12adds compatibility matrixGarrett Honeycutt
2013-04-11Merge branch 'philandstuff-master'Jeff McCune
* philandstuff-master: Add behavior example for anchor refresh propagation Make the anchor type propagate refresh events closes #78
2013-04-11Add behavior example for anchor refresh propagationJeff McCune
Without this patch we don't have a spec test to make sure the anchor resource type passes notify events along. This patch addresses the problem by using RSpec Puppet to build a catalog, apply the catalog, then pull a resource out of the transaction and make sure the resource was triggered.
2013-04-11Make the anchor type propagate refresh eventsPhilip Potter
Without this patch the anchor resource does not propogate refresh events, making it difficult to subscribe to a class which has been notified by another resource.
2013-04-11Merge branch ↵Jeff McCune
'cprice-puppet-ticket/master/13695-readme-about-puppetlabs-spec-helper' * cprice-puppet-ticket/master/13695-readme-about-puppetlabs-spec-helper: (#13695) add README about puppetlabs_spec_helper [ci skip] closes #63
2013-04-11(#13695) add README about puppetlabs_spec_helperChris Price
2013-04-11Update gemspec, CHANGELOG, Modulefile for 4.0.1Jeff McCune
2013-04-11Fix README function documentationJeff McCune
Without this patch some core puppet functions leaked into the documentation for the functions contained in stdlib. This patch removes them and cleans up some of the formatting.
2013-04-11Merge branch stdlib 4.0.0 releaseJeff McCune
* v4: Update gemspec for 4.0.0 Update function documentation for 4.0.0 Update Modulefile, README, CHANGELOG for stdlib-4.0.0
2013-04-11Update gemspec for 4.0.0Jeff McCune
2013-04-11Update function documentation for 4.0.0Jeff McCune
Without this patch the function documentation is out of sync with the functions contained in the standard library. This commit updates the functions. I generated the list using this sequence: cd ~/src/puppet git checkout 3.1.1 bundle exec puppet doc -r function > /tmp/puppet_functions.txt cd ~/src/stdlib bundle exec puppet doc -r function > /tmp/stdlib_functions.txt diff -U2 puppet_functions.txt stdlib_functions.txt | grep '^+' | perl -ple 's/^\+//' > functions.txt I then replaced the README function documentation with the contents of functions.txt which contains only the functions contained in stdlib.
2013-04-11Update Modulefile, README, CHANGELOG for stdlib-4.0.0Jeff McCune
2013-04-11Add ability to use puppet from git via bundlerJeff McCune
Without this patch the Gemfile can only satisfy dependencies using officially release gem versions. This is a problem because we want to test stdlib against the latest HEAD of the puppet git repository. This patch addresses the problem by copying over the location_for method from the Puppet Gemfile, which will parse out git://, file:// or Gem version specifications. This, in turn, allows jobs to be configured to run with different dependency integrations.
2013-04-10Merge branch 'dalen-count'Jeff McCune
* dalen-count: (maint) Make stdlib usable as a Ruby GEM (maint) Add the behavior for count() with arrays and hashes Add a count function closes #143
2013-04-10(maint) Make stdlib usable as a Ruby GEMJeff McCune
Without this patch it is inconvenient to use the functions included in stdlib in a development setting. The Puppet modulepath must be explicitly set for the functions to be automatically loaded. This patch addresses the problem by adding a gem specification and dependency Gemfile. This makes it possible to directly use stdlib and all of the components it depends upon, like so: $ bundle install --path .bundle/gems/ $ bundle exec puppet apply -e 'notice count([1, 2, 3])' The first command will install all of the dependencies, including Puppet and Facter, into the local project directory. The second command will make stdlib avaialable as a Gem, which will be picked up by Puppet since (#7788) was merged into Puppet in the 3.0 release.
2013-04-10(maint) Add the behavior for count() with arrays and hashesJeff McCune
Without this patch the expected behavior of the count() function when dealing with an out of bound array index and with a hash key that does not exist is implicitly encoded in the spec examples. This is a problem because the expected behavior is not clear for something similar to the following example: node default { $ary = [ 1, 2, 3 ] $ary_undef = $ary[100] $hsh = { 'one' => 1 } $hsh_undef = $hsh['dne'] $count = count(['hi', $ary_undef, $hsh_undef]) notice "Count is ${count}" } This patch addresses the problem by making the expected behavior explicit in the examples.
2013-04-10Add a count functionErik Dalén
Similar to the ruby count method on arrays.
2013-04-08Merge branch '4.x'Adrien Thebo
2013-04-08Merge branch '3.x' into 4.xAdrien Thebo
2013-04-08Merge branch '2.x' into 3.xAdrien Thebo
This ignores the 2.x .travis.yml when merging up since that version is only applicable to the 2.x branch. Conflicts: .travis.yml
2013-04-08Merge branch '2.x-backport_gemfile' into 2.xAdrien Thebo
2013-04-08(maint) Backport Gemfile and .travis.yml to 2.xAdrien Thebo
This is a partial backport and update of 03c5c4a434c2290c021034dbfed82cb0f97e0e87 to add travis-ci support and a Gemfile to 2.x. Right now we're not testing 2.x in travis-ci and we're experiencing spec failures because we have to install rspec-puppet from git. The best resolution for this is to consistently use a Gemfile for running tests. This commit also rewrites the .travis.yml for 2.x to only test 2.x versions against ruby 1.8.7 and Puppet < 3.0 Conflicts: .travis.yml
2013-04-03Merge branch 'amosshapira-any2array'Jeff McCune
* amosshapira-any2array: Remove resundant code (#19998) fix name of function in a comment (#19998) Implement any2array closes #140
2013-04-03Remove resundant codeAmos Shapira
2013-04-03(#19998) fix name of function in a commentAmos Shapira
2013-04-03(#19998) Implement any2arrayAmos Shapira
This change is to implement a new function "any2array", which will take any argument or arguments and create an array which contains it. If the argument is a single array then it will be returned as-is. If the argument is a single hash then it will be converted into an array. Otherwise (if there are more than one argument, or the only argument is not an array or a hash) the function will return an array containing all the arguments.
2013-04-01Merge pull request #139 from hakamadare/19864_num2bool_match_fixAdrien Thebo
(19864) num2bool match fix
2013-04-01Cleanup per adrianthebo suggestionsSteve Huff
* use Float() to process string arguments * get rid of doubly nested arrays * removing needless ternary operator * improving error message handling
2013-03-29(19864) num2bool match fixSteve Huff
This is a bit more heavy-handed than I might like, but it does appear to do the right things: * accepts numeric input appropriately, truncating floats * matches string input against a regex, then coerces number-looking strings to int * makes a best effort to coerce anything else to a string, then subjects it to the same treatment * raises an error in the event of incorrect number of arguments or non-number-looking strings I've also included some additional unit tests.
2013-03-29Reworked number-handling logicSteve Huff
No more coercing to String and regex matching. Instead, we now coerce to Integer at the beginning or raise an error if we cannot coerce to Integer. A consequence of this change is that the function will now accept blatantly non-numeric strings as input, and return false. This seems a bit goofy to me, but it's how String#to_i works. If we really don't like this, then I'm open to suggestions.
2013-03-29Enable num2bool to accept numeric inputSteve Huff
Also ignore rspec fixtures directory
2013-03-27Merge branch '4.x'Adrien Thebo