I''m new at this. I''ve pored over the Quickstart and Best
Practices.
I''ve searched, looked through this list''s archives, and here I
am.
When I run "puppet -d --parseonly site.pp on the following I get this:
debug: importing ''base.pp''
debug: importing ''httpserver.pp''
err: Could not parse for environment development: Could not match
''class'' at httpserver.pp:2
When I take the contents of httpserver.pp and paste them into the end
of site.pp instead, I get no errors.
What am I doing wrong?
Thanks.
------------------------------------------------------------
#site.pp
filebucket { main: server => puppet }
File { backup => main }
Exec { path => "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin/:/
bin:/sbin" }
Package {
provider => $operatingsystem ? {
centos => yum,
redhat => up2date
}
}
schedule { everyfive:
period => hourly,
repeat => 12,
}
import "base"
import "httpserver"
-----
# base.pp
class base {
file { "/etc/passwd":
owner => root,
group => root,
mode => 644,
}
host { "puppet":
ip => "172.16.2.12",
ensure => present,
}
host { "svn":
alias => ["svn.online", "svn.online.amexpub.com"],
ip => "172.16.2.12",
ensure => present,
}
}
---
# httpserver.pp
class httpserver {
package { "httpd":
ensure => installed,
ensure => running,
schedule => everyfive,
}
service { "httpd":
subscribe => File["/etc/httpd/conf/httpd.conf"],
}
}
--~--~---------~--~----~------------~-------~--~----~
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-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---
On Tue, Jun 24, 2008 at 12:40 PM, steve koppelman <steve.koppelman@gmail.com> wrote:> > I''m new at this. I''ve pored over the Quickstart and Best Practices. > I''ve searched, looked through this list''s archives, and here I am. > > When I run "puppet -d --parseonly site.pp on the following I get this: > > debug: importing ''base.pp'' > debug: importing ''httpserver.pp'' > err: Could not parse for environment development: Could not match > ''class'' at httpserver.pp:2 > > When I take the contents of httpserver.pp and paste them into the end > of site.pp instead, I get no errors. > > What am I doing wrong? > > Thanks. > > ------------------------------------------------------------ > > #site.pp > > filebucket { main: server => puppet } > > File { backup => main } > Exec { path => "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin/:/ > bin:/sbin" } > > Package { > provider => $operatingsystem ? { > centos => yum, > redhat => up2date > } > } > > schedule { everyfive: > period => hourly, > repeat => 12, > } > > import "base" > import "httpserver" > > ----- > > # base.pp > > class base { > file { "/etc/passwd": > owner => root, > group => root, > mode => 644, > } > > host { "puppet": > ip => "172.16.2.12", > ensure => present, > } > > host { "svn": > alias => ["svn.online", "svn.online.amexpub.com"], > ip => "172.16.2.12", > ensure => present, > } > > } > > --- > > # httpserver.pp > > class httpserver { > package { "httpd": > ensure => installed, > ensure => running, > schedule => everyfive, > } > service { "httpd": > subscribe => File["/etc/httpd/conf/httpd.conf"], > } > }What does your puppet.conf look like and what is the node definition? Evan --~--~---------~--~----~------------~-------~--~----~ 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-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
When I posted those files, nodes.pp was empty. Still is. Now I have
some nodes in site.pp as follows, at the end of the site.pp manifest.
node default {
include base
}
node "foo.bar.com" inherits default {
exec { "/usr/bin/svn up":
cwd => "/var/spool/puppet-conf-aep/configs",
schedule => everyfive
}
# I AM THE PUPPETMASTER
service { "puppetmaster":
ensure => running,
enable => true,
}
file { "/var/spool/puppet-conf-aep":
ensure => directory,
}
}
#puppet.conf (default, as installed by DAG/rpmforge package)
[main]
# Where Puppet stores dynamic and growing data.
# The default value is ''/var/puppet''.
vardir = /var/lib/puppet
# The Puppet log directory.
# The default value is ''$vardir/log''.
logdir = /var/log/puppet
# Where Puppet PID files are kept.
# The default value is ''$vardir/run''.
rundir = /var/run/puppet
# Where SSL certificates are kept.
# The default value is ''$confdir/ssl''.
ssldir = $vardir/ssl
[puppetd]
# The file in which puppetd stores a list of the classes
# associated with the retrieved configuratiion. Can be loaded in
# the separate ``puppet`` executable using the ``--loadclasses``
# option.
# The default value is ''$confdir/classes.txt''.
classfile = $vardir/classes.txt
# Where puppetd caches the local configuration. An
# extension indicating the cache format is added automatically.
# The default value is ''$confdir/localconfig''.
localconfig = $vardir/localconfig
On Jun 24, 3:32 pm, "Evan Hisey" <ehi...@gmail.com>
wrote:> On Tue, Jun 24, 2008 at 12:40 PM, steve koppelman
>
> <steve.koppel...@gmail.com> wrote:
>
> > I''m new at this. I''ve pored over the Quickstart and
Best Practices.
> > I''ve searched, looked through this list''s archives,
and here I am.
>
> > When I run "puppet -d --parseonly site.pp on the following I get
this:
>
> > debug: importing ''base.pp''
> > debug: importing ''httpserver.pp''
> > err: Could not parse for environment development: Could not match
> > ''class'' at httpserver.pp:2
>
> > When I take the contents of httpserver.pp and paste them into the end
> > of site.pp instead, I get no errors.
>
> > What am I doing wrong?
>
> > Thanks.
>
> > ------------------------------------------------------------
>
> > #site.pp
>
> > filebucket { main: server => puppet }
>
> > File { backup => main }
> > Exec { path =>
"/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin/:/
> > bin:/sbin" }
>
> > Package {
> > provider => $operatingsystem ? {
> > centos => yum,
> > redhat => up2date
> > }
> > }
>
> > schedule { everyfive:
> > period => hourly,
> > repeat => 12,
> > }
>
> > import "base"
> > import "httpserver"
>
> > -----
>
> > # base.pp
>
> > class base {
> > file { "/etc/passwd":
> > owner => root,
> > group => root,
> > mode => 644,
> > }
>
> > host { "puppet":
> > ip => "172.16.2.12",
> > ensure => present,
> > }
>
> > host { "svn":
> > alias => ["svn.online",
"svn.online.amexpub.com"],
> > ip => "172.16.2.12",
> > ensure => present,
> > }
>
> > }
>
> > ---
>
> > # httpserver.pp
>
> > class httpserver {
> > package { "httpd":
> > ensure => installed,
> > ensure => running,
> > schedule => everyfive,
> > }
> > service { "httpd":
> > subscribe => File["/etc/httpd/conf/httpd.conf"],
> > }
> > }
>
> What does your puppet.conf look like and what is the node definition?
>
> Evan
--~--~---------~--~----~------------~-------~--~----~
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-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---
On Tue, Jun 24, 2008 at 2:46 PM, steve koppelman <steve.koppelman@gmail.com> wrote:> > When I posted those files, nodes.pp was empty. Still is. Now I have > some nodes in site.pp as follows, at the end of the site.pp manifest. > > node default { > include base > } > > node "foo.bar.com" inherits default { > exec { "/usr/bin/svn up": > cwd => "/var/spool/puppet-conf-aep/configs", > schedule => everyfive > } > > # I AM THE PUPPETMASTER > service { "puppetmaster": > ensure => running, > enable => true, > } > file { "/var/spool/puppet-conf-aep": > ensure => directory, > } > } > > > > #puppet.conf (default, as installed by DAG/rpmforge package) > > [main] > # Where Puppet stores dynamic and growing data. > # The default value is ''/var/puppet''. > vardir = /var/lib/puppet > > # The Puppet log directory. > # The default value is ''$vardir/log''. > logdir = /var/log/puppet > > # Where Puppet PID files are kept. > # The default value is ''$vardir/run''. > rundir = /var/run/puppet > > # Where SSL certificates are kept. > # The default value is ''$confdir/ssl''. > ssldir = $vardir/ssl > > [puppetd] > # The file in which puppetd stores a list of the classes > # associated with the retrieved configuratiion. Can be loaded in > # the separate ``puppet`` executable using the ``--loadclasses`` > # option. > # The default value is ''$confdir/classes.txt''. > classfile = $vardir/classes.txt > > # Where puppetd caches the local configuration. An > # extension indicating the cache format is added automatically. > # The default value is ''$confdir/localconfig''. > localconfig = $vardir/localconfig >This will likely give the same error but try running puppetd --test --noop adn see what teh messages are. Evan --~--~---------~--~----~------------~-------~--~----~ 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-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
1. Pasted the node declarations above into an empty manifests/
nodes.pp.
2. Added ''import "nodes"'' after ''import
"base"'' in site.pp.
3. Ran --parseonly and then --noop (output below). Broke both ways.
4. For fun, put the node declarations back in site.pp and commented
out the nodes import.
5. -d --parseonly ran without error messages, but --noop showed an
identical stack trace, so the problem may not have anything to do with
the importing.
That helped a bit, though I''m still baffled as to what I''m
doing
wrong.
$ puppet -d --parseonly conf/manifests/site.pp
debug: importing ''conf/manifests/base.pp''
debug: importing ''conf/manifests/nodes.pp''
err: Could not parse for environment development: Could not match
''node'' at conf/manifests/nodes.pp:2
$ puppet -d --noop conf/manifests/site.pp
/usr/lib/ruby/1.8/resolv.rb:299:in `open'': can''t convert nil
into
String (TypeError)
from /usr/lib/ruby/1.8/resolv.rb:299:in `lazy_initialize''
from /usr/lib/ruby/1.8/resolv.rb:295:in `synchronize''
from /usr/lib/ruby/1.8/resolv.rb:295:in `lazy_initialize''
from /usr/lib/ruby/1.8/resolv.rb:337:in `each_address''
from /usr/lib/ruby/1.8/resolv.rb:244:in `each_address''
from /usr/lib/ruby/1.8/resolv.rb:243:in `each''
from /usr/lib/ruby/1.8/resolv.rb:243:in `each_address''
from /usr/lib/ruby/1.8/resolv.rb:227:in `getaddress''
... 14 levels...
from /usr/lib/ruby/gems/1.8/gems/puppet-0.24.4/lib/puppet/
indirector.rb:
42:in `find''
from /usr/lib/ruby/gems/1.8/gems/puppet-0.24.4/bin/puppet:185
from /usr/bin/puppet:19:in `load''
from /usr/bin/puppet:19
On Jun 24, 3:59 pm, "Evan Hisey" <ehi...@gmail.com>
wrote:> On Tue, Jun 24, 2008 at 2:46 PM, steve koppelman
>
> <steve.koppel...@gmail.com> wrote:
>
> > When I posted those files, nodes.pp was empty. Still is. Now I have
> > some nodes in site.pp as follows, at the end of the site.pp manifest.
>
> > node default {
> > include base
> > }
>
> > node "foo.bar.com" inherits default {
> > exec { "/usr/bin/svn up":
> > cwd =>
"/var/spool/puppet-conf-aep/configs",
> > schedule => everyfive
> > }
>
> > # I AM THE PUPPETMASTER
> > service { "puppetmaster":
> > ensure => running,
> > enable => true,
> > }
> > file { "/var/spool/puppet-conf-aep":
> > ensure => directory,
> > }
> > }
>
> > #puppet.conf (default, as installed by DAG/rpmforge package)
>
> > [main]
> > # Where Puppet stores dynamic and growing data.
> > # The default value is ''/var/puppet''.
> > vardir = /var/lib/puppet
>
> > # The Puppet log directory.
> > # The default value is ''$vardir/log''.
> > logdir = /var/log/puppet
>
> > # Where Puppet PID files are kept.
> > # The default value is ''$vardir/run''.
> > rundir = /var/run/puppet
>
> > # Where SSL certificates are kept.
> > # The default value is ''$confdir/ssl''.
> > ssldir = $vardir/ssl
>
> > [puppetd]
> > # The file in which puppetd stores a list of the classes
> > # associated with the retrieved configuratiion. Can be loaded in
> > # the separate ``puppet`` executable using the ``--loadclasses``
> > # option.
> > # The default value is ''$confdir/classes.txt''.
> > classfile = $vardir/classes.txt
>
> > # Where puppetd caches the local configuration. An
> > # extension indicating the cache format is added automatically.
> > # The default value is ''$confdir/localconfig''.
> > localconfig = $vardir/localconfig
>
> This will likely give the same error but try running puppetd --test
> --noop adn see what teh messages are.
>
> Evan
--~--~---------~--~----~------------~-------~--~----~
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-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---
Brendan Beveridge
2008-Jun-26 01:53 UTC
[Puppet Users] Re: Clearly not understanding import
that looks like you had syntax errors in httpserver.pp or you dont have manifestdir set Cheers Brendan(mrproper_) steve koppelman wrote:> I''m new at this. I''ve pored over the Quickstart and Best Practices. > I''ve searched, looked through this list''s archives, and here I am. > > When I run "puppet -d --parseonly site.pp on the following I get this: > > debug: importing ''base.pp'' > debug: importing ''httpserver.pp'' > err: Could not parse for environment development: Could not match > ''class'' at httpserver.pp:2 > > When I take the contents of httpserver.pp and paste them into the end > of site.pp instead, I get no errors. > > What am I doing wrong? > > Thanks. > > ------------------------------------------------------------ > > #site.pp > > filebucket { main: server => puppet } > > File { backup => main } > Exec { path => "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin/:/ > bin:/sbin" } > > Package { > provider => $operatingsystem ? { > centos => yum, > redhat => up2date > } > } > > schedule { everyfive: > period => hourly, > repeat => 12, > } > > import "base" > import "httpserver" > > ----- > > # base.pp > > class base { > file { "/etc/passwd": > owner => root, > group => root, > mode => 644, > } > > host { "puppet": > ip => "172.16.2.12", > ensure => present, > } > > host { "svn": > alias => ["svn.online", "svn.online.amexpub.com"], > ip => "172.16.2.12", > ensure => present, > } > > } > > --- > > # httpserver.pp > > class httpserver { > package { "httpd": > ensure => installed, > ensure => running, > schedule => everyfive, > } > service { "httpd": > subscribe => File["/etc/httpd/conf/httpd.conf"], > } > } > > >--~--~---------~--~----~------------~-------~--~----~ 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-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---