红联Linux门户
Linux帮助

Puppet 3.6.0发布,系统管理工具

发布时间:2014-05-16 09:21:10来源:红联作者:empast
Puppet,是基于Ruby的一个工具,可以集中管理每一个重要方面,使用的是跨平台的规范语言,管理所有单独的元素,通常聚集在不同的文件,如用户, CRON作业,和主机一起的离散元素,如包装,服务和文件。

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. always returns 1 whether the service is enabled/disabled. - m4ce


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

来自:开源中国社区
文章评论

共有 0 条评论