On Wed, Jun 15, 2011 at 06:13:52PM +0100, Ken Barber wrote:
> Certainly works for me in a simplified example ... can you simplify
> your example so it just does a notify?
> 
> class firewall_extras (
>    $services   = undef,
> ) {
>   notify { "msg": message => $services }
> }
> 
> class myfirewall {
>   class { "firewall_extras": services => $::firewall_services }
> }
> 
> Also - just for kicks - what is the yaml output of your external_nodes
> command when you run this on the command line?
> 
> (you probably already know how to do this but ...)
> 
> To figure out the path its just:
> 
> puppet master --configprint external_nodes
> 
> Then run it like:
> 
> /somepath/external_nodes unxslet01.ucop.edu

I did not know about running the external_nodes on the command line.  Thanks
for the tip.  

With siplified version I am at least getting some error output.  this is
progress:


class firewall_extras (
   $services   = undef
) {
  notify { "msg": message => $services }
}

class firewall_wrapper {
  class { "firewall_extras": services => $::firewall_services }
}


pmlab02-vhost:~ # /usr/share/puppet-dashboard/bin/external_node 
unxslet01.ucop.edu
--- 
name: unxslet01.ucop.edu
parameters: 
  firewall_services: "9080"
classes: 
- firewall_wrapper
- common::suse
- db2::client
- aig_vhost


unxslet01:~ # puppet agent -t
info: Retrieving plugin
info: Loading facts in adinfo
info: Loading facts in adinfo
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could 
not parse for environment production: Could not match   at 
/data/puppet/production/modules/firewall/manifests/init.pp:93 on node 
unxslet01.ucop.edu
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

---

looks like a syntax error, but I don't see it.  line 93 is
   $services   = undef








> 
> ken.
> 
> On Wed, Jun 15, 2011 at 5:41 PM, Ashley Gould <ago...@ucop.edu> wrote:
> > On Wed, Jun 15, 2011 at 02:16:27PM +0100, Ken Barber wrote:
> >> What errors are you getting when you use this pattern? Do you have
> >> sample code and errors for your use case?
> >>
> >> I presume you are doing an:
> >>
> >> include foo::wrapper
> >>
> >> At some point to evaluate that wrapper class? Otherwise nothing will 
> >> happen.
> >>
> >> ken.
> >
> > There is no error.  but nothing happens.  the class seems to be
> > quietly ignored.
> >
> > The basic construct works from within nodes.pp file, but not from
> > dashboard:
> >
> > class firewall_extras (
> >    $services   = undef,
> > ) inherits firewall {
> >
> >    Firewall::Firewall_conf["default"] {
> >        fw_services_ext_tcp   => $services,
> >        fw_configurations_ext => $configs,
> >        fw_trusted_nets       => $trusted,
> >    }
> >
> > }
> >
> > # Dashboard class
> > class firewall_extras::wrapper {
> >  class { firewall_extras: services => $::firewall_services }
> > }
> >
> >
> > Here was my node def that worked:
> >
> > $firewall_services = "8000"
> > node /unxslet0\d+/ {
> >    include "common::suse"
> >    include "aig_vhost"
> >    include "firewall_extras::wrapper"
> > }
> >
> > I'm attaching a jpg of the node from dashboard.
> >
> >
> >
> >
> >>
> >> On Wed, Jun 15, 2011 at 12:40 AM, Ashley Gould <ago...@ucop.edu> wrote:
> >> > Looking at the release notes for dashboard 1.1.1, I see that param
> >> > classes are not yet supported within dashboard's external node
> >> > classifier feature.  A few months ago I saw a post suggesting the
> >> > following work around until there is support:
> >> >
> >> > class foo ($var="default") {
> >> >   notify { $var: }
> >> > }
> >> >
> >> > Parametrized classes are new in Puppet 2.6. Support for parametrized
> >> > classes via ENC was introduced in 2.6.5. Support for parametrized
> >> > classes in dashboard is on the road map.
> >> >
> >> > Currently here's the way to declare parametrized classes in site.pp:
> >> >
> >> > node node01 {
> >> >  class { foo:
> >> >    var => "hello world!",
> >> >  }
> >> > }
> >> >
> >> > To support parametrized class in dashboard, I write a wrapper class
> >> > (necessary until Dashboard fully supports parametrized classes):
> >> > class foo::wrapper {
> >> >  class { foo:
> >> >     var =>  $::foo_var,
> >> >  }
> >> > }
> >> >
> >> > In this case assign class foo::wrapper to node1 in dashboard and
> >> > configure the parameter foo_var="hello world!".
> >> >
> >> > ---
> >> >
> >> >
> >> > I am tring to replicate this workaround without success.  Has anyone
> >> > else gotten param classes working within dashboard ENC?
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> >
> >> > -ashley
> >> >
> >> > Did you try poking at it with a stick?
> >> >
> >> > --
> >> > 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.
> >> >
> >> >
> >
> > --
> >
> > -ashley
> >
> > Did you try poking at it with a stick?
> >
> > --
> > 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.
> >
> >

-- 

-ashley

Did you try poking at it with a stick?

-- 
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