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

Only apply settings catalogs once

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Accepted
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Template:
    • Team:
      Froyo
    • QA Risk Assessment:
      Needs Assessment

      Description

      Each JRuby instance applies a settings catalog to ensure the server's file/directories exist and have the correct permissions:

          Puppet.settings.use :main, :master, :ssl, :metrics
      

      This doubles the amount of time it takes to initialize the JRuby instance:

      When settings catalog is initialized (9.52 seconds)

      2018-06-26 22:34:21,228 DEBUG [clojure-agent-send-pool-5] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1
      2018-06-26 22:34:21,229 DEBUG [nREPL-worker-4] [p.t.internal] Finished running lifecycle function 'init' for service ':VersionedCodeService'
      2018-06-26 22:34:21,229 INFO  [clojure-agent-send-pool-5] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.
      2018-06-26 22:34:21,229 DEBUG [nREPL-worker-4] [p.t.internal] Running lifecycle function 'init' for service ':PuppetServerConfigService'
      2018-06-26 22:34:25,553 INFO  [clojure-agent-send-pool-5] [puppetserver] Puppet Puppet settings initialized; run mode: master
      2018-06-26 22:34:25,558 DEBUG [clojure-agent-send-pool-5] [p.s.j.puppet-environments] Registering environment 'production'
      2018-06-26 22:34:25,559 DEBUG [clojure-agent-send-pool-5] [puppetserver] Puppet Caching environment 'production' (ttl = 0 sec)
      2018-06-26 22:34:25,559 DEBUG [clojure-agent-send-pool-5] [puppetserver] Puppet Applying settings catalog for sections main, master, ssl, metrics
      ...
      2018-06-26 22:34:30,748 INFO  [clojure-agent-send-pool-5] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1
      

      When the settings catalog is skipped (4.229 seconds)

      2018-06-26 22:31:51,944 DEBUG [clojure-agent-send-pool-2] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1
      2018-06-26 22:31:51,944 INFO  [clojure-agent-send-pool-2] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.
      2018-06-26 22:31:56,173 INFO  [clojure-agent-send-pool-2] [puppetserver] Puppet Puppet settings initialized; run mode: master
      ...
      2018-06-26 22:31:56,682 INFO  [clojure-agent-send-pool-2] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1
      

      We could only apply the settings catalog once when puppetserver starts, and skip it for each additional JRuby instance, saving about 5 seconds each time.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              josh Josh Cooper
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:

                  Zendesk Support