1
votes

I have a working setup of puppet open-source 3.8 with a puppet master and several nodes. I would like to install puppetDB and a dashboard so I can get a good overview about my nodes. To not destroy anything from the current setup, I wish to install puppetDB on a separate server. ( Everything is running on AWS EC2 instances.)

I was trying to use the following descriptions and let puppet install puppetDB: PuppetDB 2.3.8-1.el6 - I believe this is the latest version compatible with puppet 3.8 I've managed to install puppetDB on the DB node, however I can't connect my puppet master to the node. Based on this documentation: Connecting Puppet Masters to PuppetDB I need to install puppetdb-terminus. However I'm using Puppet Open-source, so "sudo puppet resource package puppetdb-terminus ensure=latest" is failing on puppet agent as a dependency.

It's fine, but I have also issues with the alternative solution:

Download the PuppetDB source code, unzip it and navigate into the resulting directory in your terminal.

Run sudo cp -R puppet/lib/puppet/ /usr/lib/ruby/site_ruby/1.8/puppet.

There is no puppet/lib/puppet in neither puppetdb-2.3.8.tar.gz nor puppetdb-3.2.4.tar.gz archives.

As my last hope, I went to github to grab the source: https://github.com/puppetlabs/puppetlabs-puppetdb/tree/master/lib/puppet I've copied these files to /usr/lib/ruby/site_ruby/1.8/puppet.

/var/log/messages:Mar 18 13:08:03 ip-10-84-4-172 puppet-master[25616]: Could not configure routes from /etc/puppet/routes.yaml: Could not find terminus puppetdb for indirection facts

At this point I'm completely stuck. How can I verify my puppet-terminus installation? If this way is not good, how can I install it on my puppet master?

(I'm using RHEL6, Puppet Open-source 3.8, I've did all the other changes on puppet master based on the documentation.)

Just for the sake of completeness, here is my puppetDB puppet manifest:

class { 'puppetdb::globals':
    version => '2.3.8-1.el6',
}
class { 'puppetdb::database::postgresql':
    listen_addresses => $postgres_host,
}

class { 'puppetdb::server':
    database_host => $puppetdb_host,
}
2

2 Answers

1
votes

I've just migrate my PuppetDB from puppetmaster server to a standalone one. To handle the installation of PuppetDB I've used this module from Puppet Labs.

Its was straightforward. The db migration was done with puppetdb --export from master server and puppetdb --import in the new server. The last thing was change the address for PuppetDB within puppet master config.

[]'s

1
votes

The puppet repo pages is tricky, there is a separate repo for the Pre4.0 Open Source binaries:

https://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#pre-40-open-source-repositories

After using this repo, there was no more issue during installation.