Age | Commit message (Collapse) | Author |
|
Supports 200, 300, 500, and ESW2 series switches
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with 0.19.0 (in rubygem-rugged-0.19.0-4.fc20.x86_64) you'll get this:
/usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/output/git.rb:69:in `create': wrong argument type nil (expected Hash) (TypeError)
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/output/git.rb:69:in `update_repo'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/output/git.rb:33:in `store'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:37:in `process'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:13:in `block in work'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:13:in `each'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/worker.rb:13:in `work'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:36:in `run'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:29:in `initialize'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:11:in `new'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/core.rb:11:in `new'
from /usr/local/share/gems/gems/oxidized-0.2.2/lib/oxidized/cli.rb:9:in `run'
from /usr/local/share/gems/gems/oxidized-0.2.2/bin/oxidized:9:in `<top (required)>'
from /usr/local/bin/oxidized:23:in `load'
from /usr/local/bin/oxidized:23:in `<main>'
|
|
If you have
input:
debug: session_log
Then session_log-telnet and session_log-ssh will be created showing what
the telnet/ssh saw. Helpful in model development.
|
|
Unfortunately, older Foundry/Brocade hardware doesn't support "terminal
length 0" and you have to use the much clunkier "skip-page-display"
instead. This especially affects older FastIron era devices.
|
|
|
|
|
|
- ios show first line of 'show version'
- junos display omitted config
|
|
|
|
ALU ISAM DSLAM does this
|
|
|
|
Without this, config gets 'true' value, which is not string, and git
output will barf.
|
|
|
|
ScreenOS support
|
|
|
|
Brocade Vyatta model added
|
|
|
|
Updates
|
|
|
|
|
|
Added Brocade Fabric OS support
|
|
|
|
|
|
Added Force10 support
|
|
We need to return value of 'r' instead of value of previous evaluation.
|
|
|
|
SQL file in configuration renamed to database.
Should the generated example file have host+user+password+query?
|
|
config option "file" got renamed to "database", added authentication options for other SQL adapters and an optional query argument to overwrite the generic query.
config snipplet:
sql:
adapter: mysql2
user: sqluser
password: sekrit
host: mysql.local
database: inventory
table: devices
query: SELECT `fqhn` AS `name`, lower(`vendor`) AS `model` FROM `devices` INNER JOIN `devtypes` ON (`devtypes`.`id` = `devices`.`model_id`) WHERE (`aktiv` = 'J')
map:
name: name
model: model
|
|
|
|
|
|
a) put metainformation on top, rancid style
b) remove changing data from 'show system'
|
|
Even after manually setting author+committer, it still crashed with:
Config value 'user.name' was not found [Rugged::ConfigError]
Not sure where it would want to use it, after author+committer already
are set, but I guess this method is more robust anyhow.
|
|
Ratioinale is, we want to keep it default, but it should be easy for
people to understand what to do, if they don't want it.
Closes #17
|
|
a) grit is not supported, rugged is
b) grit requires git CLI installed, rugged does not
c) grit needs monkey patching to work, rugged does not
Closes #21
Closes #22
|
|
|
|
Looks like this in syslog:
Jul 11 21:05:53 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 22"
Jul 11 21:05:53 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 23"
Jul 11 21:05:54 ytti oxidized[9820]: 10.10.10.10 status no_connection, retry attempt 1
Jul 11 21:05:54 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 22"
Jul 11 21:05:54 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 23"
Jul 11 21:05:55 ytti oxidized[9820]: 10.10.10.10 status no_connection, retry attempt 2
Jul 11 21:05:55 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 22"
Jul 11 21:05:55 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 23"
Jul 11 21:05:56 ytti oxidized[9820]: 10.10.10.10 status no_connection, retry attempt 3
Jul 11 21:05:56 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 22"
Jul 11 21:05:56 ytti oxidized[9820]: 10.10.10.10 raised Errno::ENETUNREACH with msg "Network is unreachable - connect(2) for "10.10.10.10" port 23"
Jul 11 21:05:57 ytti oxidized[9820]: 10.10.10.10 status no_connection, retries exhausted, giving up
|
|
Closes #23
|
|
Closes #20
[ytti@ytti.fi ~/tmp/oxidized]% oxidized
Error loading config: (<unknown>): mapping values are not s context at line 15 column 7
[ytti@ytti.fi ~/tmp/oxidized]%
|
|
if ~/.config/oxidized/model/ios.rb exists it is used, iinstead of the
system-wide model
|
|
thanks to @richih
|
|
How this works in ruby2.0 normally? What component has loaded this
implicitly?
Thanks to @RichiH for spotting.
|
|
|
|
When running Oxidized via oxidized-script you want just one node, and
you specify that as Nodes.new(:node=>x) however as router.db usually
lacks 'ip' field, and only has 'name' field'.
If you have router.db with IP in 'name' field, and you do
Nodes.new(:node='192.0.2.1') it won't return anything, as '192.0.2.1' is
matched against node[:ip] which does not exist.
This change makes IP match against IP and Name.
|
|
In new method, where we no long explicitly set loaded class name for
later resolution we depend on file name being same as class name.
However for File output, this is not true, because I didn't want plain
File in code to resolve to Oxidized::File, and din't want to always
write ::File, File ouput has class name OxFile.
This change allows class names to start optionally with string
'Oxidized' if so, they still match.
|