LoginSignup
3
2

More than 3 years have passed since last update.

Chef Infra Client をChefライセンス同意不要のコミュニティビルド版CINCに変更する

Last updated at Posted at 2019-09-30

Chef Infra Client(※)のバージョン15くらいから、ライセンス同意を促されてますよね。(※他との区別のためchef-clientについた名前)

+---------------------------------------------+
            Chef License Acceptance

...

ライセンスApache2ちゃうの、と思うでしょうがそれはソースコードのお話とのこと。
Chef Software社がビルドした実行ファイル(※)とそれを含むrpm,debの利用に対してはこちらのChef Licenseに同意してね、と。

※ 実行ファイルだけ別のRubyGemになってたりする => https://github.com/chef/chef/tree/master/chef-bin

CINC Project

で、あのライセンス同意をしなくてよいバージョンをコミュニティビルドという体で出しましょう、というCINC Projectが発足。

で、ちょっと名前違いの中身おんなじというパッケージが配布されだしたようです。
よくわからない? 私もですから気にしないでいこうな。

Chef Infra Clientの範囲で、CINCとの違いは、、

  • 実行関係のファイルchef-*cinc-*
    • でもsymlinkがあるよ
  • Chef License Acceptance不要
  • デフォルトの/etc/chef/etc/cinc => /etc/chefに変わりました。 => やっぱり/etc/cinc だよ!(また変わるかもね。。)
    • (ただしohaiは多分ずっと/etc/chefのまま)

これだけ。この先変わってしまうこともあるかもですが。

で、コミュニティビルドパッケージの配布は今の所こちらから。

追記: Projectのサイトが出来ていた。 CINC omnibus-installerもここにあるよ。

Chef Infra Client => CINC Clientに差し替える

せっかくなのでchef-clientからcinc-clientに差し替えてみよう。違いはさっき挙げただけなので、まるまる差し替えてしまっても大丈夫です。

まずChef Softwareビルド版のchefパッケージを消しますね。(例はUbuntu16)

$ sudo dpkg -r chef
(Reading database ... 72883 files and directories currently installed.)
Removing chef (15.3.14-1) ..

Download • CINC から、インストーラのシェルを実行すればよいです。

以下、互換性維持のためのいくつかのお世話がされています。

  • cinc-clientほかcinc-* => cher-clientほかcher-*へのsymlinkはCINCパッケージインストール時に作られます -- uninstall時に消さないけど
  • 設定ディレクトリは /etc/chef を使う
  • => デフォルトの設定ディレクトリはやっぱり/etc/cincに戻った。

差し替えの場合、/etc/cinc/etc/chefはリンクしておくのが無難。 普段から--configオプション付きで実行してもよいです。

$ sudo ln -s /etc/chef /etc/cinc

見た目何も変わらないので、適当に入れ替えてしまっても構わない感じです。


追記: 以下は古い情報です。

差し替えの場合、/etc/cinc/etc/chefはリンクしておくのが無難。

$ sudo ln -s /etc/chef /etc/cinc

http://downloads.cinc.sh から適当なdebを入れればok.

$ wget http://downloads.cinc.sh/files/stable/cinc/ubuntu/16.04/cinc_15.3.14-1_amd64.deb
$ sudo dpkg -i cinc_15.3.14-1_amd64.deb

...
Thank you for installing cinc, the community build based on Chef!

$ cinc-client -v
Cinc Client: 15.3.14

ついでに主要な実行ファイルをSymlinkにしてしまえば、互換性の面で安心ですかね。

$ for x in apply client shell solo ; do sudo ln -sfv /usr/bin/cinc-$x /usr/bin/chef-$x ; done
'/usr/bin/chef-apply' -> '/usr/bin/cinc-apply'
'/usr/bin/chef-client' -> '/usr/bin/cinc-client'
'/usr/bin/chef-shell' -> '/usr/bin/cinc-shell'
'/usr/bin/chef-solo' -> '/usr/bin/cinc-solo'

$ chef-client -v
Cinc Client: 15.3.14

Chef License Acceptanceをなかったことにして、CINC Clientを実行してみました。

$ sudo rm -rfv /etc/chef/accepted_licenses/
removed '/etc/chef/accepted_licenses/inspec'
removed '/etc/chef/accepted_licenses/chef_infra_client'
removed directory '/etc/chef/accepted_licenses/'


$ sudo chef-client -z -l fatal
Starting Cinc Client, version 15.3.14
resolving cookbooks for run list: []
Synchronizing Cookbooks:
Installing Cookbook Gems:
Compiling Cookbooks...
Converging 0 resources

Running handlers:
Running handlers complete
Cinc Client finished, 0/0 resources updated in 01 seconds

止まらずに走りますね。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2