summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSaku Ytti <saku@ytti.fi>2013-10-24 12:48:53 +0300
committerSaku Ytti <saku@ytti.fi>2013-10-24 12:48:53 +0300
commit0060d65fb92c2e09ec04e6bccb25f53338b71d0a (patch)
tree8d22c80d4ff36a1bc18d275d60e71020bd02b1c6 /lib
parent1b4cf651d5b7e9e032a7bc0636c569d0419f2ded (diff)
parentedaf887b86d84378c94ef02fe7200e70f93f9279 (diff)
Merge https://github.com/p-sherratt/oxidized work
* IOS model conditional support for enable password * rest_client fix * rescue more errors in ssh
Diffstat (limited to 'lib')
-rw-r--r--lib/oxidized/input/ssh.rb2
-rw-r--r--lib/oxidized/input/telnet.rb2
-rw-r--r--lib/oxidized/model/ios.rb14
3 files changed, 12 insertions, 6 deletions
diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb
index c0594db..dc90354 100644
--- a/lib/oxidized/input/ssh.rb
+++ b/lib/oxidized/input/ssh.rb
@@ -39,7 +39,7 @@ module Oxidized
disconnect_cli
@ssh.loop
@ssh.close if not @ssh.closed?
- rescue Net::SSH::Disconnect
+ rescue Errno::ECONNRESET, Net::SSH::Disconnect
end
end
diff --git a/lib/oxidized/input/telnet.rb b/lib/oxidized/input/telnet.rb
index c4c8bab..26755ca 100644
--- a/lib/oxidized/input/telnet.rb
+++ b/lib/oxidized/input/telnet.rb
@@ -17,7 +17,7 @@ module Oxidized
expect password
@telnet.puts @node.auth[:password]
expect @node.prompt
- rescue Timeout::Error, Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EHOSTUNREACH
+ rescue Timeout::Error, Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EPIPE, Errno::EHOSTUNREACH
return false
end
end
diff --git a/lib/oxidized/model/ios.rb b/lib/oxidized/model/ios.rb
index 3fcc7ae..a216126 100644
--- a/lib/oxidized/model/ios.rb
+++ b/lib/oxidized/model/ios.rb
@@ -23,7 +23,11 @@ class IOS < Oxidized::Model
cmd 'show running-config' do |cfg|
cfg = cfg.each_line.to_a[3..-1].join
+ cfg.gsub! /^Current configuration : [^\n]*\n/, ''
cfg.sub! /^(ntp clock-period).*/, '! \1'
+ cfg.gsub! /^\ tunnel\ mpls\ traffic-eng\ bandwidth[^\n]*\n*(
+ (?:\ [^\n]*\n*)*
+ tunnel\ mpls\ traffic-eng\ auto-bw)/mx, '\1'
cfg
end
@@ -40,10 +44,12 @@ class IOS < Oxidized::Model
post_login 'terminal length 0'
post_login 'terminal width 0'
# preferred way to handle additional passwords
- #post_login do
- # send "enable\n"
- # send CFG.vars[:enable] + "\n"
- #end
+ if CFG.vars[:enable] and CFG.vars[:enable] != ''
+ post_login do
+ send "enable\n"
+ send CFG.vars[:enable] + "\n"
+ end
+ end
pre_logout 'exit'
end