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