16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/yun/model/ssh.rb', line 16
def chef role
Net::SSH.start(@host, user, :keys => [key_file]) do |ssh|
puts "installing chef"
remote_command ssh, "bash /tmp/install_chef_file.sh"
puts "packaging chef repo"
tmp_chef_repo_tar = make_chef_repo_tar Config.chef_repo
puts "uploading chef repo"
ssh.scp.upload! tmp_chef_repo_tar, tmp_chef_repo_tar
ssh.scp.upload! install_chef_file, "/tmp/install_chef_file.sh"
ssh.scp.upload! chef_config_file, "/tmp/chef-solo.rb"
remote_command ssh, "echo {\\\"run_list\\\":\\\"role[#{role}]\\\"} > /tmp/node.json"
puts "executing chef"
remote_command ssh, "sudo chef-solo -c /tmp/chef-solo.rb -j /tmp/node.json -r /tmp/chef-solo.tar.gz"
puts "**********"
puts "DONE"
end
end
|