I figured out the issue with the embedded database. For some reason letting the 
system default to ::cert for the “ssl_listen_address” had it binding to 
localhost instead of the actual interface it should have. Specifying “0.0.0.0” 
for that option made puppetdb work just fine when using the embedded database. 
It still does not add the firewall rules in though- I’m doing that myself.

Going back to postgres still results in the same failure. Since it’s related to 
the validation script I thought I would run it manually to see what happens-

> root@puppetdb01:/var/log# /usr/local/bin/validate_postgresql_connection.sh 2 
> 10 '/usr/bin/psql --tuples-only --quiet  -h localhost  -U puppetdb  -p 5432  
> --dbname puppetdb '

The result is that the script hangs while waiting for the user to put a 
password in. 

Both machines are running Ubuntu 14.04 LTS. I am using Puppet 3.7.5 from the 
PuppetLabs repository. This is on a VMWare ESXI box.

I’m using a PuppetFile with librarian-puppet. Although the puppetdb machine is 
new, and is a “plank role” so to speak, it does include other modules as there 
are other services which are up and running. This is the first time I’ve used 
the postgres module (it’s not being used by other nodes) so there shouldn’t be 
any issues with conflicts. That being said, I did have to push through a change 
to postgres to allow it to use the puppet labs apt-module, since the puppet 
labs team have not managed to keep all their module dependencies in sync. You 
can see the pull request I made for that here- 
https://github.com/puppetlabs/puppetlabs-postgresql/pull/632/files 
<https://github.com/puppetlabs/puppetlabs-postgresql/pull/632/files>


Rob



> On May 28, 2015, at 1:50 PM, Ken Barber <k...@puppetlabs.com> wrote:
> 
>> Even using the “embedded” database is apparently useless, as puppet is still
>> not able to connect to puppetdb.
>> 
>> In addition, puppetdb is very obviously not creating it’s firewall rules
>> even though I haven’t disabled that feature.
> 
> This is interesting/surprising, but it sounds like the main pressing
> issue is postgresql validation, perhaps we can focus on this to start
> with, and I'll get back to this particular issue.
> 
>> Does anyone have an example of this module actually working? It’s hard to
>> imagine a more simple setup than the one I have right here, but this module
>> is not working or giving me any reasons why it’s not working. PuppetDB is
>> just failing completely, and with all the default settings.
> 
> We've got it working for our acceptance tests for every patch, so this
> is surprising as I said. Lets see if we can work out what is going on
> together.
> 
>> class profiles::puppetdb {
>> 
>>  class { '::puppetdb':
>> 
>>    database_validate => false
>> 
>>  }
>> 
>> }
>> 
>> 
>> Results in:
>> 
>>> Error: Failed to apply catalog: Could not find dependent
>>> Class[Puppetdb::Server::Validate_db] for
>>> Class[Puppetdb::Database::Postgresql] at
>>> /etc/puppet/modules/puppetdb/manifests/init.pp:133
>> 
>> Looking at the code in the puppetdb module I'm not even sure if the
>> 'database_validate = false ' option ever worked as advertised.
> 
> Yep, it looks like a bug, we're looking into it - thanks for pointing
> it out, but still - it shouldn't be required.
> 
>>> I'm creating a puppetdb machine using puppetdb module. My code is simple:
>>> 
>>>> class profiles::puppetdb {
>>>>  class { '::puppetdb':
>>>> 
>>>>  }
>>>> }
>>> 
>>> 
>>> This, unfortunately, fails with the following error:
>>> 
>>>> Debug: Executing '/usr/local/bin/validate_postgresql_connection.sh 2 10
>>>> '/usr/bin/psql --tuples-only --quiet  -h localhost  -U puppetdb  -p 5432
>>>> --dbname puppetdb ''
>>> 
>>>> Error:
>>>> /Stage[main]/Puppetdb::Server::Validate_db/Postgresql::Validate_db_connection[validate
>>>> puppetdb postgres connection]/Exec[validate postgres connection for
>>>> puppetdb@localhost:5432/puppetdb]/unless: Check
>>>> "/usr/local/bin/validate_postgresql_connection.sh 2 10 '/usr/bin/psql
>>>> --tuples-only --quiet  -h localhost  -U puppetdb  -p 5432  --dbname 
>>>> puppetdb
>>>> '" exceeded timeout
>>> 
>>> 
>>> I'm a bit at a loss as to what to do here, as there's nothing in the logs
>>> that can tell me why I'm getting this error.
> 
> Okay, so lets start with the basics: what is the distro, arch release
> version and version of the PuppetDB module? Are you obtaining the
> module via forge, git or some other mechanism? I'm asking for these
> details so I can try and recreate this and see what is happening. It
> shouldn't bomb this hard, and I'm wary we have a bug somewhere.
> 
> Can you also send me a full debug output run for this in a gist
> (gist.github.com) from start to finish? This should be the full output
> of puppet agent -t --debug for example.
> 
> You say this is on a clean machine, is this vagrant perchance? If so
> is there a vagrantfile you can show me so I can reproduce? Any other
> puppet manifests in the mix here that you can show us to help us
> reproduce it?
> 
> ken.
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "Puppet Users" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/puppet-users/VVKZhUanAlk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/puppet-users/CAE4bNTm1CcN6-CD_YOrwZODjm-Lee_gdJiKxGVrUnVgV%3DA_SHQ%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/B6732238-D82C-4300-A4DD-42F0943EB1A8%40tedivm.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to