2017-04-24 4 views
0

は、ここに私のkitchen.ymlkitchen.ymlに役割を追加できますか?

--- 
driver: 
    name: vagrant 
    network: 
    - ["private_network", {ip: "192.168.35.35"}] 

provisioner: 
    name: chef_zero 
    # You may wish to disable always updating cookbooks in CI or other testing environments. 
    # For example: 
    # always_update_cookbooks: <%= !ENV['CI'] %> 
    always_update_cookbooks: true 
    roles_path: test/integration/roles/ 

verifier: 
    name: inspec 

platforms: 
    - name: ubuntu-14.04 

suites: 
    - name: default 
    run_list: 
     - role[tomcat_role] 
    verifier: 
     inspec_tests: 
     - test/smoke/default 
    attributes: 

であり、私はシェフのサーバー上に間違いがあるが、それでも、私はこのエラーを取得しています、次のエラーに

[2017-04-24T10:39:02+00:00] ERROR: Role tomcat_role (included by 'top lev 
el') is in the runlist but does not exist. Skipping expand. 

     ========================================================================= 
======= 
     Error expanding the run_list: 
     ========================================================================= 
======= 

     Missing Role(s) in Run List: 
     ---------------------------- 
     * tomcat_role included by 'top level' 

役割を取得しておきます。私たちは、kitchen.ymlの実行リスト属性で役割を使用することは許されていませんか?

+0

ローカルプロビジョナーを使用しているためシェフサーバーは問題ありませんが、どのパスにテストロールを入れましたか? – coderanger

+0

jsonファイル(tomcat.json)はテスト/統合/ロールフォルダー 'roles_path:test/integration/roles /'にあります。 – aaj

+0

jsonファイルを保存する必要がある特定の場所はありますか? – aaj

答えて

1

コメントのとおり、ロールのファイル名はnameフィールドと一致し、実行リストのrole[name]文字列と一致する必要があります。それらの3つのすべてが整列していることを確認し、すべてを設定する必要があります。

+0

私は試しました。私のjsonファイル名は 'tomcatrole'、jsonの名前フィールドも' tomcatrole'、kitchen.ymlには 'tomcatrole'もあります。 run_list: - " role [tomcatrole] " – aaj

0

です。問題はroles_pathsでした。私はそれをrole_pathに変更し、すべてが機能しました。

+0

それは答えとして。 – Pred

関連する問題