Module: TestLab::Network::Actions
- Included in:
- TestLab::Network
- Defined in:
- lib/testlab/network/actions.rb
Instance Method Summary collapse
-
#create ⇒ Object
Create the network.
-
#destroy ⇒ Object
Destroy the network.
-
#down ⇒ Object
Stop the network.
-
#up ⇒ Object
Start the network.
Instance Method Details
#create ⇒ Object
Create the network
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/testlab/network/actions.rb', line 7 def create @ui.logger.debug { "Network Create: #{self.id} " } self.node.alive? or return false please_wait(:ui => @ui, :message => format_object_action(self, 'Create', :green)) do self.node.bootstrap(<<-EOF, :ignore_exit_status => true) set -x grep '#{def_tag}' /etc/network/interfaces && exit 0 cat <<EOI | tee -a /etc/network/interfaces #{def_tag} auto #{self.bridge} iface #{self.bridge} inet static bridge_ports none bridge_stp off bridge_fd 0 address #{self.ip} broadcast #{self.broadcast} netmask #{self.netmask} #{end_tag} EOI brctl addbr #{self.bridge} brctl stp #{self.bridge} off brctl setfd #{self.bridge} 0 EOF do_provisioner_callbacks(self, :create, @ui) end true end |
#destroy ⇒ Object
Destroy the network
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/testlab/network/actions.rb', line 40 def destroy @ui.logger.debug { "Network Destroy: #{self.id} " } self.node.alive? or return false please_wait(:ui => @ui, :message => format_object_action(self, 'Destroy', :red)) do self.node.bootstrap(<<-EOF, :ignore_exit_status => true) set -x sed -i '/#{def_tag}/,/#{end_tag}/d' /etc/network/interfaces brctl delbr #{self.bridge} EOF do_provisioner_callbacks(self, :destroy, @ui) end true end |
#down ⇒ Object
Stop the network
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/testlab/network/actions.rb', line 77 def down @ui.logger.debug { "Network Down: #{self.id} " } self.node.alive? or return false please_wait(:ui => @ui, :message => format_object_action(self, 'Down', :red)) do self.node.bootstrap(<<-EOF, :ignore_exit_status => true) set -x ifconfig #{self.bridge} down EOF do_provisioner_callbacks(self, :down, @ui) end true end |
#up ⇒ Object
Start the network
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/testlab/network/actions.rb', line 59 def up @ui.logger.debug { "Network Up: #{self.id} " } self.node.alive? or return false please_wait(:ui => @ui, :message => format_object_action(self, 'Up', :green)) do self.node.bootstrap(<<-EOF, :ignore_exit_status => true) set -x ifconfig #{self.bridge} #{self.ip} netmask #{self.netmask} broadcast #{self.broadcast} up EOF do_provisioner_callbacks(self, :up, @ui) end true end |