Hello there

I'm having a problem (again). At my site we are maintaining RHEL,
CentOS and Solaris hosts, with in the future possibly some FreeBSD
also being added into the mix. To this end instead of constantly
branching whenever running a command on the console (or remembering
where it is located), I've set all the commands we need so far up in
the default node:

class defaultnode
{
        if ($httpd_group == "")
        {
                $httpd_group = "root"
        }

        case $operatingsystem
        {
                centos, redhat:
                {
                        $cat_cmd        = "/bin/cat"
                        $chkconfig_cmd  = "/sbin/chkconfig"
                        $chown_cmd      = "/bin/chown"
                        $chmod_cmd      = "/bin/chmod"
                        $echo_cmd       = "/bin/echo"
                        $grep_cmd       = "/bin/grep"
                        $ln_cmd         = "/bin/ln"
                        $ls_cmd         = "/bin/ls"
                        $mailx_cmd      = "/bin/mailx"
                        $newaliases_cmd = "/usr/bin/newaliases"
                        $rm_cmd         = "/bin/rm"
                        $sed_cmd        = "/bin/sed"
                        $tar_cmd        = "/bin/tar"
                        $touch_cmd      = "/bin/touch"
                        $wget_cmd       = "/usr/bin/wget"

                        include redhat-default
                }
                solaris:
                {
                        $cat_cmd        = "/usr/bin/cat"
                        $chown_cmd      = "/usr/bin/chown"
                        $chmod_cmd      = "/usr/bin/chmod"
                        $echo_cmd       = "/usr/bin/echo"
                        $grep_cmd       = "/usr/bin/grep"
                        $mailx_cmd      = "/usr/bin/mailx"
                        $newaliases_cmd = "/usr/sbin/newaliases"
                        $rm_cmd         = "/usr/bin/rm"
                        $tar_cmd        = "/usr/sfw/bin/gtar"

                        include solaris-default
                }
                default:
                {
                        include shared-default
                }
        }
}

which is called by all nodes, eg:

node "testnode.example.org"
{
        include defaultnode

        exec
        { "$chkconfig_cmd snmpd on && $touch_cmd /tmp/
snmpd_chkconfig.USG":
                cwd => "/",
                creates => "/tmp/snmpd_chkconfig.USG",
        }

}

But when i run puppet the variables aren't defined:
err: Could not create  snmpd on &&  /tmp/snmpd_chkconfig.USG: ' snmpd
on &&  /tmp/snmpd_chkconfig.USG' is both unqualifed and specified no
search path at /etc/puppet/manifests/nodes/testnode.node:9
warning: Not using cache on failed catalog
warning: Configuration could not be instantiated: ' snmpd on &&  /tmp/
snmpd_chkconfig.USG' is both unqualifed and specified no search path
at /etc/puppet/manifests/nodes/testnode.node:9


The thing is, it seems to work occasionally, on some hosts, but i
can't see the rhyme or reason behind this...
--~--~---------~--~----~------------~-------~--~----~
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