Vagrant(1.0.5)とchef-solo(10.12.0)を使用してsslプロバイダーに取り組んでいます
gtm_cq というクックブック内に ssl というプロバイダーがあり、クックブックのデフォルト レシピでそのように定義します。
gtm_cq_ssl "author" do
# attributes will come later
end
次に、証明書をサーバーにプッシュすると、ssl プロバイダーのアクションを通知する以下のような cookbook_fileimport
を作成します。
cookbook_file "#{node[:cq][:ssl][:author_cert_location]}/foo.cer" do
source "foo.cer"
owner "crx"
group "root"
mode "0644"
notifies :import, resources(:gtm_cq_ssl => "author")
end
これを実行すると、foo.cer は期待どおりにプッシュされimport
ますが、ssl プロバイダーのアクションは呼び出されません。私が目にするほとんどの参照は、ログ内の次の数行です (ログ ヘッダーは削除されています)。
.. cookbook_file[/opt/cq5/author/foo.cer] sending import action to gtm_cq_ssl[author] (delayed)
.. Processing gtm_cq_ssl[author] action import (gtm_cq::author line 34)
サーバーに何かをプッシュするためのテスト ファイル用の別の cookbook_file の使用と同様に、非常に明白なログ ステートメントが大量にあります。ログ ステートメントも、プッシュされたテスト ファイルもありません。各テストの前に foo.cer ファイルがサーバーから削除されることも確かです。
通知行を次のように編集すると、:immediately
notifies :import, resources(:gtm_cq_ssl => "author"), :immediately
うまくいくようです。そして、これは私の特定のケースでは問題ないと思いますが、それがプロバイダーを呼び出す唯一の方法である場合、何かが正しくないように思われます。
これに関する任意の助けをいただければ幸いです。
ありがとう!
編集:
したがって、さらに調査した結果、プロバイダーは呼び出されることがわかりましたが、プロバイダー内の cookbook_file 呼び出しは呼び出されません。ログにはそれへの参照がありません。これが私のプロバイダーです:
action :import do
Chef::Log.info "This is my LOG!!!!!!!!!!"
cookbook_file "/opt/cq5/worked.dat" do
source "worked.dat"
cookbook "gtm_cq"
owner "crx"
group "root"
mode "0644"
end
end
ここに私のログ ステートメントが表示されるログがありますが、worked.dat
実行されているクックブック ファイルについては何もありません」
INFO: cookbook_file[/opt/cq5/author/nike.cer] sending import action to gtm_cq_ssl[author] (delayed)
INFO: Processing gtm_cq_ssl[author] action import (gtm_cq::author line 15)
INFO: This is my puts you PUTZ!!!!!!!!!!
INFO: template[/etc/httpd/conf/cq-farms/farm_10author.any] sending restart action to service[apache2] (delayed)
INFO: Processing service[apache2] action restart (apache2::default line 217)
これはバグですか?