[SERVER-1630] Support user configuration of JRuby 1.7 or 9k in Puppet Server packaging Created: 2016/11/02  Updated: 2018/04/17  Resolved: 2017/06/28

Status: Closed
Project: Puppet Server
Component/s: None
Affects Version/s: None
Fix Version/s: SERVER 5.0.0

Type: Task Priority: Normal
Reporter: Jeremy Barlow Assignee: Jeremy Barlow
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
blocks RAZOR-973 Spike: Update razor-server to use JRu... Closed
blocks SERVER-1775 Setup Jenkins CI job for Puppet Serve... Closed
relates to SERVER-1772 Enhance ezbake to support extra uberj... Closed
relates to SERVER-1773 Add :qualifier support to lein-releas... Closed
relates to SERVER-2191 Change default JRUBY_JAR to 9k Closed
relates to SERVER-1998 Bundled ruby throws error on net/http... Closed
relates to ENTERPRISE-1164 Not possible to configure jruby_jar s... Closed
Epic Link: Upgrade Puppet Server to JRuby 9k
Team: Systems Engineering
Sub-team: Server
Story Points: 5
Sprint: Server 2017-04-19, Server 2017-05-03, Server 2017-05-31
Release Notes: New Feature
Release Notes Summary: Puppet Server packages now include both the dependencies for JRuby 1.7 (running under Ruby language version 1.9.3) and for JRuby 9k (running under Ruby language version 2.3 or later). By default, Puppet Server will use JRuby 1.7. Users can choose to have Puppet Server run with JRuby 9k instead, however, by adding the following environment variable assignment to the "/etc/sysconfig/puppetserver" or "/etc/default/puppetserver" file and restarting the puppetserver process:



While we eventually hope to be able to support JRuby 9k as the "primary" version of JRuby in Puppet Server, we've encountered some blocker issues that are currently impeding that transition. It is possible, though, that some users may be wiling to live with or may not be too adversely affected by the performance and memory issues we've seen in some internal testing so far and would much rather trade those off for the ability to use MRI Ruby 2.3+ functionality on the server.

Chris Price and I have talked about the possibility of packaging Puppet Server in such a way that a user could configure it to run with either JRuby 1.7.X or JRuby 9k. This would likely involve some work with dependency configuration and possibly altering the Java command line used by the ezbake scripts to add in JRuby and its upstream dependencies via an extension to the CLASSPATH - as opposed to just picking those dependencies up via a Puppet Server uberjar.

Giving at least OSS users the ability to at least experiment with JRuby 9k in Puppet Server could help us obtain some valuable feedback on how well this may already work in the "real world".

Comment by Kenn Hussey [ 2017/05/15 ]

Jeremy Barlow please provide release notes for this issue, if applicable.

Generated at Tue Aug 11 00:09:57 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.