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

Puppetserver gem command uses JAVA_ARGS

    Details

    • Template:
    • Team:
      Systems Engineering
    • Story Points:
      2
    • Sprint:
      SE 2016-11-30
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      Hide
      In the 2.7.0 release, the JAVA_ARGS from the sysconfig/default file for puppetserver were passed along to the Java process started when running the 'puppetserver gem' command. This could lead arguments only intended for use when running the full puppetserver service - for example, debug arguments or large memory heap settings - being used when running gem commands, which could cause the gem commands to fail.

      For the 2.7.1 release, any custom arguments that need to be passed into the Java process for the gem command can be set via a new environment variable, JAVA_ARGS_CLI, which can either be set on the command line or manually added to the sysconfig/default file to be made more persistent. The JAVA_ARGS_CLI environment variable can also be used to control the arguments used when running the 'puppetserver ruby' and 'puppetserver irb' subcommands.
      Show
      In the 2.7.0 release, the JAVA_ARGS from the sysconfig/default file for puppetserver were passed along to the Java process started when running the 'puppetserver gem' command. This could lead arguments only intended for use when running the full puppetserver service - for example, debug arguments or large memory heap settings - being used when running gem commands, which could cause the gem commands to fail. For the 2.7.1 release, any custom arguments that need to be passed into the Java process for the gem command can be set via a new environment variable, JAVA_ARGS_CLI, which can either be set on the command line or manually added to the sysconfig/default file to be made more persistent. The JAVA_ARGS_CLI environment variable can also be used to control the arguments used when running the 'puppetserver ruby' and 'puppetserver irb' subcommands.

      Description

      This pull request (https://github.com/puppetlabs/puppetserver/pull/1262) changed the puppetserver gem command to use JAVA_ARGS so that options like -Djsse.enableSNIExtension=false would be passed through.

      However this means that some are passed through that only make sense for the server itself. For example, if GC debugging is turned on, then the additional output from puppetserver gem list --local breaks the puppetserver_gem provider.

      Worse yet, if you are running large environments and have changed the default heap size, puppetserver gem list can be broken such that it won't run at all. For example, our dev puppetmasters have 8GB of ram, with the puppetserver heap set to 4GB minimum. When we run puppetserver gem list, it fails most of the time because it cannot allocate an additional 4G of ram for the gem list.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jeremy.barlow Jeremy Barlow
                Reporter:
                coneill Clayton O'Neill
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support