Class: ClassifyCluster::Configurator::Cluster
- Inherits:
-
Object
- Object
- ClassifyCluster::Configurator::Cluster
- Defined in:
- lib/classify_cluster/configurator/cluster.rb
Constant Summary collapse
- SSLPEM_FILEPATH =
'/etc/ssl/pem/scmc.pem'
- SSLPEM_MODULE =
'loadbalancer'
Instance Attribute Summary collapse
-
#classes ⇒ Object
readonly
Returns the value of attribute classes.
-
#hostnames ⇒ Object
readonly
Returns the value of attribute hostnames.
-
#name(value = nil) ⇒ Object
readonly
Returns the value of attribute name.
-
#nodes ⇒ Object
readonly
Returns the value of attribute nodes.
-
#resources ⇒ Object
readonly
Returns the value of attribute resources.
-
#ssl_pem(file_path = nil, module_name = nil) ⇒ Object
readonly
Returns the value of attribute ssl_pem.
-
#variables ⇒ Object
readonly
Returns the value of attribute variables.
Instance Method Summary collapse
- #add_hostnames ⇒ Object
- #add_node_roles ⇒ Object
-
#initialize(*args, &block) ⇒ Cluster
constructor
A new instance of Cluster.
- #klass(name) ⇒ Object
- #node(node_name, private_ip, &block) ⇒ Object
- #resource(&block) ⇒ Object
- #variable(name, value) ⇒ Object
Constructor Details
#initialize(*args, &block) ⇒ Cluster
Returns a new instance of Cluster.
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 7 def initialize(*args, &block) @ssl_pem = {} @nodes = {} @variables = {} @resources = [] @classes = [] @name = args.first @hostnames = {} returned = block.call(self) add_hostnames add_node_roles returned end |
Instance Attribute Details
#classes ⇒ Object (readonly)
Returns the value of attribute classes.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def classes @classes end |
#hostnames ⇒ Object (readonly)
Returns the value of attribute hostnames.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def hostnames @hostnames end |
#name(value = nil) ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def name @name end |
#nodes ⇒ Object (readonly)
Returns the value of attribute nodes.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def nodes @nodes end |
#resources ⇒ Object (readonly)
Returns the value of attribute resources.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def resources @resources end |
#ssl_pem(file_path = nil, module_name = nil) ⇒ Object (readonly)
Returns the value of attribute ssl_pem.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def ssl_pem @ssl_pem end |
#variables ⇒ Object (readonly)
Returns the value of attribute variables.
6 7 8 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 6 def variables @variables end |
Instance Method Details
#add_hostnames ⇒ Object
44 45 46 47 48 49 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 44 def add_hostnames @nodes.each_pair do |fqdn, node| @variables['hostnames'] = [] unless @variables['hostnames'] @variables['hostnames'] << "#{fqdn}/#{node.private_ip}" end end |
#add_node_roles ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 50 def add_node_roles @nodes.each_pair do |fqdn, node| node.resource do |resource| resource.type 'etchosts' resource.name "hosts" resource.({ :short_name => fqdn.split('.').first, :fqdn => fqdn, :hosts => @variables['hostnames'] }) end end end |
#klass(name) ⇒ Object
41 42 43 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 41 def klass(name) @classes << name end |
#node(node_name, private_ip, &block) ⇒ Object
31 32 33 34 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 31 def node(node_name, private_ip, &block) @hostnames[node_name] = private_ip @nodes[node_name] = ClassifyCluster::Configurator::Node.new(node_name, private_ip, self, &block) end |
#resource(&block) ⇒ Object
38 39 40 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 38 def resource(&block) @resources << ClassifyCluster::Configurator::Resource.new(&block) end |
#variable(name, value) ⇒ Object
35 36 37 |
# File 'lib/classify_cluster/configurator/cluster.rb', line 35 def variable(name, value) @variables[name] = value end |