Commit graph

52 commits

Author SHA1 Message Date
Axel Bock
b4e1c0c387 fix: permitting $backup to be a boolean value 2014-08-18 09:09:20 +02:00
Neil Prockter
ca8e036bac ensure concat file fragments are always replaced 2014-08-02 00:18:16 +01:00
Geoff Williams
0ce713fd9c fix concat broken on windows due to case sensitive regexp -- made it case insensitive 2014-07-09 13:45:16 +10:00
Colleen Murphy
2b51a83b9b Sync files 2014-06-25 17:23:15 -07:00
Joshua Hoblitt
8dedb6bffb Validate the concat::fragment order parameter as string||integer
This is to work around a validation issue that arises under the 3.x future
parser, as proper numeric types have been introduced (ie, not all scalar values
are strings).  Users have come to expect to to be able to pass in unquoted
integer values to the order parameter which will fail to validate as a string
when the future parser is enabled.
2014-05-29 13:07:16 -07:00
Joshua Hoblitt
a4abf6f142 enable the ruby concat script on Solaris
Per discussion on #174, Solaris 10 does not support the find/xargs
switches that were introduced in that PR (but Solaris 11 does).

+ add a shebang to concatfragments.rb
+ fix linter warnings/errors
2014-05-29 12:52:38 -07:00
Morgan Haskel
6b9e8ddc37 Add nodeset for ubuntu trusty. 2014-05-14 16:14:53 -04:00
Ashley Penney
8a1965ade9 Improve this so it works on Ubuntu 14.04. 2014-05-02 19:50:51 +02:00
Ashley Penney
a2df44a967 Fix newlines.
Previously the newline handling modified the actual fragments, causing
multiple runs to always update the newlines.  Handle this appropriately.
2014-04-21 18:36:59 -04:00
Lucien Weller
a2f625f385 Added double quotes to paths in concat command, so that it does not fail when path of target file contains some blanks. 2014-02-24 15:02:32 +01:00
Alex Dreyer
62795f8126 Switch test to use a much higher gid/uid
(cherry picked from commit ccf5284b56)
2014-02-14 13:42:10 -08:00
Hunter Haugen
35c0d2354f Don't remove /tmp/concat in after :each
If the spec files are run in a random order, removing /tmp/concat after
certain tests could cause the next tests to fail if they do not recreate
this directory.

(cherry picked from commit 1edafdcf42)
2014-02-14 11:18:34 -08:00
Ashley Penney
b07f338f29 Fix ensure => absent with path => set.
The current code doesn't correctly account for an absent with a
path set, incorrectly trying to remove $name instead.  Fixing this
raised the issue that fragments left with no ensure will fail when
absent is set as the fragdir is deleted.

As a workaround for this we check the `ensure` parameter from the
concat{} resource with getparam() and then pass that to the fragment
if no specific ensure was passed in.  This effectively ensures
fragments inherit their parents ensure status.
2014-01-21 16:28:42 -05:00
Hunter Haugen
20e8d6e4f6 Convert specs to beaker and increase coverage 2014-01-16 16:49:30 -08:00
Joshua Hoblitt
8a500af5ee revert concat $warn/$warn_message param split + add deprecation warnings
Partially reverting the $warn/$warn_message param split from eaf8407 as this
change was unnecessarily API breaking.  Instead, we are adding string/bool type
validating to the $warn parameter and deprecation warnings for the usage of
stringified boolean values (eg, 'true', 'on', etc.). In a future major release,
the logic can be simplified to treating all string values as a warning message.
2013-12-23 13:23:49 -08:00
Joshua Hoblitt
41d5d4ccd1 fix regression preventing usage of fragment ensure => /target syntax
Also fix a historical bug that prevents a fragment from being converted
from a symlink to using a source or content parameter.
2013-12-05 22:39:23 -07:00
Joshua Hoblitt
f1a57a6c7e add system tests for file fragments sourced from a single file
In addition to checking for fragment sourcing from a 'list' of files.
2013-12-05 10:12:29 -07:00
Joshua Hoblitt
ae1e74cf36 add system tests for replacing symlinks and directories 2013-11-18 14:58:46 -07:00
Joshua Hoblitt
4ee4be00ac minor system test cleanups 2013-11-13 20:28:27 -07:00
Joshua Hoblitt
c852dc22d7 clean up between system spec files 2013-11-13 17:56:47 -07:00
Tristan Smith
499f338ce5 put the shell() calls into before{} blocks so that they're executed meaningfully. Testing to make sure a file doesn't exist shouldn't be as much of a hack as that is. I'm obviously missing something in the framework, but this works. 2013-11-13 14:23:30 -08:00
Tristan Smith
6c687551d8 Initial pass at test to ensure fragments accept and properly handle the underlying file source attribute. 2013-11-13 11:31:56 -08:00
Joshua Hoblitt
ba9501c1a0 allow source param to concat::fragment to be a string or an Array
This is resolve a regression preventing an array of string(s) being passed to the fragment file resource's source parameter.
2013-11-12 23:20:48 -07:00
Joshua Hoblitt
8695e7ff63 Merge pull request #96 from jhoblitt/fact_tests
add tests for concat_basedir fact
2013-11-03 10:58:26 -08:00
Joshua Hoblitt
8f53c479cb add rspec-puppet pending test for warning on inclusion of concat::setup 2013-11-03 11:26:09 -07:00
Joshua Hoblitt
a08709caf7 add tests for concat_basedir fact 2013-11-03 10:20:32 -07:00
Joshua Hoblitt
1a926b933c deprecate concat::fragment mode, owner, & group params
There's no need to allow the ownership/permissions of a fragment to be set as
the concat define sets ownership/permissions on the final aggregated file.
2013-11-02 13:39:12 -07:00
Ashley Penney
7437a68016 Merge pull request #91 from jhoblitt/exec_as_root_when_root
always exec the concatfragments script as root when running as root
2013-11-02 13:14:51 -07:00
Joshua Hoblitt
79352f4da6 allow concat::fragment target param to be an arbitrary string
Revert validation of the target param as an absolute path and allow it to be an
arbitrary string.  This is so the

    concat { <foo>: path => ...  }
    concat::fragment { ...: target => <foo> }

association may be symbolic as long as concat path param is specified.  This
should resolve the symbolic name regression introduced in:
https://github.com/puppetlabs/puppetlabs-concat/commit/eaf84079
2013-11-02 09:33:41 -07:00
Joshua Hoblitt
256e0bdf9f remove usage of resource defaults for file owner/permissions
In addition, the permissions of the fragment directory and files is now fixed and not world readable.
2013-11-01 18:23:24 -07:00
Joshua Hoblitt
200e4ee205 always exec the concatfragments script as root when running as root
This is to allow the concatfragments script to be installed into a path that may not be accessible by a non-root user.
2013-11-01 18:23:24 -07:00
Joshua Hoblitt
7c4f929e42 add deprecation warnings on removed parameters + warn on inclusion of concat::setup 2013-10-30 22:06:02 -07:00
Joshua Hoblitt
2ec19b80f9 remove purging of /usr/local/bin/concatfragments.sh
The hard coded path of `/usr/local/bin/concatfragments.sh` hasn't been
used for "a long time" so there's no reason to carry the cleanup around
any longer.
2013-10-24 09:34:31 -07:00
Joshua Hoblitt
aa0180d69a remove default owner/user and group values
The use of $::id to set the default user/owner and group has caused
multiple bugs in the past, is incorrectly used to infer the egid,
introduces a dependency on the `id` fact, and provides no functionally
that can't be accomplished by passing `undef` or not setting the
respective params on the file & exec types.

A possible alternative would be to introduce a dep on the $::gid fact
but that would mean the entire module would depend on a version of
facter than hasn't shipped yet (unworkable) or to add a gid/egid fact
into this module (ugly).
2013-10-24 08:48:37 -07:00
Joshua Hoblitt
4d884d3242 only backup target concat file + remove backup param from concat::fragment
Disable filebucket backup of all file resources except for the the
target file that's being concatenated.
2013-10-23 15:42:44 -07:00
Joshua Hoblitt
b6ee7e40e5 compatibility fixes for ruby 1.8.7 / puppet 2.7 2013-10-23 12:18:09 -07:00
Joshua Hoblitt
89dc9a9f71 mv spec/defines -> spec/unit/defines
To be more consistent with other PL modules
2013-10-23 10:57:03 -07:00
Joshua Hoblitt
86522e1eb2 make class concat::setup a private class 2013-10-23 10:55:05 -07:00
Joshua Hoblitt
cca9401844 remove puppet 0.24 support
Introduction of stdlib functions makes support of puppet < 2.7
impractical.
2013-10-23 10:55:05 -07:00
Joshua Hoblitt
6e554e1a26 add stdlib to rspec-system tests 2013-10-23 10:55:05 -07:00
Joshua Hoblitt
d7498a4e25 add tests for class concat::setup 2013-10-23 10:55:05 -07:00
Joshua Hoblitt
7b992f79e3 validate define concat::fragment params 2013-10-23 10:55:01 -07:00
Joshua Hoblitt
eaf8407941 validate define concat params + split warn param
In addition, the warn param has been split into a warn (a bool) and
warn_message (a string).
2013-10-23 10:48:34 -07:00
Graham Bleach
fbb8f40594 Fix group ownership on files.
And add a test to stop it being broken again.
2013-10-22 12:36:19 +01:00
Joshua Hoblitt
cdb6d6b007 remove undocumented requirement to include concat::setup in manifest
Unless the class `concat::setup` has been manually included into the
manifest before using the `concat` / `concat::fragment` defined types,
the puppet master will generate this warning while compiling the catalog.

    Tue Oct 15 14:05:06 -0700 2013 Scope(Concat[/etc/exports]) (warning):
    Could not look up qualified variable 'concat::setup::root_group'; class
    concat::setup has not been evaluated

The need to `include concat::setup` directly into the manifest has never
been part of the documented API.
2013-10-17 15:07:57 -07:00
petems
c89863cf7c Updated .gitignore for spec generated files 2013-10-02 13:53:00 +01:00
Tom McLaughlin
1830a686e7 Fix spec tests 2013-08-09 10:19:00 -04:00
Ashley Penney
1d403b6763 Add rspec-system tests. 2013-08-08 08:44:31 -07:00
Jan Vansteenkiste
1972a9b86b Add a second spec test for the name/path combination 2012-08-30 10:10:23 +02:00
Paul Belanger
7d0b5709c9 Lets use puppetlabs_spec_helper
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
2012-06-23 17:13:08 -04:00