2017-07-13 9 views
4

後、私は、次のコマンドを実行している:"FATAL:コンフィギュレーションをロードできません" のシェフ・クライアント

chef-client --local-mode -j deploy-backend.json 

JSONファイルが含まれています

{ 
    "run-list" : [ 
    "deploy-dev::sysprepare", 
    "deploy-dev::deploybackend", 
    "deploy-dev::deploynginx" 
    ] 
} 

今問題:シェフ-clientコマンドが正常に実行されますしかし、レシピを実行した後、最後に致命的なエラーを与える:

$ sudo chef-client --local-mode -j cookbooks/deploy-backend.json 
[2017-07-13T13:19:11+02:00] WARN: No config file found or specified on command line, using command line options. 
Starting Chef Client, version 13.2.20 
resolving cookbooks for run list: ["deploy-dev::sysprepare", "deploy-dev::deploybackend", "deploy-dev::deploynginx"] 
Synchronizing Cookbooks: 
    - deploy-dev (0.1.0) 
Installing Cookbook Gems: 
Compiling Cookbooks... 
Converging 29 resources 
Recipe: deploy-dev::sysprepare 
... 
... 
- reload service service[nginx] 

Running handlers: 
Running handlers complete 
Chef Client finished, 11/33 resources updated in 01 minutes 32 seconds 
[2017-07-13T13:20:43+02:00] WARN: No config file found or specified on command line, using command line options. 
[2017-07-13T13:20:43+02:00] WARN: No config file found or specified on command line, using command line options. 
[2017-07-13T13:20:43+02:00] FATAL: Cannot load configuration from cookbooks/deploy-backend.json 
[2017-07-13T13:20:43+02:00] FATAL: Cannot load configuration from cookbooks/deploy-backend.json 

私はリロード」、出力のほとんどを省略しましたサービス・サービス[nginx]は、実行リストの最後のリソースです。私は手動でレシピが正しく実行されていることを確認しましたが、最後にこの致命的なエラーが発生しています(これはCIジョブから呼び出されているため、CIパイプラインが失敗しています)。レシピの実行がOKに行ったとして

これは、奇妙です。シェフクライアントバージョン13.2.20を使用しています。 chef-clientのバージョン12を使用している場合、これはokを実行します。また、私はちょうど実行リストを渡した場合:

chef-client --local-mode -r "deploy-dev::sysprepare,deploy-dev::deploybackend,deploy-dev::deploynginx" 

これは正しく実行されます。誰がここで何が起こっているのか知っていますか?

答えて

6

あなたのJSONこれは既知のバグのように見える

sudo chef-client --local-mode -j /opt/chef/cookbooks/deploy-backend.json 
+0

Worked!なぜこれが必要なのか分かりますか?関連するドキュメントへのリンクを提供できますか? – roirodriguez

+0

同じエラーが発生しました。実験を通して解決策を見つけましたが、公式の埠頭にはこのことは言及されていません –

0

へのフルパスを使用する必要があります。 https://github.com/chef/chef/issues/6427

solo.rbファイルには、同じ問題を引き起こしていました。 前述のとおり、コマンドライン引数argsに絶対パスを使用します。

関連する問題