CraftyTech
2010-Jul-22 20:22 UTC
[Puppet Users] Foreman / External Nodes -- Node Not found
Hello All,
So I finally got around to start to cut over node definitions
from standard flat files to external nodes (foreman), and getting
error message: "Error 400 on SERVER: Could not find node
''nodename'';
cannot compile" - So basically it can''t pick up the node from the
external node config.
When I test the fetching of the yaml file it seems to work as I get a
result back: i.g:
curl -k https://foreman/node/nodename?format=yml
---
parameters:
puppetmaster: puppet
classes: []
environment: ""
##############################################################################################
This is my puppet.conf:
[main]
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
reports= log,foreman,rrdgraph,store
clientyamldir = /var/lib/puppet/yaml/node
pluginsync = true
external_nodes = /etc/puppet/external_node.rb
node_terminus = exec
[puppetmasterd]
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
modulepath = $confdir/modules
templatedir = /etc/puppet/manifests/templates
#clientyamldir = /var/lib/puppet/yaml/node
reportdir = /var/lib/puppet/reports
storeconfigs = true
dbadapter = mysql
dbuser = app_puppet
dbpassword = xxxxxxxxxxxxxx
dbserver = localhost
dbsocket = /sql/mysql/mysql.sock
rrddir = /var/lib/puppet/rrd
rrdinterval = $runinterval
rrdgraph = true
[puppetd]
classfile = $vardir/classes.txt
report = true
localconfig = $vardir/localconfig
Any ideas?
Thanks,
Henry
--
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.
Ohad Levy
2010-Jul-23 05:46 UTC
Re: [Puppet Users] Foreman / External Nodes -- Node Not found
Hi, The output you get from external nodes means that the host was not allocated to any class or puppet environment, make sure you edit the host details first in foreman. Ohad On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmedina@gmail.com> wrote:> Hello All, > > So I finally got around to start to cut over node definitions > from standard flat files to external nodes (foreman), and getting > error message: "Error 400 on SERVER: Could not find node ''nodename''; > cannot compile" - So basically it can''t pick up the node from the > external node config. > > When I test the fetching of the yaml file it seems to work as I get a > result back: i.g: > curl -k https://foreman/node/nodename?format=yml > > --- > parameters: > puppetmaster: puppet > classes: [] > > environment: "" > > > > > ############################################################################################## > This is my puppet.conf: > > > [main] > vardir = /var/lib/puppet > logdir = /var/log/puppet > rundir = /var/run/puppet > reports= log,foreman,rrdgraph,store > clientyamldir = /var/lib/puppet/yaml/node > pluginsync = true > external_nodes = /etc/puppet/external_node.rb > node_terminus = exec > > [puppetmasterd] > ssl_client_header = SSL_CLIENT_S_DN > ssl_client_verify_header = SSL_CLIENT_VERIFY > modulepath = $confdir/modules > templatedir = /etc/puppet/manifests/templates > #clientyamldir = /var/lib/puppet/yaml/node > reportdir = /var/lib/puppet/reports > storeconfigs = true > dbadapter = mysql > dbuser = app_puppet > dbpassword = xxxxxxxxxxxxxx > dbserver = localhost > dbsocket = /sql/mysql/mysql.sock > rrddir = /var/lib/puppet/rrd > rrdinterval = $runinterval > rrdgraph = true > > [puppetd] > classfile = $vardir/classes.txt > report = true > localconfig = $vardir/localconfig > > Any ideas? > > Thanks, > > Henry > > -- > 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<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- 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.
CraftyTech
2010-Jul-23 11:14 UTC
[Puppet Users] Re: Foreman / External Nodes -- Node Not found
Thanks for the reply Ohad. Actually, that''s part of the issue as well; If I edit the host via Foreman web interface, I can''t no longer see it from "curl -k https://foreman/node/nodename?format=yml"; I''d get message "404 Not Found" from the command line. On the flip side, I''d have two nodes of the same name listed in Foreman web interface; 1) A new one that get''s created when I run puppetd -t, and 2) The one that I edited via the web interface.... I know it sounds confusing, but that''s exactly what''s happening... It seems that the foreman environment, and puppet environment see two different nodes, even thought there''s only one host.yaml file.. On Jul 23, 1:46 am, Ohad Levy <ohadl...@gmail.com> wrote:> Hi, > > The output you get from external nodes means that the host was not allocated > to any class or puppet environment, make sure you edit the host details > first in foreman. > > Ohad > > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmed...@gmail.com> wrote: > > Hello All, > > > So I finally got around to start to cut over node definitions > > from standard flat files to external nodes (foreman), and getting > > error message: "Error 400 on SERVER: Could not find node ''nodename''; > > cannot compile" - So basically it can''t pick up the node from the > > external node config. > > > When I test the fetching of the yaml file it seems to work as I get a > > result back: i.g: > > curl -khttps://foreman/node/nodename?format=yml > > > --- > > parameters: > > puppetmaster: puppet > > classes: [] > > > environment: "" > > > ########################################################################### ################### > > This is my puppet.conf: > > > [main] > > vardir = /var/lib/puppet > > logdir = /var/log/puppet > > rundir = /var/run/puppet > > reports= log,foreman,rrdgraph,store > > clientyamldir = /var/lib/puppet/yaml/node > > pluginsync = true > > external_nodes = /etc/puppet/external_node.rb > > node_terminus = exec > > > [puppetmasterd] > > ssl_client_header = SSL_CLIENT_S_DN > > ssl_client_verify_header = SSL_CLIENT_VERIFY > > modulepath = $confdir/modules > > templatedir = /etc/puppet/manifests/templates > > #clientyamldir = /var/lib/puppet/yaml/node > > reportdir = /var/lib/puppet/reports > > storeconfigs = true > > dbadapter = mysql > > dbuser = app_puppet > > dbpassword = xxxxxxxxxxxxxx > > dbserver = localhost > > dbsocket = /sql/mysql/mysql.sock > > rrddir = /var/lib/puppet/rrd > > rrdinterval = $runinterval > > rrdgraph = true > > > [puppetd] > > classfile = $vardir/classes.txt > > report = true > > localconfig = $vardir/localconfig > > > Any ideas? > > > Thanks, > > > Henry > > > -- > > 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<puppet-users%2Bunsubscribe@google groups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/puppet-users?hl=en.-- 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.
CraftyTech
2010-Jul-23 11:57 UTC
[Puppet Users] Re: Foreman / External Nodes -- Node Not found
Small correction: "if I edit the host via Foreman web interface, I can''t no longer see it from "curl -k https://foreman/node/nodename?format=yml"; I''d get message "404 Not Found" from the command line" --> I''d have to re- run puppetd -t, to be able to get a result from "curl -k https://foreman/node/nodename?format=yml" again.. after that --> I''d have two nodes of the same name listed in Foreman web interface.. On Jul 23, 7:14 am, CraftyTech <hmmed...@gmail.com> wrote:> Thanks for the reply Ohad. Actually, that''s part of the issue as > well; If I edit the host via Foreman web interface, I can''t no longer > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > get message "404 Not Found" from the command line. On the flip side, > I''d have two nodes of the same name listed in Foreman web interface; > 1) A new one that get''s created when I run puppetd -t, and 2) The one > that I edited via the web interface.... I know it sounds confusing, > but that''s exactly what''s happening... It seems that the foreman > environment, and puppet environment see two different nodes, even > thought there''s only one host.yaml file.. > > On Jul 23, 1:46 am, Ohad Levy <ohadl...@gmail.com> wrote: > > > > > Hi, > > > The output you get from external nodes means that the host was not allocated > > to any class or puppet environment, make sure you edit the host details > > first in foreman. > > > Ohad > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmed...@gmail.com> wrote: > > > Hello All, > > > > So I finally got around to start to cut over node definitions > > > from standard flat files to external nodes (foreman), and getting > > > error message: "Error 400 on SERVER: Could not find node ''nodename''; > > > cannot compile" - So basically it can''t pick up the node from the > > > external node config. > > > > When I test the fetching of the yaml file it seems to work as I get a > > > result back: i.g: > > > curl -khttps://foreman/node/nodename?format=yml > > > > --- > > > parameters: > > > puppetmaster: puppet > > > classes: [] > > > > environment: "" > > > > ########################################################################### ################### > > > This is my puppet.conf: > > > > [main] > > > vardir = /var/lib/puppet > > > logdir = /var/log/puppet > > > rundir = /var/run/puppet > > > reports= log,foreman,rrdgraph,store > > > clientyamldir = /var/lib/puppet/yaml/node > > > pluginsync = true > > > external_nodes = /etc/puppet/external_node.rb > > > node_terminus = exec > > > > [puppetmasterd] > > > ssl_client_header = SSL_CLIENT_S_DN > > > ssl_client_verify_header = SSL_CLIENT_VERIFY > > > modulepath = $confdir/modules > > > templatedir = /etc/puppet/manifests/templates > > > #clientyamldir = /var/lib/puppet/yaml/node > > > reportdir = /var/lib/puppet/reports > > > storeconfigs = true > > > dbadapter = mysql > > > dbuser = app_puppet > > > dbpassword = xxxxxxxxxxxxxx > > > dbserver = localhost > > > dbsocket = /sql/mysql/mysql.sock > > > rrddir = /var/lib/puppet/rrd > > > rrdinterval = $runinterval > > > rrdgraph = true > > > > [puppetd] > > > classfile = $vardir/classes.txt > > > report = true > > > localconfig = $vardir/localconfig > > > > Any ideas? > > > > Thanks, > > > > Henry > > > > -- > > > 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<puppet-users%2Bunsubscribe@google groups.com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/puppet-users?hl=en.-- 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.
CraftyTech
2010-Jul-23 15:53 UTC
[Puppet Users] Re: Foreman / External Nodes -- Node Not found
Now I''m getting some results (Some progress finally !!): --- parameters: puppetmaster: puppet domainname: dev.xxxxx.com classes: - basic environment: puppetmasterd But I still get: "server: Error 400 on SERVER: Could not find node ''nodename''". Does this mean that I have define a default node and include it in the site.pp? From the forums I see mixed reviews; some saying what with external nodes you need a default node definition, and others saying that you don''t need any node definition and that everything should rely on the external node classifier.. any thoughts or suggestions? Thanks, On Jul 23, 7:57 am, CraftyTech <hmmed...@gmail.com> wrote:> Small correction: "if I edit the host via Foreman web interface, I > can''t no longer > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > get message "404 Not Found" from the command line" --> I''d have to re- > run puppetd -t, to be able to get a result from "curl -khttps://foreman/node/nodename?format=yml" again.. after that --> I''d > have two nodes of the same name listed in Foreman web interface.. > > On Jul 23, 7:14 am, CraftyTech <hmmed...@gmail.com> wrote: > > > > > Thanks for the reply Ohad. Actually, that''s part of the issue as > > well; If I edit the host via Foreman web interface, I can''t no longer > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > get message "404 Not Found" from the command line. On the flip side, > > I''d have two nodes of the same name listed in Foreman web interface; > > 1) A new one that get''s created when I run puppetd -t, and 2) The one > > that I edited via the web interface.... I know it sounds confusing, > > but that''s exactly what''s happening... It seems that the foreman > > environment, and puppet environment see two different nodes, even > > thought there''s only one host.yaml file.. > > > On Jul 23, 1:46 am, Ohad Levy <ohadl...@gmail.com> wrote: > > > > Hi, > > > > The output you get from external nodes means that the host was not allocated > > > to any class or puppet environment, make sure you edit the host details > > > first in foreman. > > > > Ohad > > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmed...@gmail.com> wrote: > > > > Hello All, > > > > > So I finally got around to start to cut over node definitions > > > > from standard flat files to external nodes (foreman), and getting > > > > error message: "Error 400 on SERVER: Could not find node ''nodename''; > > > > cannot compile" - So basically it can''t pick up the node from the > > > > external node config. > > > > > When I test the fetching of the yaml file it seems to work as I get a > > > > result back: i.g: > > > > curl -khttps://foreman/node/nodename?format=yml > > > > > --- > > > > parameters: > > > > puppetmaster: puppet > > > > classes: [] > > > > > environment: "" > > > > > ########################################################################### ################### > > > > This is my puppet.conf: > > > > > [main] > > > > vardir = /var/lib/puppet > > > > logdir = /var/log/puppet > > > > rundir = /var/run/puppet > > > > reports= log,foreman,rrdgraph,store > > > > clientyamldir = /var/lib/puppet/yaml/node > > > > pluginsync = true > > > > external_nodes = /etc/puppet/external_node.rb > > > > node_terminus = exec > > > > > [puppetmasterd] > > > > ssl_client_header = SSL_CLIENT_S_DN > > > > ssl_client_verify_header = SSL_CLIENT_VERIFY > > > > modulepath = $confdir/modules > > > > templatedir = /etc/puppet/manifests/templates > > > > #clientyamldir = /var/lib/puppet/yaml/node > > > > reportdir = /var/lib/puppet/reports > > > > storeconfigs = true > > > > dbadapter = mysql > > > > dbuser = app_puppet > > > > dbpassword = xxxxxxxxxxxxxx > > > > dbserver = localhost > > > > dbsocket = /sql/mysql/mysql.sock > > > > rrddir = /var/lib/puppet/rrd > > > > rrdinterval = $runinterval > > > > rrdgraph = true > > > > > [puppetd] > > > > classfile = $vardir/classes.txt > > > > report = true > > > > localconfig = $vardir/localconfig > > > > > Any ideas? > > > > > Thanks, > > > > > Henry > > > > > -- > > > > 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<puppet-users%2Bunsubscribe@google groups.com> > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/puppet-users?hl=en.-- 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.
Ohad Levy
2010-Jul-24 06:14 UTC
Re: [Puppet Users] Re: Foreman / External Nodes -- Node Not found
Hi, Foreman returns 404 if a node is not found, if you want puppet do to something for undefined nodes, you would need to create a default node statement. what was your original problem? hostnames were not in fqdn? Ohad On Fri, Jul 23, 2010 at 11:53 PM, CraftyTech <hmmedina@gmail.com> wrote:> Now I''m getting some results (Some progress finally !!): > > --- > parameters: > puppetmaster: puppet > domainname: dev.xxxxx.com > classes: > - basic > environment: puppetmasterd > > But I still get: "server: Error 400 on SERVER: Could not find node > ''nodename''". Does this mean that I have define a default node and > include it in the site.pp? From the forums I see mixed reviews; some > saying what with external nodes you need a default node definition, > and others saying that you don''t need any node definition and that > everything should rely on the external node classifier.. any thoughts > or suggestions? > > Thanks, > > > > On Jul 23, 7:57 am, CraftyTech <hmmed...@gmail.com> wrote: > > Small correction: "if I edit the host via Foreman web interface, I > > can''t no longer > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > get message "404 Not Found" from the command line" --> I''d have to re- > > run puppetd -t, to be able to get a result from "curl > -khttps://foreman/node/nodename?format=yml" again.. after that --> I''d > > have two nodes of the same name listed in Foreman web interface.. > > > > On Jul 23, 7:14 am, CraftyTech <hmmed...@gmail.com> wrote: > > > > > > > > > Thanks for the reply Ohad. Actually, that''s part of the issue as > > > well; If I edit the host via Foreman web interface, I can''t no longer > > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > > get message "404 Not Found" from the command line. On the flip side, > > > I''d have two nodes of the same name listed in Foreman web interface; > > > 1) A new one that get''s created when I run puppetd -t, and 2) The one > > > that I edited via the web interface.... I know it sounds confusing, > > > but that''s exactly what''s happening... It seems that the foreman > > > environment, and puppet environment see two different nodes, even > > > thought there''s only one host.yaml file.. > > > > > On Jul 23, 1:46 am, Ohad Levy <ohadl...@gmail.com> wrote: > > > > > > Hi, > > > > > > The output you get from external nodes means that the host was not > allocated > > > > to any class or puppet environment, make sure you edit the host > details > > > > first in foreman. > > > > > > Ohad > > > > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmed...@gmail.com> > wrote: > > > > > Hello All, > > > > > > > So I finally got around to start to cut over node definitions > > > > > from standard flat files to external nodes (foreman), and getting > > > > > error message: "Error 400 on SERVER: Could not find node > ''nodename''; > > > > > cannot compile" - So basically it can''t pick up the node from the > > > > > external node config. > > > > > > > When I test the fetching of the yaml file it seems to work as I get > a > > > > > result back: i.g: > > > > > curl -khttps://foreman/node/nodename?format=yml > > > > > > > --- > > > > > parameters: > > > > > puppetmaster: puppet > > > > > classes: [] > > > > > > > environment: "" > > > > > > > > ########################################################################### > ################### > > > > > This is my puppet.conf: > > > > > > > [main] > > > > > vardir = /var/lib/puppet > > > > > logdir = /var/log/puppet > > > > > rundir = /var/run/puppet > > > > > reports= log,foreman,rrdgraph,store > > > > > clientyamldir = /var/lib/puppet/yaml/node > > > > > pluginsync = true > > > > > external_nodes = /etc/puppet/external_node.rb > > > > > node_terminus = exec > > > > > > > [puppetmasterd] > > > > > ssl_client_header = SSL_CLIENT_S_DN > > > > > ssl_client_verify_header = SSL_CLIENT_VERIFY > > > > > modulepath = $confdir/modules > > > > > templatedir = /etc/puppet/manifests/templates > > > > > #clientyamldir = /var/lib/puppet/yaml/node > > > > > reportdir = /var/lib/puppet/reports > > > > > storeconfigs = true > > > > > dbadapter = mysql > > > > > dbuser = app_puppet > > > > > dbpassword = xxxxxxxxxxxxxx > > > > > dbserver = localhost > > > > > dbsocket = /sql/mysql/mysql.sock > > > > > rrddir = /var/lib/puppet/rrd > > > > > rrdinterval = $runinterval > > > > > rrdgraph = true > > > > > > > [puppetd] > > > > > classfile = $vardir/classes.txt > > > > > report = true > > > > > localconfig = $vardir/localconfig > > > > > > > Any ideas? > > > > > > > Thanks, > > > > > > > Henry > > > > > > > -- > > > > > 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<puppet-users%2Bunsubscribe@googlegroups.com> > <puppet-users%2Bunsubscribe@google groups.com> > > > > > . > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/puppet-users?hl=en. > > -- > 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<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- 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.
CraftyTech
2010-Jul-26 12:50 UTC
[Puppet Users] Re: Foreman / External Nodes -- Node Not found
It was an issue with the FQDN value. Since it was a VM that was testing, I had the hostname value on /etc/sysconfig/network set to hostname only, as opposed to FQDN. Once I took care of that and value took in, then I could query the node via classifier/fqdn. On Jul 24, 2:14 am, Ohad Levy <ohadl...@gmail.com> wrote:> Hi, > > Foreman returns 404 if a node is not found, if you want puppet do to > something for undefined nodes, you would need to create a default node > statement. > > what was your original problem? hostnames were not in fqdn? > > Ohad > > > > On Fri, Jul 23, 2010 at 11:53 PM, CraftyTech <hmmed...@gmail.com> wrote: > > Now I''m getting some results (Some progress finally !!): > > > --- > > parameters: > > puppetmaster: puppet > > domainname: dev.xxxxx.com > > classes: > > - basic > > environment: puppetmasterd > > > But I still get: "server: Error 400 on SERVER: Could not find node > > ''nodename''". Does this mean that I have define a default node and > > include it in the site.pp? From the forums I see mixed reviews; some > > saying what with external nodes you need a default node definition, > > and others saying that you don''t need any node definition and that > > everything should rely on the external node classifier.. any thoughts > > or suggestions? > > > Thanks, > > > On Jul 23, 7:57 am, CraftyTech <hmmed...@gmail.com> wrote: > > > Small correction: "if I edit the host via Foreman web interface, I > > > can''t no longer > > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > > get message "404 Not Found" from the command line" --> I''d have to re- > > > run puppetd -t, to be able to get a result from "curl > > -khttps://foreman/node/nodename?format=yml" again.. after that --> I''d > > > have two nodes of the same name listed in Foreman web interface.. > > > > On Jul 23, 7:14 am, CraftyTech <hmmed...@gmail.com> wrote: > > > > > Thanks for the reply Ohad. Actually, that''s part of the issue as > > > > well; If I edit the host via Foreman web interface, I can''t no longer > > > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > > > get message "404 Not Found" from the command line. On the flip side, > > > > I''d have two nodes of the same name listed in Foreman web interface; > > > > 1) A new one that get''s created when I run puppetd -t, and 2) The one > > > > that I edited via the web interface.... I know it sounds confusing, > > > > but that''s exactly what''s happening... It seems that the foreman > > > > environment, and puppet environment see two different nodes, even > > > > thought there''s only one host.yaml file.. > > > > > On Jul 23, 1:46 am, Ohad Levy <ohadl...@gmail.com> wrote: > > > > > > Hi, > > > > > > The output you get from external nodes means that the host was not > > allocated > > > > > to any class or puppet environment, make sure you edit the host > > details > > > > > first in foreman. > > > > > > Ohad > > > > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmed...@gmail.com> > > wrote: > > > > > > Hello All, > > > > > > > So I finally got around to start to cut over node definitions > > > > > > from standard flat files to external nodes (foreman), and getting > > > > > > error message: "Error 400 on SERVER: Could not find node > > ''nodename''; > > > > > > cannot compile" - So basically it can''t pick up the node from the > > > > > > external node config. > > > > > > > When I test the fetching of the yaml file it seems to work as I get > > a > > > > > > result back: i.g: > > > > > > curl -khttps://foreman/node/nodename?format=yml > > > > > > > --- > > > > > > parameters: > > > > > > puppetmaster: puppet > > > > > > classes: [] > > > > > > > environment: "" > > > ########################################################################### > > ################### > > > > > > This is my puppet.conf: > > > > > > > [main] > > > > > > vardir = /var/lib/puppet > > > > > > logdir = /var/log/puppet > > > > > > rundir = /var/run/puppet > > > > > > reports= log,foreman,rrdgraph,store > > > > > > clientyamldir = /var/lib/puppet/yaml/node > > > > > > pluginsync = true > > > > > > external_nodes = /etc/puppet/external_node.rb > > > > > > node_terminus = exec > > > > > > > [puppetmasterd] > > > > > > ssl_client_header = SSL_CLIENT_S_DN > > > > > > ssl_client_verify_header = SSL_CLIENT_VERIFY > > > > > > modulepath = $confdir/modules > > > > > > templatedir = /etc/puppet/manifests/templates > > > > > > #clientyamldir = /var/lib/puppet/yaml/node > > > > > > reportdir = /var/lib/puppet/reports > > > > > > storeconfigs = true > > > > > > dbadapter = mysql > > > > > > dbuser = app_puppet > > > > > > dbpassword = xxxxxxxxxxxxxx > > > > > > dbserver = localhost > > > > > > dbsocket = /sql/mysql/mysql.sock > > > > > > rrddir = /var/lib/puppet/rrd > > > > > > rrdinterval = $runinterval > > > > > > rrdgraph = true > > > > > > > [puppetd] > > > > > > classfile = $vardir/classes.txt > > > > > > report = true > > > > > > localconfig = $vardir/localconfig > > > > > > > Any ideas? > > > > > > > Thanks, > > > > > > > Henry > > > > > > > -- > > > > > > 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<puppet-users%2Bunsubscribe@google groups.com> > > <puppet-users%2Bunsubscribe@google groups.com> > > > > > > . > > > > > > For more options, visit this group at > > > > > >http://groups.google.com/group/puppet-users?hl=en. > > > -- > > 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<puppet-users%2Bunsubscribe@google groups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/puppet-users?hl=en.-- 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.
CraftyTech
2010-Jul-27 15:13 UTC
[Puppet Users] Re: Foreman / External Nodes -- Node Not found
So this is where I''m at now: Step 3) From Server: RAILS_ENV=production rake db:migrate; RAILS_ENV=production rake puppet:import:hosts_and_facts; rake puppet:import:puppet_classes -- trace RAILS_ENV=production from client''s command line: Step 2) curl -k https://server/node/client.dev.domain.com?format=yml --- parameters: puppetmaster: puppet domainname: dev.domain.com classes: - basic environment: production Step 3) puppetd -t notice: Ignoring --listen on onetime run err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find node ''client.dev.domain.com''; cannot compile warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run The crazy thing is that with webrick, I just point the node classifier to server:port and it works just fine. The issue is the passenger/ apache config, which yields a result when queried via curl command.. so I''m at a lost here... can anyone think of a way to trace the apache/ passenger interaction to see where it dies out? right now I have the foreman_url pointed to "https://server" ( I also tried https://server:443 and http://server:443). If you guys have a working Apache/Passenger with Foreman working, do you mind sharing your vhost.conf? Thanks, On Jul 26, 8:50 am, CraftyTech <hmmed...@gmail.com> wrote:> It was an issue with the FQDN value. Since it was a VM that was > testing, I had the hostname value on /etc/sysconfig/network set to > hostname only, as opposed to FQDN. Once I took care of that and value > took in, then I could query the node via classifier/fqdn. > > On Jul 24, 2:14 am, Ohad Levy <ohadl...@gmail.com> wrote: > > > > > Hi, > > > Foreman returns 404 if a node is not found, if you want puppet do to > > something for undefined nodes, you would need to create a default node > > statement. > > > what was your original problem? hostnames were not in fqdn? > > > Ohad > > > On Fri, Jul 23, 2010 at 11:53 PM, CraftyTech <hmmed...@gmail.com> wrote: > > > Now I''m getting some results (Some progress finally !!): > > > > --- > > > parameters: > > > puppetmaster: puppet > > > domainname: dev.xxxxx.com > > > classes: > > > - basic > > > environment: puppetmasterd > > > > But I still get: "server: Error 400 on SERVER: Could not find node > > > ''nodename''". Does this mean that I have define a default node and > > > include it in the site.pp? From the forums I see mixed reviews; some > > > saying what with external nodes you need a default node definition, > > > and others saying that you don''t need any node definition and that > > > everything should rely on the external node classifier.. any thoughts > > > or suggestions? > > > > Thanks, > > > > On Jul 23, 7:57 am, CraftyTech <hmmed...@gmail.com> wrote: > > > > Small correction: "if I edit the host via Foreman web interface, I > > > > can''t no longer > > > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > > > get message "404 Not Found" from the command line" --> I''d have to re- > > > > run puppetd -t, to be able to get a result from "curl > > > -khttps://foreman/node/nodename?format=yml" again.. after that --> I''d > > > > have two nodes of the same name listed in Foreman web interface.. > > > > > On Jul 23, 7:14 am, CraftyTech <hmmed...@gmail.com> wrote: > > > > > > Thanks for the reply Ohad. Actually, that''s part of the issue as > > > > > well; If I edit the host via Foreman web interface, I can''t no longer > > > > > see it from "curl -khttps://foreman/node/nodename?format=yml"; I''d > > > > > get message "404 Not Found" from the command line. On the flip side, > > > > > I''d have two nodes of the same name listed in Foreman web interface; > > > > > 1) A new one that get''s created when I run puppetd -t, and 2) The one > > > > > that I edited via the web interface.... I know it sounds confusing, > > > > > but that''s exactly what''s happening... It seems that the foreman > > > > > environment, and puppet environment see two different nodes, even > > > > > thought there''s only one host.yaml file.. > > > > > > On Jul 23, 1:46 am, Ohad Levy <ohadl...@gmail.com> wrote: > > > > > > > Hi, > > > > > > > The output you get from external nodes means that the host was not > > > allocated > > > > > > to any class or puppet environment, make sure you edit the host > > > details > > > > > > first in foreman. > > > > > > > Ohad > > > > > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech <hmmed...@gmail.com> > > > wrote: > > > > > > > Hello All, > > > > > > > > So I finally got around to start to cut over node definitions > > > > > > > from standard flat files to external nodes (foreman), and getting > > > > > > > error message: "Error 400 on SERVER: Could not find node > > > ''nodename''; > > > > > > > cannot compile" - So basically it can''t pick up the node from the > > > > > > > external node config. > > > > > > > > When I test the fetching of the yaml file it seems to work as I get > > > a > > > > > > > result back: i.g: > > > > > > > curl -khttps://foreman/node/nodename?format=yml > > > > > > > > --- > > > > > > > parameters: > > > > > > > puppetmaster: puppet > > > > > > > classes: [] > > > > > > > > environment: "" > > > > ########################################################################### > > > ################### > > > > > > > This is my puppet.conf: > > > > > > > > [main] > > > > > > > vardir = /var/lib/puppet > > > > > > > logdir = /var/log/puppet > > > > > > > rundir = /var/run/puppet > > > > > > > reports= log,foreman,rrdgraph,store > > > > > > > clientyamldir = /var/lib/puppet/yaml/node > > > > > > > pluginsync = true > > > > > > > external_nodes = /etc/puppet/external_node.rb > > > > > > > node_terminus = exec > > > > > > > > [puppetmasterd] > > > > > > > ssl_client_header = SSL_CLIENT_S_DN > > > > > > > ssl_client_verify_header = SSL_CLIENT_VERIFY > > > > > > > modulepath = $confdir/modules > > > > > > > templatedir = /etc/puppet/manifests/templates > > > > > > > #clientyamldir = /var/lib/puppet/yaml/node > > > > > > > reportdir = /var/lib/puppet/reports > > > > > > > storeconfigs = true > > > > > > > dbadapter = mysql > > > > > > > dbuser = app_puppet > > > > > > > dbpassword = xxxxxxxxxxxxxx > > > > > > > dbserver = localhost > > > > > > > dbsocket = /sql/mysql/mysql.sock > > > > > > > rrddir = /var/lib/puppet/rrd > > > > > > > rrdinterval = $runinterval > > > > > > > rrdgraph = true > > > > > > > > [puppetd] > > > > > > > classfile = $vardir/classes.txt > > > > > > > report = true > > > > > > > localconfig = $vardir/localconfig > > > > > > > > Any ideas? > > > > > > > > Thanks, > > > > > > > > Henry > > > > > > > > -- > > > > > > > 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<puppet-users%2Bunsubscribe@google groups.com> > > > <puppet-users%2Bunsubscribe@google groups.com> > > > > > > > . > > > > > > > For more options, visit this group at > > > > > > >http://groups.google.com/group/puppet-users?hl=en. > > > > -- > > > 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<puppet-users%2Bunsubscribe@google groups.com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/puppet-users?hl=en.-- 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.
CraftyTech
2010-Jul-27 17:43 UTC
[Puppet Users] Re: Foreman / External Nodes -- Node Not found
Update:
It looks like the culprit is the external node classifier: This
is the error from the server:
err: Could not find node ''client.dev.domain.com''; cannot
compile
err: Failed to find client.dev.domain.com via exec: Execution of ''/etc/
puppet/external_node.rb client.dev.domain.com'' returned 1: /usr/lib/
ruby/1.8/net/http.rb:2022:in `read_status_line'': wrong status line:
"<!
DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN
\">" (Net::HTTPBadResponse)
from /usr/lib/ruby/1.8/net/http.rb:2009:in `read_new''
from /usr/lib/ruby/1.8/net/http.rb:1050:in `request''
from /etc/puppet/external_node.rb:14
from /usr/lib/ruby/1.8/net/http.rb:543:in `start''
from /usr/lib/ruby/1.8/net/http.rb:440:in `start''
from /etc/puppet/external_node.rb:13
err: Could not find node ''client.dev.domain.com''; cannot
compile
This is the Node Classifier:
#!/bin/ruby
# a simple script which fetches external nodes from Foreman
# you can basically use anything that knows how to get http data, e.g.
wget/curl etc.
# Foreman url
foreman_url="http://server:443"
require ''net/http''
foreman_url += "/node/#{ARGV[0]}?format=yml"
url = URI.parse(foreman_url)
req = Net::HTTP::Get.new(foreman_url)
res = Net::HTTP.start(url.host, url.port) { |http|
http.request(req)
}
case res
when Net::HTTPOK
puts res.body
else
$stderr.puts "Error retrieving node %s: %s" % [ARGV[0], res.class]
What node classifier do you guys use with Apache/Passenger config?
Thanks,
On Jul 27, 11:13 am, CraftyTech <hmmed...@gmail.com>
wrote:> So this is where I''m at now:
>
> Step 3)
> From Server:
> RAILS_ENV=production rake db:migrate; RAILS_ENV=production rake
> puppet:import:hosts_and_facts; rake puppet:import:puppet_classes --
> trace RAILS_ENV=production
>
> from client''s command line:
> Step 2)
> curl -khttps://server/node/client.dev.domain.com?format=yml
> ---
> parameters:
> puppetmaster: puppet
> domainname: dev.domain.com
> classes:
> - basic
> environment: production
>
> Step 3)
>
> puppetd -t
> notice: Ignoring --listen on onetime run
> err: Could not retrieve catalog from remote server: Error 400 on
> SERVER: Could not find node ''client.dev.domain.com'';
cannot compile
> warning: Not using cache on failed catalog
> err: Could not retrieve catalog; skipping run
>
> The crazy thing is that with webrick, I just point the node classifier
> to server:port and it works just fine. The issue is the passenger/
> apache config, which yields a result when queried via curl command..
> so I''m at a lost here... can anyone think of a way to trace the
apache/
> passenger interaction to see where it dies out? right now I have the
> foreman_url pointed to "https://server" ( I also
triedhttps://server:443
> andhttp://server:443).
>
> If you guys have a working Apache/Passenger with Foreman working, do
> you mind sharing your vhost.conf?
>
> Thanks,
>
> On Jul 26, 8:50 am, CraftyTech <hmmed...@gmail.com> wrote:
>
>
>
> > It was an issue with the FQDN value. Since it was a VM that was
> > testing, I had the hostname value on /etc/sysconfig/network set to
> > hostname only, as opposed to FQDN. Once I took care of that and value
> > took in, then I could query the node via classifier/fqdn.
>
> > On Jul 24, 2:14 am, Ohad Levy <ohadl...@gmail.com> wrote:
>
> > > Hi,
>
> > > Foreman returns 404 if a node is not found, if you want puppet do
to
> > > something for undefined nodes, you would need to create a default
node
> > > statement.
>
> > > what was your original problem? hostnames were not in fqdn?
>
> > > Ohad
>
> > > On Fri, Jul 23, 2010 at 11:53 PM, CraftyTech
<hmmed...@gmail.com> wrote:
> > > > Now I''m getting some results (Some progress finally
!!):
>
> > > > ---
> > > > parameters:
> > > > puppetmaster: puppet
> > > > domainname: dev.xxxxx.com
> > > > classes:
> > > > - basic
> > > > environment: puppetmasterd
>
> > > > But I still get: "server: Error 400 on SERVER: Could
not find node
> > > > ''nodename''". Does this mean that I
have define a default node and
> > > > include it in the site.pp? From the forums I see mixed
reviews; some
> > > > saying what with external nodes you need a default node
definition,
> > > > and others saying that you don''t need any node
definition and that
> > > > everything should rely on the external node classifier.. any
thoughts
> > > > or suggestions?
>
> > > > Thanks,
>
> > > > On Jul 23, 7:57 am, CraftyTech <hmmed...@gmail.com>
wrote:
> > > > > Small correction: "if I edit the host via Foreman
web interface, I
> > > > > can''t no longer
> > > > > see it from "curl
-khttps://foreman/node/nodename?format=yml"; I''d
> > > > > get message "404 Not Found" from the command
line" --> I''d have to re-
> > > > > run puppetd -t, to be able to get a result from
"curl
> > > > -khttps://foreman/node/nodename?format=yml" again..
after that --> I''d
> > > > > have two nodes of the same name listed in Foreman web
interface..
>
> > > > > On Jul 23, 7:14 am, CraftyTech
<hmmed...@gmail.com> wrote:
>
> > > > > > Thanks for the reply Ohad. Actually,
that''s part of the issue as
> > > > > > well; If I edit the host via Foreman web
interface, I can''t no longer
> > > > > > see it from "curl
-khttps://foreman/node/nodename?format=yml"; I''d
> > > > > > get message "404 Not Found" from the
command line. On the flip side,
> > > > > > I''d have two nodes of the same name
listed in Foreman web interface;
> > > > > > 1) A new one that get''s created when I
run puppetd -t, and 2) The one
> > > > > > that I edited via the web interface.... I know it
sounds confusing,
> > > > > > but that''s exactly what''s
happening... It seems that the foreman
> > > > > > environment, and puppet environment see two
different nodes, even
> > > > > > thought there''s only one host.yaml file..
>
> > > > > > On Jul 23, 1:46 am, Ohad Levy
<ohadl...@gmail.com> wrote:
>
> > > > > > > Hi,
>
> > > > > > > The output you get from external nodes means
that the host was not
> > > > allocated
> > > > > > > to any class or puppet environment, make sure
you edit the host
> > > > details
> > > > > > > first in foreman.
>
> > > > > > > Ohad
>
> > > > > > > On Fri, Jul 23, 2010 at 4:22 AM, CraftyTech
<hmmed...@gmail.com>
> > > > wrote:
> > > > > > > > Hello All,
>
> > > > > > > > So I finally got around to start to
cut over node definitions
> > > > > > > > from standard flat files to external
nodes (foreman), and getting
> > > > > > > > error message: "Error 400 on
SERVER: Could not find node
> > > > ''nodename'';
> > > > > > > > cannot compile" - So basically it
can''t pick up the node from the
> > > > > > > > external node config.
>
> > > > > > > > When I test the fetching of the yaml
file it seems to work as I get
> > > > a
> > > > > > > > result back: i.g:
> > > > > > > > curl
-khttps://foreman/node/nodename?format=yml
>
> > > > > > > > ---
> > > > > > > > parameters:
> > > > > > > > puppetmaster: puppet
> > > > > > > > classes: []
>
> > > > > > > > environment: ""
>
> > > >
###########################################################################
> > > > ###################
> > > > > > > > This is my puppet.conf:
>
> > > > > > > > [main]
> > > > > > > > vardir = /var/lib/puppet
> > > > > > > > logdir = /var/log/puppet
> > > > > > > > rundir = /var/run/puppet
> > > > > > > > reports= log,foreman,rrdgraph,store
> > > > > > > > clientyamldir =
/var/lib/puppet/yaml/node
> > > > > > > > pluginsync = true
> > > > > > > > external_nodes =
/etc/puppet/external_node.rb
> > > > > > > > node_terminus = exec
>
> > > > > > > > [puppetmasterd]
> > > > > > > > ssl_client_header = SSL_CLIENT_S_DN
> > > > > > > > ssl_client_verify_header =
SSL_CLIENT_VERIFY
> > > > > > > > modulepath = $confdir/modules
> > > > > > > > templatedir =
/etc/puppet/manifests/templates
> > > > > > > > #clientyamldir =
/var/lib/puppet/yaml/node
> > > > > > > > reportdir = /var/lib/puppet/reports
> > > > > > > > storeconfigs = true
> > > > > > > > dbadapter = mysql
> > > > > > > > dbuser = app_puppet
> > > > > > > > dbpassword = xxxxxxxxxxxxxx
> > > > > > > > dbserver = localhost
> > > > > > > > dbsocket = /sql/mysql/mysql.sock
> > > > > > > > rrddir = /var/lib/puppet/rrd
> > > > > > > > rrdinterval = $runinterval
> > > > > > > > rrdgraph = true
>
> > > > > > > > [puppetd]
> > > > > > > > classfile = $vardir/classes.txt
> > > > > > > > report = true
> > > > > > > > localconfig = $vardir/localconfig
>
> > > > > > > > Any ideas?
>
> > > > > > > > Thanks,
>
> > > > > > > > Henry
>
> > > > > > > > --
> > > > > > > > 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<puppet-users%2Bunsubscribe@google
groups.com>
> > > > <puppet-users%2Bunsubscribe@google groups.com>
> > > > > > > > .
> > > > > > > > For more options, visit this group at
> > > > > > >
>http://groups.google.com/group/puppet-users?hl=en.
>
> > > > --
> > > > 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<puppet-users%2Bunsubscribe@google
groups.com>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/puppet-users?hl=en.
--
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.