Foreman with Puppet Enterprise?

Hi folks,

I am new to this forum so forgive me if this question was asked earlier but I will definitely welcome if there are any pointers available for what I am trying to do.

I am looking to integrate Foreman with my existing Puppet Enterprise. I know this may not work out of the box but wondering if anyone tried to integrate Foreman successfully with Puppet PE. Any notes will be helpful.

cheers,
VS

Welcome! I’ve moved this over to #support for you :slight_smile:

I believe some people have got this working, but I don’t have any details - hard to test with access to PE! Hopefully you’ll get some answers soon, as users and developers are starting to return from the holiday break.

Thanks Greg! I hope to get some answers here. :slight_smile:

I’m sure testing w/ PE isn’t high priority but PE does come w/ a 10 node trial.

Free

Try out Puppet Enterprise on 10 nodes for free. Includes access to all product updates and thousands of prebuilt Puppet modules to get you started.

$0

https://puppet.com/products/pricing

I too am a PE customer but I currently just have my PE infrastructure and katello infrastructure separate. I don’t see using the ENC in foreman myself but it would be nice to have access to the facts from PE in katello. In particular ec2.instance_id… (Think termination lambda function.) But right now other priorities take precedence.

Could it be as simple as pointing katello puppet at PE Puppet DB?

Thanks for the input Alan.

I’m not using PE myself and don’t have much experience with it, but I would start by looking at the following this:

For reports in Foreman, I would start by deploying the Report processor (found here: https://github.com/theforeman/puppet-foreman/blob/7cb0bba656a8c55839c56c22c29d445ddb7f303d/files/foreman-report_v2.rb) to your Puppetserver and try to get a /etc/puppetlabs/puppet/foreman.yaml fiddled together that works. Just from looking at it, that should be doable mostly by copying over config from your Foreman instance. You will have to get certs for Foreman CA though for that to work (they probably come somewhere from that smartproxy tarball, but I have no idea witch ones are correct). The default config indicates it might work with username/password, but I never tried that.
Once you got that fiddled out, you simply have to add foreman to the “reports = …” line in puppet.conf.
As far as I understand, this should also send the facts as well, but I’m not sure about that.

For ENC, you also have to have a working foreman.yaml set up. Then deploy the node.rb from Foreman (found here: https://github.com/theforeman/puppet-foreman/blob/8b525a71aa4cd6909a69daa3bc9e52ac4f76c3ea/files/external_node_v2.rb) to your Puppet Master and implement it according to this doc https://puppet.com/docs/puppet/5.5/nodes_external.html. Basically copy it to the server and set “external_nodes = …” to the scripts path and ensure node_teminus is set to exec.
This should afaik also upload the facts to Foreman, but I’m not to sure about that either.

As I mentioned, I do not have any experience doing this, but I hope this at least might give a push in the right direction :slight_smile: