@@ -14,7 +14,7 @@ class Netns
1414 def self . all
1515 sh ( 'ip netns list' ) . split ( "\n " ) . map do |each |
1616 name = each . split . first
17- addr_list = sudo ( "ip - netns #{ name } -4 -o addr list" ) . split ( "\n " )
17+ addr_list = sudo ( "ip netns exec #{ name } ip -4 -o addr list" ) . split ( "\n " )
1818 if addr_list . size > 1
1919 %r{inet ([^/]+)/(\d +)} =~ addr_list [ 1 ]
2020 new ( name : name ,
@@ -62,7 +62,8 @@ def stop
6262 end
6363
6464 def device
65- if /^\d +: ([^@]+)@/ =~ sudo ( "ip -netns #{ name } -o link show type veth" )
65+ if /^\d +: ([^@]+)@/ =~
66+ sudo ( "ip netns exec #{ name } ip -o link show type veth" )
6667 Regexp . last_match ( 1 )
6768 end
6869 end
@@ -74,25 +75,25 @@ def device=(device_name)
7475
7576 vlan_suffix = @vlan ? ".#{ @vlan } " : ''
7677 if @vlan
77- sudo "ip - netns #{ name } link set #{ device_name } up"
78- sudo "ip - netns #{ name } " \
79- "link add link #{ device_name } name " \
78+ sudo "ip netns exec #{ name } ip link set #{ device_name } up"
79+ sudo "ip netns exec #{ name } " \
80+ "ip link add link #{ device_name } name " \
8081 "#{ device_name } #{ vlan_suffix } type vlan id #{ @vlan } "
8182 end
82- sudo "ip - netns #{ name } link set #{ device_name } #{ vlan_suffix } up"
83- sudo "ip - netns #{ name } " \
84- "addr replace #{ @ip_address } /#{ @netmask } " \
83+ sudo "ip netns exec #{ name } ip link set #{ device_name } #{ vlan_suffix } up"
84+ sudo "ip netns exec #{ name } " \
85+ "ip addr replace #{ @ip_address } /#{ @netmask } " \
8586 "dev #{ device_name } #{ vlan_suffix } "
8687
87- sudo "ip - netns #{ name } link set #{ device_name } #{ vlan_suffix } up"
88+ sudo "ip netns exec #{ name } ip link set #{ device_name } #{ vlan_suffix } up"
8889
8990 @route . add name
9091 end
9192 # rubocop:enable MethodLength
9293
9394 def netmask
9495 if %r{inet [^/]+/(\d +) } =~
95- sudo ( "ip - netns #{ name } -o -4 address show dev #{ device } " )
96+ sudo ( "ip netns exec #{ name } ip -o -4 address show dev #{ device } " )
9697 IPAddr . new ( '255.255.255.255' ) . mask ( Regexp . last_match ( 1 ) . to_i ) . to_s
9798 end
9899 end
@@ -102,7 +103,8 @@ def route
102103 end
103104
104105 def vlan
105- if /^\d +: #{ device } \. (\d +)@/ =~ sudo ( "ip -netns #{ name } -o link show" )
106+ if /^\d +: #{ device } \. (\d +)@/ =~
107+ sudo ( "ip netns exec #{ name } ip -o link show" )
106108 Regexp . last_match ( 1 )
107109 end
108110 end
0 commit comments