Puppet的简单陈述规范语言的能力提供了强大的classing制定了主机之间的相似之处,同时使他们能够提供尽可能具体的必要的,它依赖的先决条件和对象之间的关系清楚而明确。
集中式系统管理工具Puppet发布3.6.0,新的产品系列。经过1个RC.向下完全兼容3其他版本。2014-05-15 上个版本是2013-04-16的3.5.1其他产品线3.4.3 3.2.4 3.1.1 3.0.2 2.7.25。
完全改进:
Puppet 3.6.0
Released May 15, 2014. (RC1: May 6.)
Puppet 3.6.0 兼容 Puppet 3,最大的改进内容包括:
Improvements to directory environments, and the deprecation of config file environments
Support for purging unmanagedssh_authorized_keyresources
Support for installing gems for a custom provider as part of a Puppet run
A configurable global logging level
A configurable hashing algorithm (for FIPS compliance and other purposes)
Improvements to the experimental future parser
Improvements for Directory Environments
Directory environments were introduced in Puppet 3.5 as a partially finished (but good enough for most people) feature. With Puppet 3.6, we consider them completed. We’re pretty sure they can now handle every use case for environments we’ve ever heard of.
The final piece is theenvironment.conffile. This optional file allows any environment to override themanifest,modulepath, andconfig_versionsettings, which is necessary for some people and wasn’t possible in Puppet 3.5. You can now exclude global module directories for some environments, or point all environments at a global main manifest file. For details, see the page on directory environments and the page on environment.conf.
It’s also now possible to tune the cache timeout for environments, to improve performance on your puppet master. See the note on timeout tuning in the directory environments page.
PUP-1114: Deprecate environment configuration in puppet.conf
PUP-2213: The environmentpath setting is ignored by puppet faces unless set in [main]
PUP-2215: An existing directory environment will use config_version from an underlying legacy environment of the same name.
PUP-2290: ca_server and directory based environments don’t play nice together
PUP-1596: Make modulepath, manifest, and config_version configurable per-environment
PUP-1699: Cache environments
PUP-1433: Deprecate ‘implicit’ environment settings and update packaging
Deprecation: Config-File Environments and the Globalmanifest/modulepath/config_versionSettings
Now that directory environments are completed, config-file environments are deprecated. Defining environment blocks in puppet.conf will cause a deprecation warning, as will any use of themodulepath,manifest, andconfig_versionsettings in puppet.conf.
This also means that using no environments is deprecated. In a future version of Puppet (probably Puppet 4), directory environments will always be enabled, and the defaultproductionenvironment will take the place of the globalmanifest/modulepath/config_versionsettings.
Related issues:
PUP-1114: Deprecate environment configuration in puppet.conf
PUP-1433: Deprecate ‘implicit’ environment settings and update packaging
Feature: Purging Unmanaged SSH Authorized Keys
Purging unmanaged ssh_authorized_key resources has been on the most-wanted features list for a very long time, and we haven’t been able to make theresourcesmeta-type accommodate it.
Fortunately, the user type accommodates it very nicely. You can now purge unmanaged SSH keys for a user by setting thepurge_ssh_keysattribute:
user { 'nick':
ensure => present,
purge_ssh_keys => true,
}
This will purge any keys in~nick/.ssh/authorized_keysthat aren’t being managed as Puppet resources.
Related issues:
PUP-1174: PR (2247) Ability to purge .ssh/authorized_keys
PUP-1955: purge_ssh_keys causes stack trace when creating new users on redhat
Feature: Installing Gems for a Custom Provider During Puppet Runs
Previously, custom providers that required one or more gems would fail if at least one gem was missing before the current puppet run, even if they had been installed by the time the provider was actually called. This release fixes the behavior so that custom providers can rely on gems installed during the same puppet run.
Related issue:
PUP-1879: Library load tests in features should clear rubygems path cache
Feature: Globallog_levelSetting
You can now set the global log level using thelog_levelsetting in puppet.conf. It defaults tonotice, and can be set todebug,info,notice,warning,err,alert,emerg, orcrit.
Related issue:
PUP-1854: Global log_level param
Feature:digest_algorithmSetting
You can now change the hashing algorithm that puppet uses for file digests tosha256using the new digest_algorithmsetting in puppet.conf. This is especially important for FIPS-compliant hosts, which would previously crash when puppet tried to use MD5 for hashing. Changing this setting won’t affect themd5orfqdn_randfunctions.
This setting must be set to the same value on all agents and all masters simultaneously; if they mismatch, you’ll run into two problems:
PUP-2427: Pluginsync will download every file every time if digest_algorithms do not agree -- All files with asourceattribute will download on every run, which wastes a lot of time and can swamp your puppet master.
PUP-2423: Filebucket server should warn, not fail, if checksum type is not supported -- If you’re using a remote filebucket to back up file content, agent runs will fail.
Related issue:
PUP-1840: Let user change hashing algorithm, to avoid crashing on FIPS-compliant hosts
Improvements to the Future Parser
It’s still experimental, but the future parser has gotten a lot of attention in this release. For example, functions can now accept lambdas as arguments using the new Callable type. There are also a few changes laying the groundwork for the upcoming catalog builder.
PUP-1960: realizing an empty array of resources fails in future evaluator
PUP-1964: Using undefined variable as class parameter default fails in future evaluator
PUP-2190: Accessing resource metaparameters fails in future evaluator
PUP-2317: Future parser does not error on import statements
PUP-2302: New evaluator does not properly handle resource defaults
PUP-2026: Add a LambdaType to the type system
PUP-2027: Add support for Lambda in Function Call API
PUP-1956: Add function loader for new function API
PUP-2344: Functions unable to call functions in different modules
PUP-485: Add assert_type functions for type checks
PUP-1799: New Function API
PUP-2035: Implement Loader infrastructure API
PUP-2241: Add logging functions to static loader
PUP-485: Add assert_type functions for type checks
PUP-1799: New Function API
PUP-2035: Implement Loader infrastructure API
PUP-2241: Add logging functions to static loader
OS Support Changes
This release improves compatibility with Solaris 10 and adds support for Ubuntu 14.04 (Trusty Tahr).
Support for Ubuntu 13.04 (Raring Ringtail) has been discontinued; it was EOL’d in January 2014.
Related issues:
PUP-1749: Puppet module tool does not work on Solaris
PUP-2100: Allow Inheritance when setting Deny ACEs
PUP-1711: Add Ubuntu 14.04 packages
PUP-1712: Add Ubuntu 14.04 to acceptance
PUP-2347: Remove raring from build_defaults, it is EOL
PUP-2418: Remove Tar::Solaris from module_tool
Module Tool Changes
The puppet module tool has been updated to deprecate the Modulefile in favor of metadata.json. To help ease the transition, the module tool will automatically generate metadata.json based on a Modulefile if it finds one. If neither Modulefile nor metadata.json is available, it will kick off an interview and generate metadata.json based on your responses.
The new module template has also been updated to include a basic README and spec tests. For more information, see Publishing Modules on the Puppet Forge.
Related issues:
PUP-1976:puppet module buildshould usemetadata.jsonas input format
PUP-1977:puppet module buildshould createmetadata.jsoninstead ofModulefile
PUP-2045: puppet module generate should produce a skeleton Rakefile
PUP-2093: PMT should use the Forge’s /v3 API
PUP-2284: Add a user interview for creating a metadata.json file
PUP-2285: Update PMT generate’s README template
Issues fixed during RC:
PUP-2484:puppet module buildshould provide deprecated functionality with warning until Puppet v4 -- this would cause the Modulefile to be ignored if a metadata.json file also existed.
PUP-2561: PMT may deadlock when packing or unpacking large tarballs
PUP-2562: PMT will not install puppetlabs/openstack 4.0.0
Type and Provider Fixes
Package:
Several providers were updated to support theinstall_optionsattribute, and the yum provider now has special behavior to make--enablerepoand--disablerepowork well when you set them asinstall_options.
PUP-748: PR (2067): Zypper provider install options - darix
PUP-620: (PR 2429) Add install_options to gem provider
PUP-1769: PR (2414) yum provider to support install_options
PUP-772: PR (2082): Add install options to apt
PUP-1060: enablerepo and disablerepo for yum type
Nagios:
PUP-1041: PR (2385) naginator not parsing blank parameters
Cron:
PUP-1585: PR (2342) cron resources with target specified generate duplicate entries
PUP-1586: PR (2331) Cron Type sanity check for the command parameter is broken
PUP-1624: PR (2342) Cron handles crontab’s equality of target and user strangely
Service:
OpenBSD services can now be enabled and disabled, and we fixed some bugs on other platforms.
PUP-1751: PR (2383): Suse chkconfig -check boot.
PUP-1932: systemd reports transient (in-memory) services
PUP-1938: Remove Ubuntu default from Debian service provider
PUP-1332: “puppet resource service” fails on Ubuntu 13.04 and higher
PUP-2143: Allow OpenBSD service provider to implement :enableable
File:
We fixed a regression from Puppet 3.0 that broke file resources whosesourceURL specified a server other than the default. (That is,puppet://myserver/modules/...instead ofpuppet:///modules/....)
PUP-1892: PR (2420) Puppet remote fileserver facility for file resources.
Yumrepo:
We fixed a few lingering regressions from the big yumrepo cleanup of Puppet 3.5, and added support for theskip_if_unavailableparameter.
PUP-2218: yumrepo can no longer manage repositories in yum.conf
PUP-2291: yumrepo priority can not be sent to absent
PUP-2292: Insufficient tests on yumrepo’s => absent
PUP-2279: Add support for ‘skip_if_unavailable’ parameter toyumrepo
Augeas:
We added better control over the way Augeas resources display diffs, for better security and less noise.
PUP-2033: Allow augeas diffs to respect loglevel
PUP-2048: Allow suppressing diffs on augeas
General Bug Fixes
PUP-530: Installer for Puppet 3 does not check for hiera
PUP-1547: PR (2311) Undefined method `groups’ for nil:NilClass
PUP-1552: V2.0 API reports Not Authorized as a “RUNTIME_ERROR”
PUP-1924: source function library before client sysconfig overrides
PUP-1954: use of ‘attr’ causes deprecation warning
PUP-1986: Permissions for libdir are set arbitrarily
PUP-2073: PR (2477) Multiple values for diff_args causes diff execution failure
PUP-2278: puppet module install fails when given path containing spaces
PUP-2101: resource parser: add the resource name on the validation error message when using create_resources
PUP-2282: Deprecation warnings issued with different messages from the same line are suppressed.
PUP-2306: Puppet::Util::Execution.execute no longer returns a String
PUP-2415: Puppet Agent Service - Rename /etc/sysconfig/puppetagent to /etc/sysconfig/puppet
PUP-2416: Puppet Service - Use no-daemonize and no forking (Master and Agent)
PUP-2417: Puppet Agent Should wait for Puppet Master to finish starting, if puppet master is installed
PUP-2395: Installation problem for puppetmaster-puppet 3.5.1 on Ubuntu 13.10
All Resolved Issues for 3.6.0
Our ticket tracker has the list of all issues resolved in Puppet 3.6.0.
下载:http://downloads.puppetlabs.com/puppet/puppet-3.6.0.tar.gz
来自:开源中国社区