I didn't run this (simplified) example so there might be errors, but
anyway -- say we have:
-----------------------------------------------------------
stage { aptstuff: }
Stage[aptstuff] -> Stage[main]
class proxy($url) {
file { "/etc/apt/apt.conf.d/02proxy":
content => "Acquire::http { Proxy \"$url\"; };",
}
}
class gnome3 {
# lots of packages and files
}
node vm15 {
class { proxy: url => "http://blah:9999", stage => aptstuff }
include gnome3
include otherstuff
}
-----------------------------------------------------------
Now, my expectation is that gnome3 will be in stage[main]
allowing the proxy to be set up before any packages are
installed. What I'm actually seeing is that the gnome
packages are installed, then the 02proxy file is written,
and finally other packages and files are installed/written.
So, what to do?
1. script the setup of the proxy during provisioning?
not 'declarative', no good for brownfield deployment
2. Only use parametrized classes?
cuts into puppet forge's usefulness
3. Something else?
And a separate question:
4. How do parameterized classes and inheritance fit together?
Is this or anything along these lines sensible?
class foo($greeting = "hi") {}
class baz($arg = "howdy!") inherits foo(greeting = $arg) {}
--
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.