class Haas::Cluster
Public Instance Methods
chef_client_pem_path()
click to toggle source
# File lib/models/cluster.rb, line 20 def chef_client_pem_path File.join(self.working_dir_path,"haas-api.pem") end
chef_validator_pem_path()
click to toggle source
# File lib/models/cluster.rb, line 24 def chef_validator_pem_path File.join(self.working_dir_path,"haas-validator.pem") end
generate_name()
click to toggle source
# File lib/models/cluster.rb, line 32 def generate_name random_str = (0...8).map { (65 + rand(26)).chr }.join self.name = "HAAS-#{random_str}" end
get_ambari_server()
click to toggle source
# File lib/models/cluster.rb, line 49 def get_ambari_server ambari_server = self.nodes.where('nodes.ambari_server=?',true) if ambari_server.first return ambari_server.first else node = self.nodes.where('nodes.chef_server IS NULL').first node.ambari_server = true node.save return node end end
get_chef_server()
click to toggle source
# File lib/models/cluster.rb, line 37 def get_chef_server chef_server = self.nodes.where('nodes.chef_server=?',true) if chef_server.first return chef_server.first else node = self.nodes.first node.chef_server = true node.save return node end end
identity_file_path()
click to toggle source
# File lib/models/cluster.rb, line 16 def identity_file_path File.join(self.working_dir_path,"ssh-#{self.name}.pem") end
knife_config_path()
click to toggle source
# File lib/models/cluster.rb, line 28 def knife_config_path File.join(self.working_dir_path,"knife.rb") end
mkdir_cluster_home()
click to toggle source
# File lib/models/cluster.rb, line 7 def mkdir_cluster_home require 'fileutils' FileUtils.mkdir_p self.working_dir_path end
working_dir_path()
click to toggle source
# File lib/models/cluster.rb, line 12 def working_dir_path File.join(Haas::Config::WORKING_DIR, self.name) end