summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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.
2011-07-28Remove is_valid_netmask instead of unstubbing. Doesn't seem like a sensible ↵Ken Barber
function on its own.
2011-07-28(#2) unstub is_numeric function.Ken Barber
2011-07-28(#2) - unstubbed is_valid_ip_addressKen Barber
2011-07-28(#2) - Added is_float and is_integer functionality.Ken Barber
2011-07-27(#8665) Change type from append_line to whole_lineDan Bode
Changed the type name from append_line to whole_line. After feedback that having a type with a verb in the name was confusing.
2011-07-26Merge branch 'ticket/master/8585_load_yaml_function'Jeff McCune
* ticket/master/8585_load_yaml_function: (#8575) Add loadyaml() function
2011-07-26(#8575) Add loadyaml() functionJeff McCune
This change adds a loadyaml() puppet function that takes a path to a YAML data file and returns the contents as a Puppet variable. There is currently no validation of the contents of the file. This commit is intentionally lacking unit tests because of time constraints. Reviewed-by: Dan Bode
2011-07-26(#8628) Add append_line native typeDan Bode
This commit adds a native type that can check if a line exists and append it to a file. This use case seems common enough to warrant its inclusion into stdlib. Reviewed-by: Jeff McCune
2011-07-24(#1) - fleshed out some more tests.Ken Barber
2011-07-01Added validate_resource function and examples on how to use it (and kwalify ↵Ken Barber
as well)
2011-06-30Few more tests.Ken Barber
2011-06-29Move require inside function for kwalify.Ken Barber
2011-06-29Add some more functional tests.Ken Barber
2011-06-29Added tests for each function, fixing functions as we hit bugs.Ken Barber
2011-06-29Added kwalify function.Ken Barber
2011-06-26Removed duplicate - is_hash is really now is_hash instead of is_array.Ken Barber
2011-06-21(#8010) Add validate_hash functionJeff McCune
This function validates all passed variables are hashes. This is similar to the validate_bool function and is copied from it.
2011-06-21(#8010) Add getvar() rvalue functionJeff McCune
This isn't directly related to #8010, but rather indirectly fills the need to allow the end user to configure where data values are looked up. This allows the namespace to be passed as a class parameter. A module may then quickly and easily look up data from the user-defined namespace.
2011-06-15(#3) Add an anchor type to provide containmentJeff McCune
With Puppet 2.6.x we do not have a way to specify containment relationships. In the use case of class ntp { } declaring ntp::{package,config,service} classes, the ntp class itself should allow the user to specify before and require relationships to the main ntp class. The anchor resource type allows module authors to close the loop on classes composing the main top level module. For example: class ntp { class { 'ntp::package': } -> class { 'ntp::config': } -> class { 'ntp::service': } # These two resources "anchor" the composed classes # such that the end user may use "require" and "before" # relationships with Class['ntp'] anchor { 'ntp::begin': } -> class { 'ntp::package': } class { 'ntp::service': } -> anchor { 'ntp::end': } } Using this pattern, the module user may then simply declare relationships to the ntp class as they expect: class { 'ntp': } -> class { 'mcollective': } # OR class { 'mcollective': } -> class { 'ntp': }