Edited at

Puppet 4.4 リリースノート ピックアップ

More than 3 years have passed since last update.

Puppet4.4.0(2016/3/16リリース)の、リリースノートで個人的に気になる変更をピックアップしてみました。動作確認とかはしてないので、間違っている部分があればご指摘ください。

4.4では、機能追加が多めです。

この投稿時点で、すでに4.6が出ています。

過去バージョンでの変更のフォロー用です。


Puppet 4.4.0

Released March 16, 2016.


New features


Iterable and Iterator Types added


PUP-5730

指定の間隔nで繰り返す、step関数が追加されました。


PUP-5730: The iterative function an_iterable.step(n) has been added. It yields every nth successor from its input iterable when chained into another function. (後略...)


配列での利用例が、Function Referenceの方に記載されています。

data配列の要素を先頭から、3個間隔で処理する例です。

https://docs.puppet.com/puppet/latest/reference/function.html#step

# For the array $data, call a block with the first element and then with each 3rd successor element

$data = [1,2,3,4,5,6,7,8]
$data.step(3) |$item| {
notice($item)
}
# Puppet notices the values '1', '4', '7'.


Arrays from Iterator values with splat


PUP-5836

ループ処理に使う配列が簡単に用意できる、*(splat operator)が追加されました。


PUP-5836: It is possible to produce an Array from Iterator values by using the splat operator. As an example the expression:


*[1,2,3].reverse_each 

# produces [3,2,1]


Misc new features and behaviors


PUP-5729

逆順に繰り返す、reverse_each関数が追加されました。


PUP-5729: The function reverse_each has been added. It works similar to the each function but iterates over elements in reverser order. (後略...)


配列での利用例が、Function Referenceの方に記載されています。

data配列の要素を、後ろから順に処理する例です。

https://docs.puppet.com/puppet/latest/reference/function.html#reverseeach

# Puppet will log a notice for each of the three items

# in $data in reverse order.
$data = [1,2,3]
$data.reverse_each |$item| { notice($item) }

逆順なので、3,2,1です。


PUP-1376

定義の一部をスキップするskip_tags設定が追加されました。


PUP-1376: This adds a new skip_tags setting, as a compliment to the tags setting. This new setting allows skipping resources based on tags, and is applied before the tags setting is applied.


使い方は、以前試した投稿をご参考に。

Puppetで定義の一部を無効化するskip_tags


PUP-5608

非推奨ながらRuby 2.3をサポート。


PUP-5608: This adds initial Ruby 2.3 support. However, note that using Puppet with 2.3.0 is not yet recommended.



PUP-1072

fileリソースで、source属性にURLを設定できるようになりました。HTTPやHTTPS経由で直接ファイル取得できます。


PUP-1072: This adds support for ‘http’ and ‘https’ URLS as source attributes to the file resource.


使い方は、以前試した投稿をご参考に。

Puppet4.xではじめるサーバ設定自動化 7(ファイル変更)


PUP-4748

(マスター側にないファイルを削除する)purge属性で変更があったときに、依存関係を定義しているリソースにイベントが通知されるようになりました。


PUP-4748: It’s now possible to purge a resource that has downstream dependents, such as notifying a service to restart. This reinstates behavior that was possible prior to PUP-1963.



Bug Fixes

環境によっては、影響ありそうなバグがいくつか修正されているようです。

細かいので省略。


Puppet 4.4.1

Released March 24, 2016.


Enhancements


PUP-5877

Hieraのファイルに記載する値に、.(ドット)が使えるようになりました。(どんな場面で使うかは不明。Facter?)


PUP-5877: Hiera data files that provide values at the environment and module levels can now provide values from variables with a . in their names, provided that name is properly quoted. For example, this value from production/data/common.yaml is now legal:


    env_production_hardware_platform: "%{'hardware.platform'}"

その他、バグ修正は省略。


Puppet 4.4.2

Released April 26, 2016.

セキュリティ関連の修正(CVE-2016-2785)とバグ修正


参考

Puppet 4.4 Release Notes

https://docs.puppet.com/puppet/4.4/reference/release_notes.html