Age | Commit message (Collapse) | Author |
|
Add validate_domain_name function
|
|
|
|
Add new file_line option append_on_no_match
|
|
(MODULES-4908) adds support for sensitive data type to pw_hash
|
|
|
|
|
|
Also includes a small fix to integer_spec so tests pass.
|
|
tkishel/MODULES-5003-file_line_does_not_change_multiple_lines_when_one_matches
(MODULES-5003) file_line does not change multiple lines when one matches
|
|
|
|
The exists? method is called to determine the need to call the create and
destroy methods. When the ensure, match, and multiple attributes are defined,
the exists? method needs to return false unless all the lines that match the
match attribute equal the line attribute.
The first commit is minimal, and implements this change.
The second commit normalizes the code, which I needed for comprehension.
|
|
|
|
|
|
|
|
(Modules 4377) Causes ensure_packages to accept concurrent declarations with ensure => 'present' and 'installed'
|
|
(MODULES-5003) file_line fix all broken lines
|
|
(maint) Stdlib::Compat::Integer accepts numbers with newlines apparently
|
|
|
|
|
|
|
|
|
|
|
|
defined_with_params() now returns false for defined types, causing
duplicate resources when using ensure_resources().
Introduced by 4f19c27 in PE-20308.
|
|
|
|
- `defined_with_params` calls `findresource(reference.to_s)`
- `findresource` is
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/parser/compiler.rb#L407
and points to
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/resource/catalog.rb#L352
- This calls `Puppet::Resource.new` with the type
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/resource/catalog.rb#L366
- This ends up calling `resource_type` via
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/resource.rb#L317-L319
and that ends up declaring the type via the autoloader api at
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/resource.rb#L390
- But why does the autoloader API fail to find it in the current
environment?
- Okay, so when the autoloader is trying to find the type, it uses the
typeloader to look it up in the current environment
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/metatype/manager.rb#L171
- this calls `get_file` and `mark_loaded`
https://github.com/puppetlabs/puppet/blob/4.8.1/lib/puppet/util/autoload.rb#L64-L67
Suggested workaround is to pass a literal type instead of a string to
`findresource` to fix in stdlib, and also to fix loading/requiring of
type in core puppet.
This seems to affect more recent versions of puppet, so fallback to
original behavior on pre-4.5
|
|
|
|
Add glob function
|
|
The fix for PUP-7371 adds the missing `Undef` into the error message
being tested in type aliases specs, fixing the following failure against
Puppet's master branch:
test::string rejects other values [] should fail to compile and raise an error matching /parameter 'value' expects a String/
Failure/Error: it { is_expected.to compile.and_raise_error(/parameter 'value' expects a String/) }
error during compilation: Evaluation Error: Error while evaluating a Resource Statement, Class[Test::String]: parameter 'value' expects a value of type Undef or String, got Array at line 2:1 on node example
# ./spec/aliases/string_spec.rb:27:in `block (5 levels) in <top (required)>'
|
|
(MODULES-4528) Use versioncmp to check Puppet version for 4.10.x compat
|
|
|
|
Addition of new length function
|
|
|
|
`Puppet.version.to_f` on Puppet 4.10.0 will evaluate to `4.1`, causing
test and behavioural changes when conditionals check that the version is
equal or greater than versions such as `4.3`.
Version comparisons that are vulnerable to this have been changed to use
Puppet's versioncmp implementation, while most others only check for
for major version boundaries which is safe.
|
|
* (#FM-6068) allow file encoding to be specified
Add a new parameter `encoding` to allow non UTF-8 files to specify a file encoding. This prevents receiving the error message "invalid byte sequence in UTF-8" when special characters that are not UTF-8 encoded appear in the input stream, such as the copyright symbol.
* (#FM-6068) allow file encoding to be specified
Added docs and tests as requested
|
|
(FM-6086) - Unit tests for Resource Types
|
|
|
|
|
|
(FM-6063) - Unit tests for high effort functions
|
|
|
|
* Improves regex to catch some valid (but less
known) ipv6 strings, mostly those which are a mix
of ipv6 strings and embedded ipv4 numbers
* Regex inspired by the following:
* https://github.com/sindresorhus/ip-regex
* https://gist.github.com/cpetschnig/294476
* The original Dartware forum thread where
someone originally created this beast of a regex,
now lost except to archive.org
* Whilst we're here, we can add the more tricky
ipv6 strings to the existing functions to validate
* Luckily, the `ipaddr` native ruby library used
in the original functions already supports these
|
|
|
|
|
|
(FM-6054) - Unit tests for low effort functions
|
|
|
|
tphoney/remove_unsupported_platforms_and_future_parser
remove unsupported platforms and future parser
|
|
|
|
|
|
|
|
|
|
|
|
|