0

レシピとして定義されたものとロールとして定義されたものがあります。たとえば、最上位の役割は次のとおりです。

run_list( "role[el-drupal-cookbook::drupal_lamp_dev]" , "recipe[drupal-site-jnl-el-cookbook::default]" )

上記の目的は、サーバーを drupal ランプ サーバーとしてセットアップし、特定の Web サイトをそのサーバーにインストールすることです。

add_role リクエストを使用して Vagrant からすべて呼び出し、librarian-chef がすべてのビットをまとめています。クックブックのパスは「cookbooks」で、role_path は「roles」です。

これを実行すると、最上位のロール (Vagrantfile と同じディレクトリにある) が検出されますが、異なるクックブックにあるロールは検出されません。

ロールとレシピは両方とも、クックブック パスが提供する必要があるクックブックに格納されているため、明らかに何かが不足しています。誰でも助けることができますか?

以下にエラーメッセージを添付しました。

[2013-10-24T14:37:28+00:00] INFO: Setting the run_list to ["recipe[apt]", "recipe[git]", "role[drupal-jnl-el]", "recipe[drupal-site-jnl-el-cookbook::disable-cdn]"] from JSON
[2013-10-24T14:37:28+00:00] ERROR: Role el-drupal-cookbook::drupal_lamp_dev (included by 'role[drupal-jnl-el]') is in the runlist but does not exist. Skipping expand.

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


Missing Role(s) in Run List:
----------------------------
* el-drupal-cookbook::drupal_lamp_dev included by 'role[drupal-jnl-el]'


Original Run List
-----------------
* recipe[apt]
* recipe[git]
* role[drupal-jnl-el]
* recipe[drupal-site-jnl-el-cookbook::disable-cdn]

編集:

vagrantfile には次のように書かれています。

# define where things have been collected together by librarian-chef
chef.cookbooks_path = ["cookbooks"]
chef.roles_path = ["roles"]

# this installs most of the infrastrucutre required to support a drupal instance
chef.add_recipe "apt" # add this so we have updated packages available
chef.add_recipe "git"
# chef.add_recipe "openvpn"  # vpn needed, but using tunnelblick on mac host instead.

# This role represents our default Drupal development stack.
chef.add_role   "drupal-jnl-el"
4

2 に答える 2