diff options
author | Matthias Cramer <matthias.cramer@iway.ch> | 2017-03-24 00:09:39 +0100 |
---|---|---|
committer | Matthias Cramer <matthias.cramer@iway.ch> | 2017-03-24 00:09:39 +0100 |
commit | 0912287387c60533d42776dbae7127cdcee026c6 (patch) | |
tree | 72514ea1c4dae7ba9add5d06776ba06e7ef03833 | |
parent | 258ccbc0456798be8fe0a45952a48fba60392fa8 (diff) | |
parent | 4a67e27742c0ab8ed6cd8421d34c01c0de588705 (diff) |
Merge remote-tracking branch 'upstream/master'
-rw-r--r-- | README.md | 31 | ||||
-rwxr-xr-x | extra/auto-reload-config.runit | 2 | ||||
-rwxr-xr-x | extra/oxidized.init | 6 | ||||
-rw-r--r-- | lib/oxidized/input/ssh.rb | 5 | ||||
-rw-r--r-- | lib/oxidized/model/alvarion.rb | 4 | ||||
-rw-r--r-- | lib/oxidized/model/cisconga.rb | 19 | ||||
-rw-r--r-- | lib/oxidized/model/saos.rb | 3 |
7 files changed, 62 insertions, 8 deletions
@@ -75,13 +75,14 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen * Check Point * [GaiaOS](lib/oxidized/model/gaiaos.rb) * Ciena - * [SOAS](lib/oxidized/model/saos.rb) + * [SAOS](lib/oxidized/model/saos.rb) * Cisco * [AireOS](lib/oxidized/model/aireos.rb) * [ASA](lib/oxidized/model/asa.rb) * [CatOS](lib/oxidized/model/catos.rb) * [IOS](lib/oxidized/model/ios.rb) * [IOSXR](lib/oxidized/model/iosxr.rb) + * [NGA](lib/oxidized/model/cisconga.rb) * [NXOS](lib/oxidized/model/nxos.rb) * [SMB (Nikola series)](lib/oxidized/model/ciscosmb.rb) * Citrix @@ -897,6 +898,34 @@ hooks: channel: "#network-changes" ``` +# Extra + +## Ubuntu SystemV init setup + +The init script assumes that you have a used named 'oxidized' and that oxidized is in one of the following paths: + +``` +/sbin +/bin +/usr/sbin +/usr/bin +/usr/local/bin +``` + +1.)Copy init script from extra/ folder to /etc/init.d/oxidized +2.)Setup /var/run/ + +``` +mkdir /var/run/oxidized +chown oxidized:oxidized /var/run/oxidized +``` + +3.)Make oxidized start on boot + +``` +update-rc.d oxidized deafults +``` + Note the channel name must be in quotes. # Ruby API diff --git a/extra/auto-reload-config.runit b/extra/auto-reload-config.runit index 5eaecc8..cf6e7c2 100755 --- a/extra/auto-reload-config.runit +++ b/extra/auto-reload-config.runit @@ -2,7 +2,7 @@ if [ -z "$CONFIG_RELOAD_INTERVAL" ]; then # Just stop and do nothing - read + sleep infinity fi while true; do diff --git a/extra/oxidized.init b/extra/oxidized.init index 197c5b1..7a9698d 100755 --- a/extra/oxidized.init +++ b/extra/oxidized.init @@ -14,12 +14,12 @@ set -e -PATH=/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/home/sts/oxidized/bin/oxidized +PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin +DAEMON=$(which oxidized) NAME="oxidized" DESC="Oxidized - Network Device Configuration Backup Tool" ARGS="" -USER="sts" +USER="oxidized" test -x $DAEMON || exit 0 diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb index 9a5c508..858d5cd 100644 --- a/lib/oxidized/input/ssh.rb +++ b/lib/oxidized/input/ssh.rb @@ -25,7 +25,10 @@ module Oxidized @log = File.open(Oxidized::Config::Log + "/#{@node.ip}-ssh", 'w') if Oxidized.config.input.debug? port = vars(:ssh_port) || 22 if proxy_host = vars(:ssh_proxy) - proxy = Net::SSH::Proxy::Command.new("ssh #{proxy_host} -W %h:%p") + proxy_command = "ssh " + proxy_command += "-o StrictHostKeyChecking=no " unless secure + proxy_command += "#{proxy_host} -W %h:%p" + proxy = Net::SSH::Proxy::Command.new(proxy_command) end ssh_opts = { :port => port.to_i, diff --git a/lib/oxidized/model/alvarion.rb b/lib/oxidized/model/alvarion.rb index 3c762de..7a4dcc7 100644 --- a/lib/oxidized/model/alvarion.rb +++ b/lib/oxidized/model/alvarion.rb @@ -8,6 +8,8 @@ class Alvarion < Oxidized::Model end - cfg :tftp {} + cfg :tftp do + + end end diff --git a/lib/oxidized/model/cisconga.rb b/lib/oxidized/model/cisconga.rb new file mode 100644 index 0000000..73fb51c --- /dev/null +++ b/lib/oxidized/model/cisconga.rb @@ -0,0 +1,19 @@ +class CiscoNGA < Oxidized::Model + + comment '# ' + prompt /([\w.@-]+[#>]\s?)$/ + + cmd 'show version' do |cfg| + comment cfg + end + + cmd 'show configuration' do |cfg| + cfg + end + + cfg :ssh do + post_login 'terminal length 0' + pre_logout 'exit' + end + +end diff --git a/lib/oxidized/model/saos.rb b/lib/oxidized/model/saos.rb index 649daa7..5a4e79e 100644 --- a/lib/oxidized/model/saos.rb +++ b/lib/oxidized/model/saos.rb @@ -2,7 +2,7 @@ class SAOS < Oxidized::Model # Ciena SAOS switch # used for 6.x devices - + comment '! ' cmd :all do |cfg| @@ -11,6 +11,7 @@ class SAOS < Oxidized::Model cmd 'configuration show' do |cfg| cfg.gsub! /^! Created: [^\n]*\n/, '' + cfg.gsub! /^! On terminal: [^\n]*\n/, '' cfg end |