Module: Puppet
- Defined in:
- lib/puppet.rb,
lib/puppet/type.rb,
lib/puppet/util.rb,
lib/puppet/error.rb,
lib/puppet/version.rb,
lib/puppet/type/zfs.rb,
lib/puppet/defaults.rb,
lib/puppet/type/host.rb,
lib/puppet/type/user.rb,
lib/puppet/type/exec.rb,
lib/puppet/type/group.rb,
lib/puppet/type/mount.rb,
lib/puppet/type/zpool.rb,
lib/puppet/module_tool.rb,
lib/puppet/type/sshkey.rb,
lib/puppet/type/notify.rb,
lib/puppet/application.rb,
lib/puppet/type/router.rb,
lib/puppet/parser/lexer.rb,
lib/puppet/util/plugins.rb,
lib/puppet/type/yumrepo.rb,
lib/puppet/type/service.rb,
lib/puppet/type/package.rb,
lib/puppet/type/schedule.rb,
lib/puppet/type/maillist.rb,
lib/puppet/util/run_mode.rb,
lib/puppet/util/platform.rb,
lib/puppet/property/list.rb,
lib/puppet/util/classgen.rb,
lib/puppet/parser/parser.rb,
lib/puppet/parser/parser.rb,
lib/puppet/type/mailalias.rb,
lib/puppet/type/file/mode.rb,
lib/puppet/type/file/type.rb,
lib/puppet/util/execution.rb,
lib/puppet/type/file/group.rb,
lib/puppet/type/filebucket.rb,
lib/puppet/type/file/ctime.rb,
lib/puppet/type/selboolean.rb,
lib/puppet/type/file/owner.rb,
lib/puppet/type/file/mtime.rb,
lib/puppet/resource/status.rb,
lib/puppet/util/loadedfile.rb,
lib/puppet/type/file/target.rb,
lib/puppet/type/file/source.rb,
lib/puppet/type/file/ensure.rb,
lib/puppet/type/file/content.rb,
lib/puppet/property/keyvalue.rb,
lib/puppet/util/command_line.rb,
lib/puppet/network/authstore.rb,
lib/puppet/ssl/configuration.rb,
lib/puppet/network/authconfig.rb,
lib/puppet/type/file/selcontext.rb,
lib/puppet/property/ordered_list.rb,
lib/puppet/util/constant_inflector.rb,
lib/puppet/type/ssh_authorized_key.rb,
lib/puppet/util/command_line/trollop.rb,
lib/puppet/module_tool/install_directory.rb,
lib/puppet/ssl/certificate_authority/interface.rb,
lib/puppet/util/command_line/puppet_option_parser.rb
Overview
The main Puppet class. Everything is contained here.
Defined Under Namespace
Modules: MetaType, Parser Classes: Interface, Parameter, Property, Provider, Reports, Type
Constant Summary
Class Method Summary (collapse)
-
+ (Object) [](param)
Get the value for a setting.
-
+ initialize_settings(args = [])
Initialize puppet’s settings.
-
+ (String) read_version_file(path)
private
read_version_file reads the content of the “VERSION” file that lives in the same directory as this source code file.
-
+ (String) version
version is a public API method intended to always provide a fast and lightweight way to determine the version of Puppet.
Methods included from Util
exit_on_fail, exit_on_fail, which, which
Class Method Details
+ (Object) [](param)
Get the value for a setting
60 61 62 63 64 65 66 |
# File 'lib/puppet.rb', line 60 def self.[](param) if param == :debug return Puppet::Util::Log.level == :debug else return @@settings[param] end end |
+ initialize_settings(args = [])
This method returns an undefined value.
Initialize puppet’s settings. This is intended only for use by external tools that are not built off of the Faces API or the Puppet::Util::Application class. It may also be used to initialize state so that a Face may be used programatically, rather than as a stand-alone command-line tool.
129 130 131 |
# File 'lib/puppet.rb', line 129 def self.initialize_settings(args = []) do_initialize_settings_for_run_mode(:user, args) end |
+ (String) read_version_file(path) private
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.
read_version_file reads the content of the “VERSION” file that lives in the same directory as this source code file.
83 84 85 86 87 |
# File 'lib/puppet/version.rb', line 83 def self.read_version_file(path) if File.exists?(path) File.read(path).chomp end end |
+ (String) version
version is a public API method intended to always provide a fast and lightweight way to determine the version of Puppet.
The intent is that software external to Puppet be able to determine the Puppet version with no side-effects. The expected use is:
require 'puppet/version'
version = Puppet.version
This function has the following ordering precedence. This precedence list is designed to facilitate automated packaging tasks by simply writing to the VERSION file in the same directory as this source file.
- If a version has been explicitly assigned using the Puppet.version= method, return that version.
- If there is a VERSION file, read the contents, trim any trailing whitespace, and return that version string.
- Return the value of the Puppet::PUPPETVERSION constant hard-coded into the source code.
If there is no VERSION file, the method must return the version string of the nearest parent version that is an officially released version. That is to say, if a branch named 3.1.x contains 25 patches on top of the most recent official release of 3.1.1, then the version method must return the string “3.1.1” if no “VERSION” file is present.
By design the version identifier is not intended to vary during the life a process. There is no guarantee provided that writing to the VERSION file while a Puppet process is running will cause the version string to be updated. On the contrary, the contents of the VERSION are cached to reduce filesystem accesses.
The VERSION file is intended to be used by package maintainers who may be applying patches or otherwise changing the software version in a manner that warrants a different software version identifier. The VERSION file is intended to be managed and owned by the release process and packaging related tasks, and as such should not reside in version control. The PUPPETVERSION constant is intended to be version controlled in history.
Ideally, this behavior will allow package maintainers to precisely specify the version of the software they’re packaging as in the following example:
$ git describe --match "3.0.*" > lib/puppet/VERSION
$ ruby -r puppet -e 'puts Puppet.version'
3.0.1-260-g9ca4e54
62 63 64 65 66 67 68 69 |
# File 'lib/puppet/version.rb', line 62 def self.version version_file = File.join(File.dirname(__FILE__), 'VERSION') return @puppet_version if @puppet_version if version = read_version_file(version_file) @puppet_version = version end @puppet_version ||= PUPPETVERSION end |