0

やりたい

knife role create <role-name> -y

ルビーコード経由。別のナイフプラグインを作成したくない。ロールリスト全体を印刷できます(以下のコードを参照)。しかし、今度は、ロールにレシピがない単純なロールを追加するにはどうすればよいですか?

require 'rubygems'
require 'chef' 

Chef::Config[:node_name]='client_name'
Chef::Config[:client_key]='path to client cert.pem'
Chef::Config[:chef_server_url]="http://ur chef server:4000"    


puts Chef::Role.list

ありがとう

4

1 に答える 1

2

ノードの実行リストには、run_listプロパティを介してアクセスします。ただし、最初にChefサーバーからノードをロードする必要があります。role[foo]次のコードは、既存のノードに追加されますn

require 'rubygems'
require 'chef' 

Chef::Config[:node_name]='client_name'
Chef::Config[:client_key]='path to client cert.pem'
Chef::Config[:chef_server_url]="http://ur chef server:4000"    

node = Chef::Node.load('n')
node.run_list << "role[foo]"
node.save

Chef Rubyインターフェースがどのように機能するかを理解するために、私は通常「gem contents chef | xargsgrepwhatever」を実行して周りを見回しています。

于 2012-07-31T21:46:30.450 に答える