You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using parameters values that are arrays containing references to the compilation dir (ie using $::settings::codedir for instance, the CompilationDir filter is unable to detect that some of the array or hash members are equivalent.
For instance the following resource:
service { 'puppetserver':
...
subscribe => [File["${::settings::codedir}/hiera.yaml"], Package['hiera-eyaml']]
}
…ltiple values
There were two cases where CompilationDir wasn't filtering out changes:
* if the parameter value is an arbitrary data structure (ie hash, array
or mix of both)
* if the parameter value is a string containing more than one occurence
of the compilation dir
It turns out that both can be fixed by just replacing the compilation
dirs in both the new and old values with empty strings and comparing
what's left.
It's probably much slower than the original string-only implementation
but covers much more cases as demonstrated by github#187 and github#188.
masterzen
pushed a commit
to masterzen/octocatalog-diff
that referenced
this issue
Jun 6, 2018
…ltiple values
There were two cases where CompilationDir wasn't filtering out changes:
* if the parameter value is an arbitrary data structure (ie hash, array
or mix of both)
* if the parameter value is a string containing more than one occurence
of the compilation dir
It turns out that both can be fixed by just replacing the compilation
dirs in both the new and old values with empty strings and comparing
what's left.
It's probably much slower than the original string-only implementation
but covers much more cases as demonstrated by github#187 and github#188.
When using parameters values that are arrays containing references to the compilation dir (ie using
$::settings::codedir
for instance, theCompilationDir
filter is unable to detect that some of the array or hash members are equivalent.For instance the following resource:
will produce the following diff:
It would be great for the
CompilationDir
filter to traverse arrays or hashes and apply recursively itself before taking any decision.The text was updated successfully, but these errors were encountered: