fbpx

[和訳] 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エンドポイントで実行しているときのみ動作します。

次は出力の例です。

diff1

diff2

その他

  • 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リリースを準備しています。数日お待ちください。

新規CTA