I *think* that "Empty response" is the
issue here... your script appears to be sending back YAML with
just an (empty) classes hash and an (empty) parameters hash. Try
putting something in parameters (at least). Also make sure that
it's actually writing to STDOUT, not STDERR.
Assuming neither of those are the problem...
- Are you running the script as the same user that Puppet runs as?
With the same path?
- Does puppet.conf have the absolute path to the script?
- Are you *sure* you're calling it the same way puppet is? If you
run your puppetmaster in --debug mode, when a node checks in for
its catalog, you should see a log entry with the full path and
arguments to the command that's being run, like:
Debug: Executing '/etc/puppet/my_terminus.sh
node_hostname.example.com'
- Are the permissions right (the script needs to be executable)?
Generally when I've had problems like this, they've been either
permissions-related, or path-related (i.e. your script is
#!/usr/bin/env node, which assumes that node is actually in
puppet's path). I'd recommend doing a "sudo su - username" to the
user that Puppet runs as, confirming your env and path, and then
trying the script.
-Jason