summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2012-02-09implement #11017 - make file_line type ensurablePeter Meier
* Implement a simple destroy method. * Add tests for it * Refactor code, so file is actually read only once. However, due to the nature how provider tests are run, we need to ensure that the file is read before we open it to write it.
2012-02-07Merge branch '2.2.x'Ken Barber
* 2.2.x: (#12377) Avoid infinite loop when retrying require json
2012-02-07Merge branch '2.1.x' into 2.2.xKen Barber
* 2.1.x: (#12377) Avoid infinite loop when retrying require json
2012-02-06(#12377) Avoid infinite loop when retrying require jsonJeff McCune
Without this patch an infinite loop will be entered if the json and rubygems libraries are not available. This patch fixes the problem by retrying the `require 'json'` only if rubygems was successfully loaded for the first time. Subsequent attempts to load rubygems will cause the LoadError exception from a missing json library to be re-raised. Thanks to Krzysztof Wilczynski for pointing out this issue.
2012-02-03Update the documentation comment Richard Clamp
This is causing a little confusion, so make the comment match the behaviour.
2012-01-11Merge branch '2.2.x'Jeff McCune
* 2.2.x: Check according to rfc1035 Add additional domain name tests (maint) Memoize scope in domain_name spec
2012-01-11Check according to rfc1035Stig Sandbeck Mathisen
Update doc string to match function
2012-01-09New str2saltedsha512 function for OS X PasswordsGary Larizza
OS X 10.7 introduced salted-SHA512 password hashes as opposed to the older LANMAN + SHA1 hashes. To assist in generating properly-formatted password hashes, this commit adds the str2saltedsha512() function which accepts a single string argument (the password) and returns a salted-SHA512 password hash which can be fed as the password attribute of a user resource in OS X 10.7. Spec tests are also added to ensure that functionality isn't broken with future commits.
2011-12-30Merge branch 'v2.1.x' into v2.2.xJeff McCune
* v2.1.x: (maint) Add semantic versioning info to README Docs: Clarify the use case for the anchor type Docs: Remove author emails from stdlib functions Docs: Copyedit function doc strings Docs: Correct indentation of markdown code examples Docs: Update documentation of stdlib classes Docs: Update file_line documentation Docs: Improve example in merge function
2011-12-30Merge branch 'v2.x'Jeff McCune
* v2.x: Docs: Clarify the use case for the anchor type Docs: Remove author emails from stdlib functions Docs: Copyedit function doc strings Docs: Correct indentation of markdown code examples Docs: Update documentation of stdlib classes Docs: Update file_line documentation Docs: Improve example in merge function
2011-11-14(#10802) add new function get_module_pathDan Bode
This commit adds a new function called get_module_path. get_module_path returns the absolute path of a specified module. The code and functionality is very similar to how templates and files are detected inside of modules. the function has been tested against puppet 2.6.10 and 2.7.x
2011-10-25(#10285) Refactor json to use pson instead.Nan Liu
Remove json requirement since puppet already provides pson which is equivalent.
2011-10-10(#10007) Revert "Merge pull request #13 from ↵Jeff McCune
kbarber/issue/master/8925-user_ssl_certs" This reverts commit 14852e0259e1e43371dbcb2675e00c6d6e614f05, reversing changes made to a95dccd464b55945feb8bcf7483f777c25164115. This is to fix the broken build (failing tests) as per #8925 and #10007
2011-10-04Merge pull request #13 from kbarber/issue/master/8925-user_ssl_certsJames Turnbull
(#8925) Added new function called 'get_certificate' for retrieving
2011-10-03(#9859) Add root_home fact and testsJeff McCune
Without this patch applied, the stdlib module does not provide a root_home fact. This fact is necessary to easily determine the root account home directory on platforms Puppet is supported on. The major variations this fact address are: --- solaris: / linux: /root macosx: /var/root Spec tests using rspec have been provided as well to cover these three general cases. Windows tests are marked as pending.
2011-08-18Docs: Clarify the use case for the anchor typenfagerlund
This commit tweaks the docs for the anchor resource type to give more context for its existence.
2011-08-18Docs: Remove author emails from stdlib functionsnfagerlund
Author email addresses were included in the doc strings for some (but not all) stdlib functions. This commit removes them in the interest of consistency.
2011-08-18Docs: Copyedit function doc stringsnfagerlund
This commit makes several minor consistency and wording edits to the doc strings of the stdlib functions.
2011-08-18Docs: Correct indentation of markdown code examplesnfagerlund
Code examples in several function doc strings were only indented by two spaces, which would not result in proper display when rendered as HTML. This commit corrects the indentation to four spaces.
2011-08-18Docs: Update file_line documentationJeff McCune
This commit clarifies the behavior of the file_line resource type.
2011-08-18Docs: Improve example in merge functionJeff McCune
This commit replaces the example in the merge function with a much clearer one. It also mentions that the rightmost value wins in the event of duplicated hash keys.
2011-08-18Merge branch 'ticket/v2.x/9080_match_facts.d_to_facter2dot0'Jeff McCune
* ticket/v2.x/9080_match_facts.d_to_facter2dot0: (#9080) Make facts.d match Facter 2.0
2011-08-18(#9080) Make facts.d match Facter 2.0Jeff McCune
Based on feedback from Luke, the facts.d directory should at least match the directory that will be used by Facter 2.0. Reading #2157 I believe the Facter 2.0 facts.d feature is reasonably API compatible with this custom fact from R.I. so I'm comfortable using the same filesystem path. Change in behavior: Now look for facts in: * /etc/facter/facts.d * /etc/puppetlabs/facter/facts.d
2011-08-17Merge branch 'v2.x'Jeff McCune
* v2.x: Update CHANGELOG, Modulefile and README for 2.1.0 (#9080) Add facts from /etc/puppetlabs/facts.d
2011-08-17(#9080) Add facts from /etc/puppetlabs/facts.dJeff McCune
This fact is a direct copy of R.I.'s work at https://github.com/ripienaar/facter-facts This is necessary plumbing to allow the installer to write a simple text file based on the role the node is receiving. For example: $ cat /etc/puppetlabs/facts.d/puppet_enterprise_mcollective.txt fact_stomp_port=61613 fact_stomp_server=puppetmaster fact_is_puppetagent=true fact_is_puppetmaster=true The mcollectivepe module relies on these facts being set and we need a persistent place to write them during the interview process and later read them when puppet agent runs to configure MCollective on the agent systems. Since stdlib is a public module, both /etc/facts.d and /etc/puppetlabs/facts.d are scanned for static facts.
2011-08-17(#8925) Added new function called 'get_certificate' for retrievingKen Barber
certificates from a CA (or locally). This function works by either obtaining the file locally or remotely based on Puppets configuration. Also added get_pubkey which wraps get_certificate and extracts the public key.
2011-08-08Merge branch 'issue/master/8797_puppetlabs-functions_merge'Jeff McCune
Closes pull request #12 Reviewed-by: Jeff McCune Verified all spec tests pass using rspec **/*_spec.rb * issue/master/8797_puppetlabs-functions_merge: (164 commits) * Moved kwalify to puppetlabs-kwalify project * Re-arranged tests in line with puppetlabs-stdlib Prep for stdlib merge * Renamed load_yaml & load_json to parseyaml & parsejson * Renamed is_valid_* functions and remove the 'valid_' Fix some ruby 1.9.2 issues. (#3) Provide documentation for remaining functions. (#3) Apply missing documentation to more functions. Remove rand. Some improvements to values_at tests. (#1) provide some more detailed tests for a number of functions. Removed date stub since this functinality is available in strftime anyway. (#2) fix is_string finally so it also makes sure numbers return false. (#2) unstub is_valid_domain_name Added doc strings for first five functions Removed join_with_prefix. (#2) unstub is_valid_mac_address. Allow sort for strings. Count functionality overlaps with size - so removing it. Removed crontab functions instead of unstubbing them. Removed load_variables. load_yaml is sufficient to solve this problem on its own. Remove is_valid_netmask instead of unstubbing. Doesn't seem like a sensible function on its own. (#2) unstub is_numeric function. ...
2011-08-05(#8797) Merge puppetlabs-functions into puppetlabs-stdlibKen Barber
It was decided that maintaining puppetlabs-functions and puppetlabs-stdlib was duplication as both are trying to achieve the same goal. This patch provides a merge of the puppetlabs-functions into the puppetlabs-stdlib repository, with history preservation. The following conflicts were found and resolved: * LICENSE file from functions was used as it aligns with ASL usage instructions and contains relevant copyright information: http://www.apache.org/licenses/LICENSE-2.0.html * Used spec_helper.rb from functions - this is what Puppet core uses and doesn't break tests. * Merged .gitignore and spec.opts options.
2011-08-05* Moved kwalify to puppetlabs-kwalify projectKen Barber
* Re-arranged tests in line with puppetlabs-stdlib
2011-08-05Prep for stdlib mergeKen Barber
* Renamed load_yaml & load_json to parseyaml & parsejson * Renamed is_valid_* functions and remove the 'valid_'
2011-08-04(#8792) Rename whole_line type to file_lineJeff McCune
Without this patch the resource whole_line would be included in the stable stdlib module shipping in PE 1.2. Ideally the name will be stable and unchanging in the future. There was quite a bit of concern over whole_line being an unwise name. file_line appears to be the most suitable name and least likely to need another rename in the future.
2011-08-04Merge branch 'refactor/master/8665_whole_line'Jeff McCune
* refactor/master/8665_whole_line: (#8665) Change type from append_line to whole_line
2011-08-04(#8678) Add validate_array and validate_string functionsJeff McCune
The accounts module is making use of validate_array() and validate_string() which do not exist int he stdlib module without this patch. This patch adds the two functions to the stdlib with unit tests. Reviewed-by: Dan Bode
2011-08-01(#8717) Make merge() function work with Ruby 1.8.5Jeff McCune
The previous behavior of the merge() function used Array#inject with two arguments. Ruby 1.8.5 only supports inject being used with one argument. This change initializes and empty Hash object and merges each argument into the accumulator. The last argument still "wins" in the merge. rspec tests (cd spec; rspec **/*_spec.rb) verified as passing with this change. Reviewed-by: Dan Bode
2011-07-30Fix some ruby 1.9.2 issues.Ken Barber
2011-07-29(#8709) Add hash merging functionDan Bode
In Puppet, it is not possible to reassign hash values. This function allows a reasonable way to perform hash munging in Puppet. Reviewed-by: Jeff McCune
2011-07-29(#8708) Add has_key functionDan Bode
It is difficult to use existance of keys in a hash as a boolean condition in Puppet (see #8705) This function provides a working solution until the underlying issue in Puppet can be resolved. Reviewed-by: Jeff McCune
2011-07-29(#3) Provide documentation for remaining functions.Ken Barber
2011-07-29(#3) Apply missing documentation to more functions.Ken Barber
2011-07-29Remove rand.Ken Barber
2011-07-29Removed date stub since this functinality is available in strftime anyway.Ken Barber
2011-07-29(#2) fix is_string finally so it also makes sure numbers return false.Ken Barber
2011-07-29(#2) unstub is_valid_domain_nameKen Barber
2011-07-30Added doc strings for first five functionsJames Turnbull
2011-07-29Removed join_with_prefix.Ken Barber
2011-07-29(#2) unstub is_valid_mac_address.Ken Barber
2011-07-29Allow sort for strings.Ken Barber
2011-07-28Count functionality overlaps with size - so removing it.Ken Barber
2011-07-28Removed crontab functions instead of unstubbing them.Ken Barber
2011-07-28Removed load_variables. load_yaml is sufficient to solve this problem on its ↵Ken Barber
own.