Bug #444
file type: sourceselect-all problem when recursing into directories
| Status: | Closed | Start date: | ||
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | - | |||
| Target version: | 0.22.1 | |||
| Affected Puppet version: | 0.25.4 | Branch: | ||
| Keywords: | ||||
| Votes: | 0 |
Description
Sourceselect=all does not to work below the top level directory being copied.
For examples, I’ll assume the following bit of manifest:
file { “/somewhere”: source => [“puppet://server/a”,
"puppet://server/b"],
sourceselect => all, recurse => true }
It’s fine with the following source tree …
/server/ |– a/ | |– afile1 | |– adir/ | | |-afile2 |– b/ | |– bfile1 | |– bdir/ | | |-bfile2
However if /server/a and /server/b have subfolders with the same name but different contents, then only the subfolder+contents from a is copied. For example …
/server/ |– a/ | |– afile1 | |– commondir/ | | |– afile2 |– b/ | |– bfile1 | |– commondir/ | | |– bfile2
…. in this case /server/b/commondir/bfile2 is not copied even though it is not a repeat of a file in /server/a/… .
This may seem picky, but it prevents (for example) the perfectly reasonable scenario of …
file { “/usr/local/share/icons”: source => [“puppet://server/puppetfiles/app1/icons”,
"puppet://server/puppetfiles/app2/icons",
"puppet://server/puppetfiles/app3/icons"],
sourceselect => all, recurse => true }
…. given the layers of common directory structure that will exist under the icons folders.
History
Updated by John Dubery over 5 years ago
Sorry, made a bit of a pickle with the formatting – should have looked like this …
It's fine with the following source tree ... /server/ |- a/ | |- afile1 | |- adir/ | | |-afile2 |- b/ | |- bfile1 | |- bdir/ | | |-bfile2
However if /server/a and /server/b have subfolders with the same name but different contents, then only the subfolder+contents from a is copied. For example …
/server/ |- a/ | |- afile1 | |- commondir/ | | |- afile2 |- b/ | |- bfile1 | |- commondir/ | | |- bfile2
…. in this case /server/b/commondir/bfile2 is not copied even though it is not a repeat of a file in /server/a/… .
Updated by Luke Kanies over 5 years ago
- Status changed from 1 to Closed
- 7 set to fixed
Fixed in r2111.