class Tinet::Command::Down
Public Instance Methods
run()
click to toggle source
# File lib/tinet/command/down.rb, line 6 def run exec_pre_cmd exec_pre_down nodes.each do |node| node.interfaces.each do |interface| if interface.type == :phys detach_physnet_from_docker("#{namespaced(node.name)}", interface.name) end end end nodes.each do |node| case node.type when :docker sudo "docker stop #{namespaced(node.name)}" when :netns sudo "ip netns del #{namespaced(node.name)}" end end switches.each do |switch| sudo "ovs-vsctl del-br #{namespaced(switch.name)}" end exec_post_down end
Private Instance Methods
detach_physnet_from_docker(container, ifname)
click to toggle source
# File lib/tinet/command/down.rb, line 36 def detach_physnet_from_docker(container, ifname) mount_docker_netns(container, container) sudo "ip netns exec #{container} ip link set #{ifname} netns 1" sudo "ip netns del #{container}" end