Commit graph

357 commits

Author SHA1 Message Date
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
Jeff McCune
27973cb594 Update CHANGELOG for version 0.1.6 2011-06-15 11:53:15 -07:00
Jeff McCune
c4e8bb8f97 Merge pull request #4 from jeffmccune/ticket/master/3_anchor_resource_type
Ticket/master/3 anchor resource type

Nan +1'ed on the tech list.

Merging into master.
2011-06-15 11:51:33 -07:00
Jeff McCune
f13f3c2916 (#3) Add simple unit test for anchor type
Unlike the whit type the anchor type derives from, we are not hacking
the stringify method.  We expect the resource to be named simply
Anchor[foo::bar] where the name is "foo::bar".
2011-06-15 09:44:24 -07:00
Jeff McCune
ab70663d15 (#3) Add an anchor type to provide containment
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': }
2011-06-15 09:40:04 -07:00
Jeff McCune
df2398b59c Add additional tests to validate_bool() spec 2011-06-03 11:56:02 -07:00
Jeff McCune
fdb175a6af Update CHANGELOG for 0.1.5 2011-06-03 11:44:37 -07:00
Jeff McCune
593d7f7e76 Add Apache 2.0 License 2011-06-03 11:44:37 -07:00
Jeff McCune
3d093334a6 Merge branch 'feature/master/validation_functions'
* feature/master/validation_functions:
  Add spec test for validate_bool function
  Add validate_bool() function to stdlib
2011-06-03 11:42:39 -07:00
Jeff McCune
20b6c24186 Add spec test for validate_bool function
This is an interesting spec test for module developers.
It illustrates how to cause Puppet to test the function
from the Puppet DSL rather than the Ruby DSL, fully
exercising the system from the perspective of the end
user.

(Note how Puppet[:code] is set, then the scope reset, then
the compile method called.)

Paired-with: Dan Bode <dan@puppetlabs.com>
2011-06-03 11:41:20 -07:00
Jeff McCune
b9f1bb6a63 Add validate_bool() function to stdlib
This function aborts catalog compilation if any of the passed
values are not true or false.  Note, this catches the string
values of true and false correct and will abort catalog
compilation if they are not boolean values.

Paired-with: Dan Bode <dan@puppetlabs.com>
2011-06-03 11:39:45 -07:00
Jeff McCune
cdbdc275ac Update CHANGELOG with stage re-ordering 2011-05-26 10:25:45 -07:00
Jeff McCune
7eacebafeb Merge branch 'bug/master/prefer_stages_after_main'
* bug/master/prefer_stages_after_main:
  Move stages to after main
2011-05-26 10:25:35 -07:00
Jeff McCune
6e9e838a0e Move stages to after main
Working with the stages in stdlib, I quickly ran into an issue where
most of the stages were before the main stage.  This made it difficult
to declare any resources in a traditional "include" style class while
hiding the end user from the stages being associated with other module
classes.

For example, in class mcollective, a package would be declared in main.
However, if mcollective declared class mcollective::service in stage
infra_deploy and this was before main, there would be a dependency loop
between the package and the service.

There appears to be a convention around "chain your stages after main"
to avoid the need to create relatively empty shell classes.
2011-05-26 10:21:42 -07:00
Jeff McCune
46533ae428 Update CHANGELOG for 0.1.3 release 2011-05-25 13:29:27 -07:00
Jeff McCune
5f65682dd2 Merge branch 'feature/master/7657_validate_re'
* feature/master/7657_validate_re:
  (#7657) Add basic validate_re function
2011-05-25 12:39:58 -07:00
Jeff McCune
d381a5b74f (#7657) Add basic validate_re function
While developing Puppet Modules with class parameters, data from the
user should be validated as per the Style Guide.  Puppet should fail
early and hard in the situation of invalid data being passed into the
module.

This function provides a more concise method to the alternative of using
if statements in the Puppet manifests.
2011-05-25 12:38:15 -07:00
Jeff McCune
e757816a95 Add DS_Store to gitignore 2011-05-25 09:36:08 -07:00
Jeff McCune
a78111222e Update changelog for version 0.1.2
Also add release process information.
2011-05-24 11:49:57 -07:00
Jeff McCune
ea972e379d Add changelog to track releases
Following the development process, as new releases of this module are
cut the Changelog will be updated.
2011-05-24 11:27:41 -07:00
Jeff McCune
6f8b78cc67 Add standard set of run stages.
Many modules I'm working on need a standard but
relatively granular location in the catalog.  For example,
any module that configures the packaging system should
run "early"

Add the following stages which have inter-dependencies
in the top to bottom order listed:

 * setup
 * deploy
 * runtime
 * setup_infra
 * deploy_infra
 * main
 * setup_app
 * deploy_app
2011-05-24 11:25:51 -07:00
Jeff McCune
6964d13b26 Update README with target versions
Also add the list of things this module will
likely contain.
2011-05-24 11:23:16 -07:00
Jeff McCune
6e9d0465bc Initial commit 2011-05-24 11:06:30 -07:00
Ken Barber
5c42025cab Rename to puppetlabs-functions. 2011-05-16 21:40:01 +01:00
Ken Barber
f71c3bd9e7 Added disclaimer and basic installation guide to README.markdown file. 2011-05-05 11:00:05 +02:00
Ken Barber
aafce9c99b Moved more functions into lib/puppet/parser/functions/ 2011-04-30 16:00:49 +02:00
Ken Barber
09abea2d47 Moved type.rb 2011-04-30 15:59:55 +02:00
Ken Barber
352bac3703 Moved type into pluginsync compat area. 2011-04-30 15:59:55 +02:00
Ken Barber
5c8f8f8edb Added Apache license. 2011-04-30 15:59:31 +02:00
Ken Barber
323cd874c5 Change README. 2011-04-30 15:59:31 +02:00
Ken Barber
99a93d366f Convert to module format. 2011-04-30 15:59:31 +02:00
Krzysztof Wilczynski
781a872057 Add number of stub code for future functions.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 14:36:25 +01:00
Krzysztof Wilczynski
d38e399b47 First version. Simple swapcase function to use within Puppet DSL.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 14:35:10 +01:00
Krzysztof Wilczynski
8733a57ffb Making sure that the function hash will also work on older Rubies.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 03:44:59 +01:00
Krzysztof Wilczynski
b3be789b0d Add number of stub code for future functions.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 03:16:12 +01:00
Krzysztof Wilczynski
72b23cb2e5 First version. Simple hash function to use within Puppet DSL.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 03:15:47 +01:00
Krzysztof Wilczynski
f74ab047cd Change boolean detecion from string to make entire function more robust.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:57:48 +01:00
Krzysztof Wilczynski
4da6d8222e Changed wording of the note in the comment.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:54:47 +01:00
Krzysztof Wilczynski
db7a27cf5b Small re-factor. Remove not needed complexity.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:51:17 +01:00
Krzysztof Wilczynski
872c7f3c42 Added body of the function flatten.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:50:38 +01:00
Krzysztof Wilczynski
9d0e244771 Moved to unless from if not to improve code clarity. Changed
wording of few error messages.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:49:15 +01:00
Krzysztof Wilczynski
3c4c1c7c20 Moved to unless from if not to improve code clarity. Added TODO
for future reference.  Changed wording of few error messages.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:48:25 +01:00
Krzysztof Wilczynski
9ec50e7968 Added TODO for future reference.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:47:20 +01:00
Krzysztof Wilczynski
5da2005d04 Moved to unless from if not to make code more clear. Plus a variable
name change for simplicity.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:46:03 +01:00
Krzysztof Wilczynski
4b2a0a9e1f Small change to code formatting.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:45:36 +01:00
Krzysztof Wilczynski
20a8892c09 Added comment line.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:45:04 +01:00
Krzysztof Wilczynski
55df5ac566 Added comment line.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:44:49 +01:00
Krzysztof Wilczynski
16eec26b0b Corrected function name from chop to strip. Moved to unless from if not
to improve code clarity.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:43:13 +01:00
Krzysztof Wilczynski
41798020d6 Function has now more robust error detection.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:41:09 +01:00
Krzysztof Wilczynski
b26d5b2f3b Now prefix will convert everything into string which is the same
as join would do.  Also function is now more robust in error detection.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
2011-04-30 02:40:04 +01:00