Bug 204072 - [NEW PORT] sysutils/puppetserver: Puppet Server running in the JVM
Summary: [NEW PORT] sysutils/puppetserver: Puppet Server running in the JVM
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kurt Jaeger
Keywords: feature, patch, patch-ready
Depends on:
Reported: 2015-10-27 17:49 UTC by Zach Leslie
Modified: 2016-03-12 14:32 UTC (History)
3 users (show)

See Also:

Shar file (11.69 KB, text/plain)
2015-10-27 17:49 UTC, Zach Leslie
no flags Details
Shar file with first round of feedback addressed (24.37 KB, text/plain)
2015-11-25 02:52 UTC, Zach Leslie
no flags Details
puppetserver2.2.1 (13.16 KB, application/x-shar)
2016-01-24 19:08 UTC, Zach Leslie
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zach Leslie freebsd_committer 2015-10-27 17:49:57 UTC
Created attachment 162512 [details]
Shar file

Puppet Server running in the JVM.
Comment 1 Michael Moll freebsd_committer 2015-11-08 19:55:51 UTC
Comment 2 Michael Moll freebsd_committer 2015-11-08 20:06:08 UTC
I finally did test this, some comments:

- please add ">=0" also to the run dependencies and use puppet4 instead of puppet

- puppetserver didn't start for me, because the JRE can't cope with the /nonexistant home dir of the puppet user, after adding "HOME=/tmp" to the rc script it started.

- I'm unsure how to deal with facter and its path. /usr/local/lib/ruby/vendor_ruby would work for facter3, so maybe a symlink from there to the files of rubygem-facter would solve this, but I don't know if that has side effects and that would need to go into sysutils/rubygem-facter

- Instead of 2.1 ${RUBY_VER} should be used.

- As this port could use facter3, please implement an option for the facter 2/3 selection, like in sysutils/puppet4

I'd like to get puppetserver in first and look at PuppetDB (and puppetdb-termini) after that.
Comment 3 Zach Leslie freebsd_committer 2015-11-25 02:52:48 UTC
Created attachment 163493 [details]
Shar file with first round of feedback addressed

This should address most of the issues raised here, save for the facter paths.  I tested it out in a poudriere jail and the service came online for me.  Though I believe I tested that previously, I added the HOME=/tmp to the rc script anyway.  We can always adjust later if needed.
Comment 4 Zach Leslie freebsd_committer 2015-12-17 21:10:18 UTC
Have you had a chance to review the changes here?  The puppetdb3 port is falling behind and I'd like to make progress on these if I can.  Anything I can do to help, just let me know.
Comment 5 Michael Moll freebsd_committer 2015-12-20 16:15:19 UTC
Not really, sorry... I was also hoping to come up with better workarounds for some of the problems mentioned, however, I think as there will be no more facter 2.x releases, the version can stay hardcoded without causing too much trouble.

Regarding the $HOME problem related to Java, I still have no idea if there's a better way to solve that.

Anyway, the changes of the second patch are looking good, but I'd like to get more eyes on it, could you open a review at https://reviews.freebsd.org/differential? If not, I can also open it.

It would be nice to have this updated to the latest puppetserver version.
Comment 6 Michael Moll freebsd_committer 2016-01-01 16:53:48 UTC
back to pool
Comment 7 VK freebsd_triage 2016-01-01 17:01:20 UTC

thanks for the submission. Does attachment "Shar file with first round of feedback addressed" from comment #3 obsolete the original attachment?
Comment 8 Zach Leslie freebsd_committer 2016-01-05 17:45:16 UTC
Hi yes.   The latest shar replaces the original.  I can bump to the latest version of puppetserver if that would help, but I'd rather not sink time into something that won't help get this moved along.  If this can get in, I can submit a follow up maintenance to bump the version to the latest, whatever that is at the time.  I'll be looking to use this port internally from my own tree due to the amount of time this is taking to get in.  I also have an outstanding puppetdb3 port that is pending review.  These two will be used in conjunction.  If there is anything that needs to be addressed here, please don't hesitate to shout.  Thank you.
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2016-01-08 05:35:34 UTC
Can't be in progress without an Assignee. Open to take

@Xaque, can you confirm this passes QA (portlint, poudriere) please?
Comment 10 Zach Leslie freebsd_committer 2016-01-17 19:39:41 UTC
I'm going to bump the version to the latest this week before confirming.  I'll get all that working and then request review.
Comment 11 Zach Leslie freebsd_committer 2016-01-24 19:08:04 UTC
Created attachment 166072 [details]

Here is an updated port version.  It passes testport from poudriere, and logging into the tested jail, I'm able to start the service.  Logs and functions as expected with a minimal test.
Comment 12 Zach Leslie freebsd_committer 2016-03-09 04:19:39 UTC
Is there anything I can help with here to get this moved along?
Comment 13 Zach Leslie freebsd_committer 2016-03-11 16:58:19 UTC

WARN: /usr/local/poudriere/ports/xaque208/sysutils/puppetserver/pkg-descr: includes lines that exceed 80 characters.
0 fatal errors and 1 warning found.
Comment 14 Kurt Jaeger freebsd_committer 2016-03-12 14:02:32 UTC

Btw, the .shar had some strange syntax issues (the second to last line
were indented by one space char, and the lines had ctrl-M at the end).
Comment 15 Kurt Jaeger freebsd_committer 2016-03-12 14:30:35 UTC
Testbuilds are fine.
Comment 16 commit-hook freebsd_committer 2016-03-12 14:30:36 UTC
A commit references this bug:

Author: pi
Date: Sat Mar 12 14:30:02 UTC 2016
New revision: 410891
URL: https://svnweb.freebsd.org/changeset/ports/410891

  New port: sysutils/puppetserver

  Puppet master is a Ruby application that compiles configurations
  for any number of Puppet agent nodes, using Puppet code and various
  other data sources. (For more info, see Overview of Puppet's

  Puppet Server is an application that runs on the Java Virtual Machine
  (JVM) and provides the same services as the classic Puppet master
  application. It mostly does this by running the existing Puppet
  master code in several JRuby interpreters, but it replaces some
  parts of the classic application with new services written in

  WWW: https://docs.puppetlabs.com/puppetserver/latest/services_master_puppetserver.html

  PR:		204072
  Submitted by:	Zach Leslie <freebsd@zleslie.info>

Comment 17 Kurt Jaeger freebsd_committer 2016-03-12 14:32:00 UTC
Committed, thanks. And sorry that it took so long!