Commit graph

72 commits

Author SHA1 Message Date
Jeff McCune
88789e887c Add .rspec file to repo root
Without this patch we don't get an opinionated rspec behavior.  This
patch makes the behavior of `rake test` and `rspec spec/` opinionated
by including some default options.
2012-08-20 11:49:45 -07:00
Jeff McCune
a033450ab3 Update CHANGELOG, Modulefile for 2.1.3 2012-03-29 09:43:20 -07:00
Ken Barber
52bc8809cb Merge branch 'ticket/2.2.x/12377_stdlib_facter_dot_d_loaderror_recovery_may_be_harmful' into 2.1.x
* ticket/2.2.x/12377_stdlib_facter_dot_d_loaderror_recovery_may_be_harmful:
  (#12377) Avoid infinite loop when retrying require json
2012-02-06 17:55:43 +00:00
Jeff McCune
24f7095e28 (#12377) Avoid infinite loop when retrying require json
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-06 17:54:41 +00:00
Jeff McCune
4c2bba86f8 Merge pull request #26 from jeffmccune/ticket/2.1.x/11607_fix_ci_tests_for_stdlib
(#11607) Add Rakefile to enable spec testing
2011-12-30 15:49:03 -08:00
Jeff McCune
0be3090f0f (#11607) Add Rakefile to enable spec testing
Without this patch the 2.1.x branch does not have a Rakefile like the
2.2.x and master branches do.  This is a problem for the continuous
integration testing since it executes `rake test` against 2.1.x, 2.2.x
and master currently.

This patch fixes the problem by copying the Rakefile into place enabling
the `rake test` task.

Reviewed-by: Josh Cooper
2011-12-30 15:48:15 -08:00
Jeff McCune
842b0aa19c Update Modulefile CHANGELOG for v2.1.2 release 2011-12-30 12:05:15 -08:00
Jeff McCune
a8d4bbd9e2 (maint) Add semantic versioning info to README
This patch adds semantic versioning information to the README of this
module.  This information is missing and unclear without this patch.
This should help clarify the support matrix for the Standard Library as
it relates to Puppet Enterprise released versions.
2011-12-30 11:46:21 -08:00
Jeff McCune
bdba42dbb6 Merge pull request #16 from nfagerlund/docs/v2.0.0/XXXX_function_doc_updates
Docs/v2.0.0/xxxx function doc updates
2011-08-18 13:45:28 -07:00
nfagerlund
8e770b0423 Docs: Clarify the use case for the anchor type
This commit tweaks the docs for the anchor resource type to give more context
for its existence.
2011-08-18 12:39:05 -07:00
nfagerlund
9e87fd1457 Docs: Remove author emails from stdlib functions
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-18 12:39:05 -07:00
nfagerlund
4b5dfcc733 Docs: Copyedit function doc strings
This commit makes several minor consistency and wording edits to the doc
strings of the stdlib functions.
2011-08-18 12:39:04 -07:00
nfagerlund
400b91ab02 Docs: Correct indentation of markdown code examples
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-18 12:39:04 -07:00
nfagerlund
fa2fde6635 Docs: Update documentation of stdlib classes
This commit edits the puppetdoc text of the stdlib and stdlib::stages classes
to remove redundancy and add additional information.
2011-08-18 12:39:04 -07:00
Jeff McCune
0594aa9141 Docs: Update file_line documentation
This commit clarifies the behavior of the file_line resource type.
2011-08-18 12:39:04 -07:00
Jeff McCune
27c3b644b0 Docs: Improve example in merge function
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-18 12:39:04 -07:00
Jeff McCune
ad5316f561 Update CHANGELOG, README and Modulefile for v2.1.1 2011-08-18 12:06:44 -07:00
Jeff McCune
a8b217f39f Merge branch 'ticket/v2.x/9080_match_facts.d_to_facter2dot0' into v2.x
* ticket/v2.x/9080_match_facts.d_to_facter2dot0:
  (#9080) Make facts.d match Facter 2.0
2011-08-18 12:06:30 -07:00
Jeff McCune
d30e7f81d0 (#9080) Make facts.d match Facter 2.0
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-18 10:44:40 -07:00
Jeff McCune
06b549b028 Update CHANGELOG, Modulefile and README for 2.1.0 2011-08-17 16:37:20 -07:00
Jeff McCune
82267be5be Merge branch 'ticket/v2.x/9080_add_static_facts' into v2.x
* ticket/v2.x/9080_add_static_facts:
  (#9080) Add facts from /etc/puppetlabs/facts.d
2011-08-17 16:32:46 -07:00
Jeff McCune
95c88a1305 (#9080) Add facts from /etc/puppetlabs/facts.d
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 16:25:29 -07:00
Jeff McCune
e8fb6917d1 Merge pull request #11 from jeffmccune/ticket/master/8793_cut_version_2.0.0
Update CHANGELOG and Modulefile for 2.0.0 release

Reviewed-by: Dan Bode
2011-08-08 11:00:26 -07:00
Jeff McCune
666225c988 Update CHANGELOG and Modulefile for 2.0.0 release 2011-08-08 10:38:56 -07:00
Ken Barber
ef4ef11ae0 Merge pull request #10 from jeffmccune/ticket/master/8792_rename_whole_line_to_file_line
(#8792) Rename whole_line type to file_line.
2011-08-08 09:47:30 -07:00
Jeff McCune
f3c53e6f19 (#8792) Rename basic smoke test to reflect file_line rename
Without this patch the basic smoke test in the module tests/ directory
did not math up with the renamed whole_line => file_line resource type.

This patch updates the smoke test file to match the most recently
selected name of file_line.  The filename has been changed, comments
added to the smoke test file, and resource declarations inside the file
changed.
2011-08-08 09:33:56 -07:00
Jeff McCune
4c93090e1a (#8792) Rename whole_line type to file_line
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-04 19:17:48 -07:00
Jeff McCune
07d0eca317 Update CHANGELOG and Modulefile for 1.1.0 2011-08-04 18:34:32 -07:00
Jeff McCune
ee1081571e Merge branch 'refactor/master/8665_whole_line'
* refactor/master/8665_whole_line:
  (#8665) Change type from append_line to whole_line
2011-08-04 17:58:05 -07:00
Jeff McCune
0466e1bc6f Update CHANGELOG and README for 1.0.0 2011-08-04 17:24:46 -07:00
Jeff McCune
7e3b9b728a Merge branch 'ticket/master/8678_validate_array_string'
* ticket/master/8678_validate_array_string:
  (#8678) Add validate_array and validate_string functions
2011-08-04 16:07:46 -07:00
Jeff McCune
7393de9895 (#8678) Add validate_array and validate_string functions
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-04 16:05:39 -07:00
Jeff McCune
66cfee6f22 Merge branch 'ticket/master/8717_merge_function_ruby_185'
* ticket/master/8717_merge_function_ruby_185:
  (#8717) Make merge() function work with Ruby 1.8.5
2011-08-01 11:48:50 -07:00
Jeff McCune
4725c97102 (#8717) Make merge() function work with Ruby 1.8.5
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-08-01 11:45:08 -07:00
Dan Bode
2e3d49d174 Merge branch 'feature/master/add_merge_has_key' 2011-07-29 15:42:53 -07:00
Dan Bode
c4a13acafe (#8709) Add hash merging function
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 15:28:21 -07:00
Dan Bode
b1beaec2da (#8708) Add has_key function
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 15:11:10 -07:00
Dan Bode
4540949d96 (#8665) Change type from append_line to whole_line
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-27 15:28:44 -07:00
Jeff McCune
9560b6336c Merge branch 'ticket/master/8585_load_yaml_function'
* ticket/master/8585_load_yaml_function:
  (#8575) Add loadyaml() function
2011-07-26 15:46:23 -07:00
Jeff McCune
8a46e201fe (#8575) Add loadyaml() function
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 15:45:47 -07:00
Dan Bode
436c925e8a Merge branch 'feature/master/8628_append_line' 2011-07-26 15:35:52 -07:00
Dan Bode
e82370a26d (#8628) Add append_line native type
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-26 15:30:28 -07:00
Jeff McCune
a6ed9fbca3 Update CHANGELOG and version for 0.1.7 2011-06-21 17:08:05 -07:00
Jeff McCune
0ea7a0ffde Update README with getvar() and validate_hash()
The README now provides quick examples of how to take advantage of the
getvar() and validate_hash() functions included in this release of the
stdlib.
2011-06-21 17:06:46 -07:00
Jeff McCune
f036fbbb24 Merge branch 'ticket/master/8010_validate_hash_function'
* ticket/master/8010_validate_hash_function:
  (#8010) Add validate_hash spec tests
  (#8010) Add validate_hash function
2011-06-21 17:03:25 -07:00
Jeff McCune
08882ccd3b (#8010) Add validate_hash spec tests
These tests run through a number of example cases and exercise the
behavior of the validate_hash function.

To run, simple execute rspec validate_hash_spec.rb
2011-06-21 17:02:22 -07:00
Jeff McCune
4c00cfc610 (#8010) Add validate_hash function
This function validates all passed variables are hashes.  This is
similar to the validate_bool function and is copied from it.
2011-06-21 17:01:33 -07:00
Jeff McCune
de2434255e Merge branch 'ticket/master/8010_getvar_function'
* ticket/master/8010_getvar_function:
  (#8010) Add getvar() rvalue function
2011-06-21 17:01:14 -07:00
Jeff McCune
2bca41a9c4 (#8010) Add getvar() rvalue function
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-21 15:12:46 -07:00
Jeff McCune
c642cf4947 Remove metadata.json from repository
This file is generated from the puppet-module build command and should
not be included in the repository.  If it is, the repository is not
directly usable on a Puppet master because the metadata.json is invalid.
2011-06-20 16:05:18 -07:00