Method: Puppet::ApplicationSupport.push_application_context

Defined in:
lib/puppet/application_support.rb

.push_application_context(run_mode, environment_mode = :local) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Pushes a Puppet Context configured with a remote environment for an agent (one that exists at the master end), and a regular environment for other modes. The configuration is overridden with options from the command line before being set in a pushed Puppet Context.

Parameters:

  • run_mode (Puppet::Util::RunMode)

    Puppet’s current Run Mode.

  • environment_mode (Symbol) (defaults to: :local)

    optional, Puppet’s current Environment Mode. Defaults to :local



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/puppet/application_support.rb', line 21

def self.push_application_context(run_mode, environment_mode = :local)
  Puppet.push_context_global(Puppet.base_context(Puppet.settings), "Update for application settings (#{run_mode})")
  # This use of configured environment is correct, this is used to establish
  # the defaults for an application that does not override, or where an override
  # has not been made from the command line.
  #
  configured_environment_name = Puppet[:environment]
  if run_mode.name == :agent
    configured_environment = Puppet::Node::Environment.remote(configured_environment_name)
  elsif environment_mode == :not_required
    configured_environment =
      Puppet.lookup(:environments).get(configured_environment_name) || Puppet::Node::Environment.remote(configured_environment_name)
  else
    configured_environment = Puppet.lookup(:environments).get!(configured_environment_name)
  end
  configured_environment = configured_environment.override_from_commandline(Puppet.settings)

  # Setup a new context using the app's configuration
  Puppet.push_context({:current_environment => configured_environment},
                      "Update current environment from application's configuration")
end