lib/testlab/node/lifecycle.rb in testlab-0.5.4 vs lib/testlab/node/lifecycle.rb in testlab-0.6.0

- old
+ new

@@ -1,27 +1,10 @@ class TestLab class Node module Lifecycle - # Iterates an array of arrays calling the specified method on all the - # collections of objects - def call_collections(collections, method_name) - collections.each do |collection| - call_methods(collection, method_name) - end - end - - # Calls the specified method on all the objects supplied - def call_methods(objects, method_name) - objects.each do |object| - if object.respond_to?(method_name) - object.send(method_name) - end - end - end - # Bootstrap the node def node_setup node_setup_template = File.join(self.class.template_dir, 'node-setup.erb') self.ssh.bootstrap(ZTK::Template.render(node_setup_template)) end @@ -33,42 +16,25 @@ self.create self.up please_wait(:ui => @ui, :message => format_object_action(self, 'Setup', :green)) do - node_setup + global_provisioners = [self.provisioners, self.containers.map(&:provisioners)].flatten.compact.uniq - if self.components.include?('resolv') - build_resolv_conf + global_provisioners.each do |provisioner| + @ui.logger.info { ">>>>> NODE PROVISIONER: #{provisioner} <<<<<" } + p = provisioner.new(self.config, @ui) + p.respond_to?(:node) and p.node(self) end - if self.components.include?('bind') - bind_setup - end - - self.containers.each do |container| - container.provisioners.each do |provisioner| - p = provisioner.new(container.config, @ui) - p.respond_to?(:node) and p.node(self) - end - end - end - call_collections([self.networks, self.containers], :setup) - - if self.components.include?('bind') - bind_reload - end - true end # Teardown the node. def teardown @ui.logger.debug { "Node Teardown: #{self.id} " } - - call_collections([self.containers.reverse, self.networks.reverse], :teardown) please_wait(:ui => @ui, :message => format_object_action(self, 'Teardown', :red)) do # NOOP end