lib/chef_metal.rb in chef-metal-0.8 vs lib/chef_metal.rb in chef-metal-0.8.1
- old
+ new
@@ -65,6 +65,17 @@
cluster_type = provisioner_url.split(':', 2)[0]
require "chef_metal/provisioner_init/#{cluster_type}_init"
provisioner_class = @@registered_provisioner_classes[cluster_type]
provisioner_class.inflate(node)
end
+
+ def self.connect_to_machine(name)
+ rest = Chef::ServerAPI.new()
+ node = rest.get("/nodes/#{name}")
+ provisioner_output = node['normal']['provisioner_output']
+ if !provisioner_output
+ raise "Node #{name} was not provisioned with Metal."
+ end
+ provisioner = provisioner_for_node(node)
+ provisioner.connect_to_machine(node)
+ end
end