class OVSImager::LinuxBridge
Public Class Methods
new(ns=[])
click to toggle source
# File lib/ovsimager/linuxbridge.rb, line 5 def initialize(ns=[]) brctl_out = exec_brtcl @br = parse brctl_out ns.each do |n| brctl_out = exec_brtcl(n) @br = @br.merge parse(brctl_out, ns) end end
Public Instance Methods
exec_brtcl(ns=nil)
click to toggle source
# File lib/ovsimager/linuxbridge.rb, line 18 def exec_brtcl(ns=nil) ns_prefix = ns ? "ip netns exec #{ns} " : '' Utils.execute(ns_prefix + 'brctl show', !!ns) end
to_hash()
click to toggle source
# File lib/ovsimager/linuxbridge.rb, line 14 def to_hash() return @br end
Private Instance Methods
parse(str, ns=:root)
click to toggle source
# File lib/ovsimager/linuxbridge.rb, line 24 def parse(str, ns=:root) params = {} str.split(/\n(?=\S)/)[1..-1].map do |br| data = br.split params[data[0]] = { :name => data[0], :id => data[1], :stp => data[2], :interfaces => [data[0]] + data[3..-1], :ns => ns, } end params end