lib/testlab/node/lifecycle.rb in testlab-0.2.0 vs lib/testlab/node/lifecycle.rb in testlab-0.2.1

- old
+ new

@@ -26,17 +26,27 @@ 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 + def route_setup(action) + self.networks.each do |network| + command = ZTK::Command.new(:silence => true, :ignore_exit_status => true) + command.exec(%(sudo route #{action} -net #{TestLab::Utility.network(network.ip)} netmask #{TestLab::Utility.netmask(network.ip)} gw #{network.node.ip})) + end + end + # Setup the node. def setup @ui.logger.debug { "Node Setup: #{self.id} " } - # @ui.stdout.puts(format_message(format_object(self, :green))) - please_wait(:ui => @ui, :message => format_object_action(self, 'Setup', :green)) do + + if (self.route == true) + route_setup(:add) + end + node_setup if self.components.include?('resolv') build_resolv_conf end @@ -57,14 +67,16 @@ # Teardown the node. def teardown @ui.logger.debug { "Node Teardown: #{self.id} " } - # @ui.stdout.puts(format_message(format_object(self, :red))) - call_collections([self.containers, self.routers, self.networks], :teardown) please_wait(:ui => @ui, :message => format_object_action(self, 'Teardown', :red)) do + + if (self.route == true) + route_setup(:del) + end end true end