T2 インスタンスで実行するように Chef マスター サーバーを再構築しています。つまり、VPC に移動しています。古いマスターは 11.10.4 を実行しており、私がいじっていた新しいマスターは 11.16.4 を実行しています。VPC 内に適切なサーバーを構築するところまで来ましたが、Apache のセットアップでハングアップします。
ohai[reload_users] アクション reload[2014-11-25T08:13:58-06:00] エラー: プラグインの実行中にエラーが発生しました: #<Ohai::Exceptions::AttributeNotFound: そのような属性はありません: 'passwd'
具体的には、レシピのこのコードが気に入らないようです
if node[:etc][:passwd][:apache] == nil
ohai "reload_users" do
plugin "passwd"
action :reload
end
end
私は周りを見回して、ohaiでこの記事を見つけました
Ohai 6 では、passwd プラグイン (passwd.rb という名前) が「current_user」属性を設定します。このデータを使用するには、この事実を知る必要があります。
require_plugin("passwd")Ohai 7 では、ユーザーの操作は属性名に基づいています。データを収集したい属性の名前のみを指定してください。Ohai 7 は、どのプラグインが必要かを判断し、データを収集します。
Ohai 7 では、current_userが「currentuser」に依存していることを確認するために、基礎となる詳細を知る必要はありません。
似てる…でも交換plugin "passwd"
するdepends 'currentuser'
と失敗するのも失敗。
私はOhai 7を使用していると思います(ショーgem list
)ohai (7.4.0)
。私はルビーの男ではないので、少しあいまいです。このコードは正確に何をしているのでしょうか? これは、古い Opscode クックブックからリポジトリにカスタム追加されたものです。私たちのクックブックの大部分は、もう会社で働いておらず、これに対する答えも知らない他の誰かによって書かれました。コメントアウトすると問題なく動作し、Apache がインストールされますが、理解せずに一部のコードを削除するだけでは不十分です。