[和訳] ChefDK 0.5.0 リリース #getchef
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は ChefDK 0.5.0 Released (2015/04/30) の和訳です。
シェフのみなさん、こんにちは。
ChefDK 0.5.0をリリースしました。サポートしているすべてのシステム向けパッケージは https://downloads.chef.io/chef-dk/ からダウンロードできます。
すべての変更点はCHANGELOG.mdに記載しています。本稿では注目すべき変更点を取り上げたいと思います。
ポリシーファイル
ネイティブAPIモード
このリリースはポリシーファイルワークフローに対する多数のサポートを追加しました。まず、互換モードではなくネイティブのAPIでChef Serverとの通信を行うようにデフォルトに設定しました。これは、もし現在ポリシーファイルを使っているなら、互換モードを使い続けるにはknife.rbにpolicy_document_native_api falseを追加する必要があることを意味します。もしネイティブモードに切り替えたいなら、互換モードのData Bagからポリシーファイルへ自動でインポートは行われないので、ポリシーファイルロックを再アップロードする必要があります。
Chef Serverの現在のバージョンではポリシーファイルのネイティブモードはサポートしていません。リリース 12.1.0 で含まれる予定です。Chef Zeroも現在はネイティブモードをサポートしていません。現在それらのサーバにポリシーファイルをアップロードしたいなら、互換モードを使い続ける必要があります。
訂正: 間違いました。この投稿 (訳注: 和訳)で詳しく紹介した通り、Chef Server 12.0.7はポリシーファイルのネイティブモードのエンドポイントをサポートしています。ただし、有効にするには設定が必要です。Chef Server 12.1.0はデフォルトでポリシーファイルのネイティブモードのエンドポイントをサポートする予定です。混乱させてしまって申し訳ありません。
しかし、Chef Zeroはまだネイティブモードのエンドポイントをサポートしていません。
ポリシーファイルでのAttribute
ポリシーファイルは、CookbookのAttributeファイルで使っているものと同じ書式でAttributeをサポートしました。
default['some']['attribute'] = 1
default['some']['overridden']['attribute'] = 'a'
override['some']['overridden']['attribute'] = 'b'
ポリシーファイルのAttributeは、chef-client実行時に「role」の優先度で適用されます。chef update -aを実行することで、policyfile.lockのAttributeのみを再生成できます。
Chef Diff
chef diffを実行すると、2つのポリシーファイル間の違いや、特定のポリシーファイルの2バージョンの違いを表示します。詳しい説明とオプションはchef diff -hで確認できます。このコマンドはサーバがネイティブAPIエンドポイントで実行しているときのみ動作します。
次は出力の例です。
その他
- chef shell-initでfishシェル(訳注:friendly interactive shell)をサポートしました。
- chef -vがChefDK、Chef、Berkshelf、Test Kitchenのバージョンを表示するようになりました。
- chef generate repoコマンドはモノリシックなレポジトリを作成しなくなりました。
- supermarketやberkshelfのような依存関係の解決の代わりに、Cookbookの「すべて」を完全に含んでいる単一のモノリシックなgitレポジトリをサポートするためのCookbookソースであるchef_repoを追加しました。Cookbookの依存関係はファイルシステムからのみ決定されます。このソースとsupermarketやberkshelf APIは組み合わせて利用できません。
- knife-windows gemバージョン0.8.4とwinrm-transport gemバージョン1.0.0を同梱しました。
- 組み込みソフトウェアをアップデートしました。
- chef - 12.2.1
- chef-provisioning - 1.1.1
- chef-provisioning-fog - 0.13.2
- chef-provisioning-azure - 0.3.2
- chef-provisioning-aws - 1.1.1
- test-kitchen - 1.4.0
- kitchen-vagrant - 0.17.0
OSXユーザへの注意
組み込んだchef 12.2.1には、OSXのpackage Providerとしてhomebrewの代わりにmacportsを使おうとするバグがあります。組み込みchefをWorkstationの収束に使うなら、このバージョンのChefDKをインストールしてはいけません。このバグ修正を含むchef 12.3.0を組み込んだ0.5.1リリースを準備しています。数日お待ちください。