replying to myself...

so it seems the problem is not the varialbe scope, rather then the template
function.
the following code works:

node default {
    include a
    include b
}

class a {
    $dirs = ""
    dir{["/tmp","/tmp/a","/tmp/b"]: before => File["/tmp/dirs"]}
}
class b {
    file{"/tmp/dirs": content => $a::dirs}
    #file{"/tmp/dirs": content => template("/tmp/dirs.erb")}
}

define dir() {
    $a::dirs += " $name"
    file {$name: ensure => directory }
}


if anyone has any idea how to make this work with a template, that would be
great.

Thanks,
Ohad

On Fri, May 29, 2009 at 1:55 PM, Ohad Levy <ohadl...@gmail.com> wrote:

> Hi,
>
> in this simplified example, I'm trying to create directories, and add each 
> directory name into a variable,
> later on, generate a file which its content should be the directory names, 
> but it doesn't work....
>
> any help appreciated.
>
> Thanks,
> Ohad
>
>
> node default {
> include b
> }
>
> class a {
> file{"/tmp/dirs": content => template("/tmp/dirs.erb")}
> }
>
> class b {
> $dirs = ["dummy"]
> dir{["/tmp","/tmp/a","/tmp/b"]:}
> include a
> }
>
> define dir() {
> file {$name: ensure => directory }
> $b::dirs += $name
> }
>
> -----
> /tmp/dirs.erb:
> <%= scope.lookupvar("b::dirs") %>
>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to