class Comana::ClusterSetting

Series name is composed only of alphabets. Host name is started by the series name and followed by integers. E.g.,

"Fe", "Fe00", "Fe01" are of series "Fe" and not "F"

Constants

DEFAULT_DATA_FILE

Attributes

data_file[R]
groups[R]
pbs_server[R]

Public Class Methods

load_file(data_file = DEFAULT_DATA_FILE) click to toggle source
# File lib/comana/clustersetting.rb, line 24
def self.load_file(data_file = DEFAULT_DATA_FILE)
  settings = YAML.load_file(data_file)
  self.new(settings, data_file)
end
new(settings, data_file = nil) click to toggle source
# File lib/comana/clustersetting.rb, line 18
def initialize(settings, data_file = nil)
  @pbs_server = settings["pbs_server"]
  @groups = settings["groups"]
  @data_file = data_file
end

Public Instance Methods

belonged_cluster(hostname) click to toggle source

Return belonged cluster of the host. Raise NoEntryError if not match.

# File lib/comana/clustersetting.rb, line 31
def belonged_cluster(hostname)
  @groups.each do |group, settings|
    next unless settings["members"]
    return group if settings["members"].include? hostname
  end
  raise NoEntryError, "#{hostname} is not in `@groups': #{@groups.inspect}"
end
clusters() click to toggle source

Return an array of cluster names.

# File lib/comana/clustersetting.rb, line 60
def clusters
  @groups.keys
end
settings_group(clustername) click to toggle source

Return settings as a hash for a cluster.

# File lib/comana/clustersetting.rb, line 40
def settings_group(clustername)
  @groups[clustername]
end
settings_host(hostname) click to toggle source

Return settings as a hash for a host belonged to cluster.

# File lib/comana/clustersetting.rb, line 55
def settings_host(hostname)
  settings_group(belonged_cluster(hostname))
end
settings_queue(q_name) click to toggle source

Return settings as a hash for a cluster, the 'queue' key has a value of q_name.

# File lib/comana/clustersetting.rb, line 45
def settings_queue(q_name)
  result = nil
  #pp @groups
  @groups.each do |name, items|
    result = items if items['queue'] == q_name
  end
  result
end