Uploaded image for project: 'Puppet Server'
  1. Puppet Server
  2. SERVER-1630

Support user configuration of JRuby 1.7 or 9k in Puppet Server packaging

    Details

    • Type: Task
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: SERVER 5.0.0
    • Component/s: None
    • Labels:
      None
    • Release Notes:
      New Feature
    • Release Notes Summary:
      Hide
      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:

        JRUBY_JAR="/opt/puppetlabs/server/apps/puppetserver/jruby-9k.jar"
      Show
      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:   JRUBY_JAR="/opt/puppetlabs/server/apps/puppetserver/jruby-9k.jar"

      Description

      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".

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

                • Assignee:
                  jeremy.barlow Jeremy Barlow
                  Reporter:
                  jeremy.barlow Jeremy Barlow
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: