Ok, so far I've stripped down all the extra tools to make sure I can
identify the issue with filtering the collection of exported hosts.
Basically I took foreman out of the equation for the time being, so
that I can concentrate of the bare minimum to get this feature
rolling.

Here's the node:
node server1 {
     $group = ["test"] <--- Also tried without brackets, and tried
without quotations ---->
     include basics1
     }
Here's the class:
class basics1{
        require host_collect
        notice("The Value is ${group}")
class host_export  { notice("The Value is ${group}") @@host{ "$fqdn":
                      ip => $ipaddress,
                      host_aliases => $hostname,
                      tag => $group
                      }}

class host_collect { require host_export notice("The Value is $
{group}") Host <<| tags == "$group" |>> }


Here's the result from the server side (debug mode):
debug: Using cached facts for server1.dev.domain.com
info: Caching node for server1.dev.domain.com
debug: importing '/etc/puppet/manifests/classes/dev_sys.pp'
debug: importing '/etc/puppet/manifests/classes/test_class.pp'
debug: importing '/etc/puppet/manifests/nodes/dev_nodes.pp'
notice: Scope(Class[basics1::host_export]): The Value is test
<-------------
notice: Scope(Class[basics1::host_collect]): The Value is test
<-------------
notice: Scope(Class[basics1]): The Value is test  <----------------
debug: Scope(Class[basics1::host_collect]): Collected 0 Host
resources   <<===========
in 0.00 seconds
notice: Compiled catalog for server1.dev.domain.com in 0.17 seconds
info: Caching catalog for server1.dev.domain.com
debug: Searched for resources in 0.01 seconds
debug: Searched for resource params and tags in 0.00 seconds
debug: Resource removal in 0.20 seconds
debug: Resource merger in 0.06 seconds
debug: Added resources(tags) in 0.08 seconds
debug: Added resources(initialization) in 0.02 seconds
debug: Added resources(parameters) in 0.02 seconds
debug: Resource addition in 0.12 seconds
debug: Performed resource comparison in 0.39 seconds
debug: Using cached node for server1.dev.domain.com
debug: Saved catalog to database in 0.41 seconds
info: Applying configuration version '1284564089'


Still... is not collecting the hosts even thought the $var values
are correct/exported.... I also tried using another Variable name, in
case group is a reserved word.


Any ideas, comments, suggestions?




Thanks in advance,

On Sep 15, 11:25 am, CraftyTech <[email protected]> wrote:
> Ok, I figured out how to put in Notice Statements : )
>
> I took foreman out of the equation for testing purposes, and I'm now
> using standard puppet node definitions.
>
> Here's the node:
> node server1 {
>      $group = ["test"]
>      include basics1
>      }
>
> Here's the class:
> class basics1{
>         require host_collect
>         notice("The Value is ${group}")
>
> class host_export  { notice("The Value is ${group}") @@host{ "$fqdn":
>                       ip => $ipaddress,
>                       host_aliases => $hostname,
>                       tag => $group
>                       }}
>
> class host_collect { require host_export notice("The Value is $
> {group}") Host <<| tags == "$group" |>> }
>
> Here's the result from the server side (debug mode):
> debug: Using cached facts for server1.dev.domain.com
> info: Caching node for server1.dev.domain.com
> debug: importing '/etc/puppet/manifests/classes/dev_sys.pp'
> debug: importing '/etc/puppet/manifests/classes/test_class.pp'
> debug: importing '/etc/puppet/manifests/nodes/dev_nodes.pp'
> notice: Scope(Class[basics1::host_export]): The Value is test
> notice: Scope(Class[basics1::host_collect]): The Value is test
> notice: Scope(Class[basics1]): The Value is test
> debug: Scope(Class[basics1::host_collect]): Collected 0 Host resources
> in 0.00 seconds
> notice: Compiled catalog for server1.dev.domain.com in 0.17 seconds
> info: Caching catalog for server1.dev.domain.com
> debug: Searched for resources in 0.01 seconds
> debug: Searched for resource params and tags in 0.00 seconds
> debug: Resource removal in 0.20 seconds
> debug: Resource merger in 0.06 seconds
> debug: Added resources(tags) in 0.08 seconds
> debug: Added resources(initialization) in 0.02 seconds
> debug: Added resources(parameters) in 0.02 seconds
> debug: Resource addition in 0.12 seconds
> debug: Performed resource comparison in 0.39 seconds
> debug: Using cached node for server1.dev.domain.com
> debug: Saved catalog to database in 0.41 seconds
> info: Applying configuration version '1284564089'
>
> Still... is not collecting the hosts even thought the $var values
> correct/exported.... Any ideas?
>
> Thanks,
>
> On Sep 15, 9:37 am, CraftyTech <[email protected]> wrote:
>
>
>
> > Pardon my ignorance, but how do I do a notice statement?  I checked
> > the puppet database and the value is there:
>
> > mysql> select *  from parameters where host_id = 133;
> > +----+--------+-------+---------+---------------------
> > +---------------------+--------------+---------------+-----------+
> > | id | name   | value | host_id | created_at          |
> > updated_at          | hostgroup_id | type          | domain_id |
> > +----+--------+-------+---------+---------------------
> > +---------------------+--------------+---------------+-----------+
> > | 45 | $group | test  |     133 | 2010-09-14 17:04:15 | 2010-09-14
> > 19:19:53 |         NULL | HostParameter |      NULL |
> > +----+--------+-------+---------+---------------------
> > +---------------------+--------------+---------------+------
>
> > I'm using puppet 0.25.5/ MySql for stored configs / Foreman for Ext
> > Nodes.
>
> > On Sep 15, 4:28 am, Brice Figureau <[email protected]>
> > wrote:
>
> > > On Tue, 2010-09-14 at 17:21 -0700, CraftyTech wrote:
> > > > Has anyone used this feature?
>
> > > Yes I do and it works fine.
> > > What db engine are you using?
> > > See below for more ideas of debugging the issue.
>
> > > > On Sep 14, 4:08 pm, CraftyTech <[email protected]> wrote:
> > > > > btw: I'm running puppet 0.25.5
>
> > > > > On Sep 14, 3:53 pm, CraftyTech <[email protected]> wrote:
>
> > > > > > Hello All,
>
> > > > > >      I've been battling with issue all day to no avail.  I'm 
> > > > > > exporting
> > > > > > all host entries this way:
> > > > > > class basics::host_export  { @@host{ "$fqdn":
> > > > > >                       ip => $ipaddress,
> > > > > >                       host_aliases => $hostname,
> > > > > >                       tag => $group
> > > > > >                       }}
> > > > > > and I'm collecting them this way:
> > > > > > class basics::host_collect { Host <<|tag==$group |>> }
>
> > > > > > The values for $group is obviously defined.  The thing is that
> > > > > > specifying the tag=>$group doesn't work for me, I always get (from
> > > > > > debug mode):
>
> > > > > > debug: Scope(Class[basics::basics::host_collect]): Collected 0 Host
> > > > > > resources in 0.01 seconds..
>
> > > > > > It doesn't collect any nodes even though I've defined a couple.  If 
> > > > > > I
> > > > > > do the same thing without the tag definition, it works fine; i.e:
>
> > > > > > class basics::host_export  { @@host{ "$fqdn":
> > > > > >                       ip => $ipaddress,
> > > > > >                       host_aliases => $hostname
> > > > > >                       }}
> > > > > > class basics::host_collect { Host <<| |>> }
>
> > > > > > The thing is that I don't want to get all hosts, I want to filter 
> > > > > > per
> > > > > > group.  Can anyone share how they're doing this?  Thanks,
>
> > > Are you sure you already have exported some hosts?
> > > You can check your exported resources database for this resource, they
> > > should have the exported column non-null (or 1).
>
> > > You should also check, still in the database, that this resource is
> > > tagged with the correct value of $group.
>
> > > Check $group is defined in both classes (use some notice statement to
> > > debug). It is possible that because of scope issues $group is not
> > > defined when you collect.
>
> > > Try to collect by title (ie title == "knownhost") to see if that works
> > > better. That will let you know if the system is working correctly for
> > > you.
>
> > > HTH,
> > > --
> > > Brice Figureau
> > > Follow the latest Puppet Community evolutions onwww.planetpuppet.org!

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

Reply via email to