Age | Commit message (Collapse) | Author |
|
Fixes performance regression
|
|
So that input/output can be configured under model
|
|
Unsure what problem was being solved here originally, wish I had tests
for expected behaviour :)
|
|
|
|
|
|
API to worker. This allows for Gitlab (or another Git UI) to properly
display the commit author.
|
|
trigger a event when a full cycle was completed
|
|
|
|
Signed-off-by: Clement Parisot <clement.parisot@uni.lu>
|
|
With ssh proxy you might want to have far-end resolve
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
two primary goals
- username and password can come from different sources (Global PW, per
group username)
- model can come from group
|
|
|
|
fix repository path resolution
|
|
this correctly respects the repo declaration as Hash or String
|
|
|
|
|
|
ref.: https://github.com/ytti/oxidized/pull/326/files#r53557892
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model: SAM1316-22 STU-C
ZyNOS version: V3.53(BVE.2)
|
|
|
|
sql/csv can now set IP as well as name, useful if you don't have FQDN.
If IP is given, then we don't try to resolve name.
closes #78
|
|
Without this, config gets 'true' value, which is not string, and git
output will barf.
|
|
|
|
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
|
|
How this works in ruby2.0 normally? What component has loaded this
implicitly?
Thanks to @RichiH for spotting.
|
|
temporary fix. Maybe node#last should check the type or we shouldn't use
last for the nodes#next in the first place
|
|
We may need this in future, but as we don't need this in oxidized-script
now after all, I don't want something to be implemented just-in-case
|
|
|
|
So that we can easily check last time node failed/succceded etc
|
|
|
|
Variables can now be fed to model from multiple locations. In order of
preference:
1) node (from source)
2) group
3) global
In a model vars should be accessed via 'vars' helper method though it is
not required. Helper method ignores nil values so care needs to taken
when designing model behaviour.
Support for node level vars is currently available on sql source via
'vars_map' configuration.
Following example populates node vars 'enable' and 'somevariable' from sql
columns 'var_enable' and 'var_somevariable'
sql:
adapter: sqlite
file: /home/aakso/.config/oxidized/sqrouter.db
table: nodes
map:
name: hostname
model: model
group: node_group
username: username
password: password
vars_map:
enable: var_enablepw
somevariable: var_somevariable
|
|
For rancid-like behaviour one can now set username and password for node groups. These parameters are considered in the following order:
1) node parameters (from source)
2) group level parameters
3) global level parameters
example configuration for group 'testlab'
groups:
testlab:
username: testuser
password: testpassword
|
|
Main benefits
a) we get support for system wide configs
b) we don't use symbols in config file, they're confusing to
non-rubyist
|
|
|
|
If we use assignment method (#method=) we don't get return value, so we
never know that manager fails to load.
Also we do not want to rescue failures of input/output/source loading,
they are catastrophic and should fail whole process, loading of model is
not catastrophic.
|