Class: OVSImager::DotWriter
- Inherits:
-
Object
- Object
- OVSImager::DotWriter
- Defined in:
- lib/ovsimager/dotwriter.rb
Defined Under Namespace
Classes: BridgeWriter, NSWriter
Instance Method Summary collapse
-
#bridge(name, br_type) {|BridgeWriter.new(@dot, @dot_peers)| ... } ⇒ Object
Draw OVSVS & LinuxBridge.
- #finish(pngname) ⇒ Object
-
#initialize(fname) ⇒ DotWriter
constructor
A new instance of DotWriter.
-
#namespace(name) {|NSWriter.new(@dot, @dot_peers, name)| ... } ⇒ Object
Draw IPNetNS.
Constructor Details
#initialize(fname) ⇒ DotWriter
Returns a new instance of DotWriter.
3 4 5 6 7 8 9 10 |
# File 'lib/ovsimager/dotwriter.rb', line 3 def initialize(fname) @fname = fname @dot = File.open(fname, 'w') @dot.puts 'graph interfaces {' @dot.puts ' compound=true' @dot.puts ' node [shape=rect,margin=0.1]' @dot_peers = [] end |
Instance Method Details
#bridge(name, br_type) {|BridgeWriter.new(@dot, @dot_peers)| ... } ⇒ Object
Draw OVSVS & LinuxBridge
24 25 26 27 28 29 30 31 |
# File 'lib/ovsimager/dotwriter.rb', line 24 def bridge(name, br_type) @dot.puts " subgraph cluster_br__#{escape(name)} {" @dot.puts " label = \"#{br_type}Bridge #{name}\"" yield BridgeWriter.new(@dot, @dot_peers) @dot.puts " }" end |
#finish(pngname) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/ovsimager/dotwriter.rb', line 12 def finish(pngname) @dot.puts @dot_peers.join "\n" @dot.puts '}' @dot.close @dot = nil unless system("dot -Tpng \"#{@fname}\" -o \"#{pngname}\"") puts "Failed to execute dot command: #$?" end end |
#namespace(name) {|NSWriter.new(@dot, @dot_peers, name)| ... } ⇒ Object
Draw IPNetNS
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ovsimager/dotwriter.rb', line 34 def namespace(name) @dot.puts " subgraph cluster_ns__#{escape(name)} {" @dot.puts " label = \"Namespace\\n#{name}\"" @dot.puts " style = \"filled\"" @dot.puts " fillcolor = \"#eeeeee\"" @dot.puts " ns__#{escape(name)} " + "[label=\"\",style=invis,width=0,height=0,margin=0]" yield NSWriter.new(@dot, @dot_peers, name) @dot.puts ' }' end |