oxidized 0.24.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +4 -0
  3. data/.rubocop.yml +3 -0
  4. data/CHANGELOG.md +26 -2
  5. data/Dockerfile +8 -32
  6. data/README.md +17 -5
  7. data/bin/oxidized +1 -1
  8. data/docs/Configuration.md +41 -3
  9. data/docs/Hooks.md +26 -0
  10. data/docs/Model-Notes/AireOS.md +1 -2
  11. data/docs/Model-Notes/ArbOS.md +1 -2
  12. data/docs/Model-Notes/Comware.md +1 -2
  13. data/docs/Model-Notes/EOS.md +1 -2
  14. data/docs/Model-Notes/JunOS.md +1 -2
  15. data/docs/Model-Notes/Netgear.md +5 -6
  16. data/docs/Model-Notes/Nokia.md +9 -0
  17. data/docs/Model-Notes/README.md +3 -2
  18. data/docs/Model-Notes/VRP-Huawei.md +1 -2
  19. data/docs/Model-Notes/Viptela.md +12 -0
  20. data/docs/Model-Notes/XGS4600-Zyxel.md +1 -2
  21. data/docs/Ruby-API.md +54 -2
  22. data/docs/Supported-OS-Types.md +12 -0
  23. data/extra/oxidized.service +7 -0
  24. data/lib/oxidized/cli.rb +7 -0
  25. data/lib/oxidized/config.rb +3 -0
  26. data/lib/oxidized/core.rb +1 -0
  27. data/lib/oxidized/hook/ciscosparkdiff.rb +11 -17
  28. data/lib/oxidized/hook/slackdiff.rb +5 -11
  29. data/lib/oxidized/hook/xmppdiff.rb +1 -0
  30. data/lib/oxidized/input/ssh.rb +43 -27
  31. data/lib/oxidized/input/telnet.rb +1 -0
  32. data/lib/oxidized/model/acos.rb +2 -2
  33. data/lib/oxidized/model/acsw.rb +6 -6
  34. data/lib/oxidized/model/adtran.rb +22 -0
  35. data/lib/oxidized/model/aen.rb +2 -2
  36. data/lib/oxidized/model/aireos.rb +3 -2
  37. data/lib/oxidized/model/alteonos.rb +2 -2
  38. data/lib/oxidized/model/aos.rb +1 -1
  39. data/lib/oxidized/model/aos7.rb +1 -1
  40. data/lib/oxidized/model/aosw.rb +5 -3
  41. data/lib/oxidized/model/apc_aos.rb +1 -1
  42. data/lib/oxidized/model/arbos.rb +2 -2
  43. data/lib/oxidized/model/asa.rb +8 -2
  44. data/lib/oxidized/model/awplus.rb +1 -1
  45. data/lib/oxidized/model/axos.rb +16 -0
  46. data/lib/oxidized/model/c4cmts.rb +3 -5
  47. data/lib/oxidized/model/casa.rb +1 -1
  48. data/lib/oxidized/model/catos.rb +1 -1
  49. data/lib/oxidized/model/ciscosma.rb +1 -1
  50. data/lib/oxidized/model/ciscosmb.rb +10 -4
  51. data/lib/oxidized/model/comtrol.rb +41 -0
  52. data/lib/oxidized/model/comware.rb +1 -1
  53. data/lib/oxidized/model/coriantgroove.rb +4 -6
  54. data/lib/oxidized/model/cumulus.rb +14 -1
  55. data/lib/oxidized/model/datacom.rb +1 -2
  56. data/lib/oxidized/model/dcnos.rb +1 -1
  57. data/lib/oxidized/model/dellx.rb +76 -0
  58. data/lib/oxidized/model/dlink.rb +2 -2
  59. data/lib/oxidized/model/dnos.rb +3 -1
  60. data/lib/oxidized/model/eciapollo.rb +34 -0
  61. data/lib/oxidized/model/edgecos.rb +1 -0
  62. data/lib/oxidized/model/edgeos.rb +6 -1
  63. data/lib/oxidized/model/eos.rb +3 -2
  64. data/lib/oxidized/model/fiberdriver.rb +1 -1
  65. data/lib/oxidized/model/firebrick.rb +31 -0
  66. data/lib/oxidized/model/firewareos.rb +1 -1
  67. data/lib/oxidized/model/fortios.rb +5 -4
  68. data/lib/oxidized/model/ftos.rb +4 -1
  69. data/lib/oxidized/model/fujitsupy.rb +3 -3
  70. data/lib/oxidized/model/gaiaos.rb +1 -1
  71. data/lib/oxidized/model/gcombnps.rb +3 -1
  72. data/lib/oxidized/model/hatteras.rb +1 -1
  73. data/lib/oxidized/model/hirschmann.rb +2 -2
  74. data/lib/oxidized/model/hpebladesystem.rb +1 -1
  75. data/lib/oxidized/model/ios.rb +21 -13
  76. data/lib/oxidized/model/ipos.rb +3 -3
  77. data/lib/oxidized/model/ironware.rb +3 -3
  78. data/lib/oxidized/model/isam.rb +1 -1
  79. data/lib/oxidized/model/junos.rb +1 -1
  80. data/lib/oxidized/model/masteros.rb +2 -3
  81. data/lib/oxidized/model/mlnxos.rb +5 -5
  82. data/lib/oxidized/model/model.rb +3 -0
  83. data/lib/oxidized/model/ndms.rb +1 -2
  84. data/lib/oxidized/model/netgear.rb +7 -9
  85. data/lib/oxidized/model/netonix.rb +1 -1
  86. data/lib/oxidized/model/netscaler.rb +6 -1
  87. data/lib/oxidized/model/nos.rb +2 -2
  88. data/lib/oxidized/model/oneos.rb +1 -1
  89. data/lib/oxidized/model/openbsd.rb +8 -22
  90. data/lib/oxidized/model/openwrt.rb +1 -0
  91. data/lib/oxidized/model/opnsense.rb +1 -1
  92. data/lib/oxidized/model/panos.rb +9 -9
  93. data/lib/oxidized/model/pfsense.rb +2 -1
  94. data/lib/oxidized/model/planet.rb +1 -1
  95. data/lib/oxidized/model/powerconnect.rb +7 -4
  96. data/lib/oxidized/model/procurve.rb +7 -5
  97. data/lib/oxidized/model/routeros.rb +1 -1
  98. data/lib/oxidized/model/saos.rb +1 -1
  99. data/lib/oxidized/model/screenos.rb +3 -3
  100. data/lib/oxidized/model/sros.rb +2 -2
  101. data/lib/oxidized/model/stoneos.rb +1 -1
  102. data/lib/oxidized/model/tmos.rb +2 -0
  103. data/lib/oxidized/model/tplink.rb +4 -0
  104. data/lib/oxidized/model/viptela.rb +29 -0
  105. data/lib/oxidized/model/voltaire.rb +5 -5
  106. data/lib/oxidized/model/voss.rb +4 -4
  107. data/lib/oxidized/model/vrp.rb +1 -1
  108. data/lib/oxidized/model/vyatta.rb +1 -1
  109. data/lib/oxidized/model/weos.rb +1 -1
  110. data/lib/oxidized/model/xos.rb +9 -2
  111. data/lib/oxidized/node.rb +20 -31
  112. data/lib/oxidized/nodes.rb +3 -0
  113. data/lib/oxidized/output/git.rb +17 -20
  114. data/lib/oxidized/output/gitcrypt.rb +2 -1
  115. data/lib/oxidized/output/http.rb +19 -12
  116. data/lib/oxidized/source/csv.rb +15 -8
  117. data/lib/oxidized/source/http.rb +26 -22
  118. data/lib/oxidized/string.rb +9 -4
  119. data/lib/oxidized/version.rb +2 -2
  120. data/lib/oxidized/worker.rb +44 -36
  121. data/oxidized.gemspec +1 -4
  122. metadata +26 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c00743626e287a15848821ba168ad2cbb824e5df3a325cbaa890b955ea3dafa1
4
- data.tar.gz: e83a4ba0e11cf259ec0c81850812f736bbe519428d36297c6b8741e0a68e9036
3
+ metadata.gz: df89ebe44036e31f147e438859b3194499271aed11ba43ef571cfe3d200d2d3a
4
+ data.tar.gz: 9871fde749ce3fa2788f80522cdcf252af42202c00accade821fe6672343d8ef
5
5
  SHA512:
6
- metadata.gz: f38ea9bb12acf38a4a4f5477c87c478f9f761497a9d138e776793cca9d64b25010ae319d3c580fcafea772c1f5dc14a2d34b4cbb5b2ecc8d7001b45df0d24089
7
- data.tar.gz: 22393220362199339fbad22f7db8b2c4981e229a48a8d8762e7fe6e56bcb33e722664747b4600bc3c9185b1f367b40db803800efdd513c5f167a2e3c2afd92d3
6
+ metadata.gz: 422d2c2066fb23df08dd72e11a376f055c16831f79b942c74d59288bf944c7f143a108b0cc4d3a986c3f1893bf5b9a2a15892db03f762cb86e9692ecb4c22819
7
+ data.tar.gz: 5759e188494ea8fade09b907ceb8b0227a5992fa89753a7d840eece46c0d1a75a8f13c37aa2c15922a0fb0811bad2f430bd5f33c18db2b1d89149836fab58535
@@ -0,0 +1,4 @@
1
+ ---
2
+ version: "2"
3
+ exclude_patterns:
4
+ - lib/oxidized/output/gitcrypt.rb
@@ -33,6 +33,9 @@ Style/RescueModifier:
33
33
  Style/MultilineBlockChain:
34
34
  Enabled: false
35
35
 
36
+ Style/SymbolProc:
37
+ Enabled: false
38
+
36
39
  # Do not attempt to police vendored code, and exclude special cases
37
40
  AllCops:
38
41
  Exclude:
@@ -1,6 +1,31 @@
1
1
  # Changelog
2
2
 
3
- ## 024.0
3
+ ## Master
4
+
5
+ * FEATURE: add viptela model (@bobthebutcher)
6
+ * FEATURE: add ECI Telecom Appolo platform bij arien.vijn@linklight.nl
7
+ * FEATURE: ssh keepalive now configurable per node with ssh_no_keepalive boolean
8
+ * FEATURE: add Comtrol model (@RobbFromIT)
9
+ * FEATURE: add Dell X-series model (@RobbFromIT)
10
+ * FEATURE: add privilege escalation to the cumulus model (@user4574)
11
+ * FEATURE: add adtran model (@CFUJoshWeepie)
12
+ * FEATURE: add firebrick model (@lewisvive)
13
+ * BUGFIX: netgear telnet password prompt not detected
14
+ * BUGFIX: xos model should not modify config on legacy Extreme Networks devices (@sq9mev)
15
+ * BUGFIX: model dlink, edgecos, ciscosmb, openbsd
16
+ * BUGFIX: hide 'lighttpd_ls_password' as potential secret in pfsense model (@dra)
17
+ * BUGFIX: ciscospark hook error when diff is set to false
18
+ * MISC: bump Dockerfile phusion/baseimage:0.10.0 -> 0.11, revert to one-stage build
19
+ * MISC: add sqlite3 and mysql2 drivers for sequel to Dockerfile
20
+ * MISC: Added verbiage to set OXIDIZED_HOME correctly under Debian 8.8 w/systemd
21
+ * MISC: add gpgme and sequel gems to Dockerfile for sources
22
+ * MISC: eos model removes user secrets and BGP secrets (@yzguy)
23
+ * MISC: add secret filtering to netscaler (@shepherdjay)
24
+ * MISC: capture ZebOS configuration for TMOS model (@yzguy)
25
+ * MISC: additional secret filters in ios, asa, procurve, ciscosmb models (@hexdump0x0200)
26
+ * MISC: remove volatile uptime data in nos model (@f0rkz)
27
+
28
+ ## 0.24.0
4
29
 
5
30
  * FEATURE: add frr support to cumulus model (@User4574 / @bobthebutcher)
6
31
  * FEATURE: honour MAX_STAT in mtime, to store last N mtime
@@ -8,7 +33,6 @@
8
33
  * FEATURE: model callback enhancements for customizing existing models (@ytti)
9
34
  * BUGFIX: models ciscosmb, dlink
10
35
 
11
-
12
36
  ## 0.23.0
13
37
 
14
38
  * FEATURE: support arbitrary user/password/prompt detection in telnet, same behaviour as ssh
data/Dockerfile CHANGED
@@ -1,39 +1,16 @@
1
- # -- stage 1: backport libssh2 1.7.0 from zesty for xenial, as githubrepo hook requires it
2
- FROM ubuntu:xenial as libssh2-backport
3
-
4
- # set up dependencies for the build process
5
- RUN apt-get -yq update && \
6
- apt-get -yq install build-essential chrpath debhelper dh-autoreconf libgcrypt20-dev zlib1g-dev
7
-
8
- # build libssh2 1.7.0
9
- WORKDIR /tmp/libssh2-build
10
- ADD https://launchpad.net/ubuntu/+archive/primary/+files/libssh2_1.7.0-1ubuntu1.debian.tar.xz .
11
- ADD https://launchpad.net/ubuntu/+archive/primary/+files/libssh2_1.7.0.orig.tar.gz .
12
- RUN tar xvf libssh2_1.7.0.orig.tar.gz
13
- WORKDIR /tmp/libssh2-build/libssh2-1.7.0
14
- RUN tar xvf ../libssh2_1.7.0-1ubuntu1.debian.tar.xz
15
-
16
- WORKDIR /tmp/libssh2-build/libssh2-1.7.0
17
- ENV DEB_BUILD_OPTIONS nocheck
18
- RUN dpkg-buildpackage -b
19
-
20
- # -- stage 2: build the actual oxidized container
21
- FROM phusion/baseimage:0.10.0
1
+ # Single-stage build of an oxidized container from phusion/baseimage-docker v0.11, derived from Ubuntu 18.04 (Bionic Beaver)
2
+ FROM phusion/baseimage:0.11
22
3
  LABEL maintainer="Samer Abdel-Hafez <sam@arahant.net>"
23
4
 
24
5
  # set up dependencies for the build process
25
6
  RUN apt-get -yq update && \
26
- apt-get -yq install ruby2.3 ruby2.3-dev libsqlite3-dev libssl-dev pkg-config make cmake libssh2-1-dev git g++ libffi-dev ruby-bundler libicu-dev
27
-
28
- # upgrade libssh2 to self-built backport from stage 1
29
- COPY --from=libssh2-backport \
30
- /tmp/libssh2-build/libssh2-1_1.7.0-1ubuntu1_amd64.deb \
31
- /tmp/libssh2-build/libssh2-1-dev_1.7.0-1ubuntu1_amd64.deb \
32
- /tmp/
33
- RUN dpkg -i /tmp/*.deb
7
+ apt-get -yq install ruby2.5 ruby2.5-dev libssl1.1 libssl-dev pkg-config make cmake libssh2-1 libssh2-1-dev git g++ libffi-dev ruby-bundler libicu60 libicu-dev libsqlite3-0 libsqlite3-dev libmysqlclient20 libmysqlclient-dev
34
8
 
35
9
  # dependencies for hooks
36
- RUN gem install aws-sdk slack-api xmpp4r cisco_spark
10
+ RUN gem install aws-sdk slack-api xmpp4r cisco_spark --no-ri --no-rdoc
11
+
12
+ # dependencies for sources
13
+ RUN gem install gpgme sequel sqlite3 mysql2 --no-ri --no-rdoc
37
14
 
38
15
  # build and install oxidized
39
16
  COPY . /tmp/oxidized/
@@ -49,8 +26,7 @@ RUN gem install oxidized-web --no-ri --no-rdoc
49
26
  # clean up
50
27
  WORKDIR /
51
28
  RUN rm -rf /tmp/oxidized
52
- RUN rm /tmp/*.deb
53
- RUN apt-get -yq --purge autoremove ruby-dev pkg-config make cmake ruby-bundler
29
+ RUN apt-get -yq --purge autoremove ruby-dev pkg-config make cmake ruby-bundler libssl-dev libssh2-1-dev libicu-dev libsqlite3-dev libmysqlclient-dev
54
30
 
55
31
  # add runit services
56
32
  ADD extra/oxidized.runit /etc/service/oxidized/run
data/README.md CHANGED
@@ -32,7 +32,7 @@ Check out the [Oxidized TREX 2014 presentation](http://youtu.be/kBQ_CTUuqeU#t=3h
32
32
 
33
33
  1. [Supported OS Types](docs/Supported-OS-Types.md)
34
34
  2. [Installation](#installation)
35
- * [Debian](#debian)
35
+ * [Debian and Ubuntu](#debian-and-ubuntu)
36
36
  * [CentOS, Oracle Linux, Red Hat Linux](#centos-oracle-linux-red-hat-linux)
37
37
  * [FreeBSD](#freebsd)
38
38
  * [Build from Git](#build-from-git)
@@ -74,14 +74,26 @@ Check out the [Oxidized TREX 2014 presentation](http://youtu.be/kBQ_CTUuqeU#t=3h
74
74
 
75
75
  ## Installation
76
76
 
77
- ### Debian
77
+ ### Debian and Ubuntu
78
78
 
79
- Install all required packages and gems.
79
+ Debian "buster" or newer and Ubuntu 17.10 (artful) or newer are recommended. On Ubuntu, begin by enabling the `universe`
80
+ repository (required for libssh2-1-dev):
81
+
82
+ ```shell
83
+ add-apt-repository universe
84
+ ```
85
+
86
+ Install the dependencies:
80
87
 
81
88
  ```shell
82
89
  apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev zlib1g-dev
90
+ ```
91
+
92
+ Finally, install the gems:
93
+
94
+ ```shell
83
95
  gem install oxidized
84
- gem install oxidized-script oxidized-web # if you don't install oxidized-web, make sure you remove "rest" from your config
96
+ gem install oxidized-script oxidized-web # If you don't install oxidized-web, ensure "rest" is removed from your Oxidized config.
85
97
  ```
86
98
 
87
99
  ### CentOS, Oracle Linux, Red Hat Linux
@@ -310,7 +322,7 @@ Run `oxidized` again to take the first backups.
310
322
 
311
323
  ### Ubuntu SystemV init setup
312
324
 
313
- The init script assumes that you have a used named 'oxidized' and that oxidized is in one of the following paths:
325
+ The init script assumes that you have a user named 'oxidized' and that oxidized is in one of the following paths:
314
326
 
315
327
  ```text
316
328
  /sbin
@@ -4,7 +4,7 @@
4
4
  trap("INT") { exit } # sinatra will otherwise steal this from us
5
5
 
6
6
  begin
7
- require 'oxidized/cli'
7
+ require_relative '../lib/oxidized/cli'
8
8
  Oxidized::CLI.new.run
9
9
  rescue => error
10
10
  warn "#{error}"
@@ -62,22 +62,31 @@ vars:
62
62
  ssh_no_exec: true
63
63
  ```
64
64
 
65
+ ## Disabling SSH keepalives
66
+
67
+ Oxidized SSH input makes use of SSH keepalives to prevent timeouts from slower devices and to quickly tear down stale sessions in larger deployments. There have been reports of SSH keepalives breaking compatibility with certain OS types. They can be disabled using the `ssh_no_keepalive` variable on a per-node basis (by specifying it in the source) or configured application-wide.
68
+
69
+ ```yaml
70
+ vars:
71
+ ssh_no_keepalive: true
72
+ ```
73
+
65
74
  ## SSH Auth Methods
66
75
 
67
76
  By default, Oxidized registers the following auth methods: `none`, `publickey` and `password`. However you can configure this globally, by groups, models or nodes.
68
77
 
69
78
  ```yaml
70
79
  vars:
71
- auth_methods: [ "none", "publickey", "password", "keyboard-interactive" ]
80
+ auth_methods: [ "none", "publickey", "password", "keyboard-interactive" ]
72
81
  ```
73
82
 
74
83
  ## SSH Proxy Command
75
84
 
76
- Oxidized can `ssh` through a proxy as well. To do so we just need to set `ssh_proxy` variable with the proxy host information.
85
+ Oxidized can `ssh` through a proxy as well. To do so we just need to set `ssh_proxy` variable with the proxy host information and optionally set the `ssh_proxy_port` with the SSH port if it is not listening no port 22.
77
86
 
78
87
  This can be provided on a per-node basis by mapping the proper fields from your source.
79
88
 
80
- An example for a `csv` input source that maps the 4th field as the `ssh_proxy` value.
89
+ An example for a `csv` input source that maps the 4th field as the `ssh_proxy` value and the 5th field as `ssh_proxy_port`.
81
90
 
82
91
  ```yaml
83
92
  ...
@@ -87,6 +96,27 @@ map:
87
96
  vars_map:
88
97
  enable: 2
89
98
  ssh_proxy: 3
99
+ ssh_proxy_port: 4
100
+ ...
101
+ ```
102
+
103
+ ## SSH enabling legacy algorithms
104
+
105
+ When connecting to older firmware over SSH, it is sometimes necessary to enable legacy/disabled settings like KexAlgorithms, HostKeyAlgorithms, MAC or the Encryption.
106
+
107
+ These settings can be provided on a per-node basis by mapping the ssh_kex, ssh_host_key, ssh_hmac and the ssh_encryption fields from you source.
108
+
109
+ ```yaml
110
+ ...
111
+ map:
112
+ name: 0
113
+ model: 1
114
+ vars_map:
115
+ enable: 2
116
+ ssh_kex: 3
117
+ ssh_host_key: 4
118
+ ssh_hmac: 5
119
+ ssh_encryption: 6
90
120
  ...
91
121
  ```
92
122
 
@@ -116,6 +146,9 @@ threads: 30
116
146
  timeout: 20
117
147
  retries: 3
118
148
  prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
149
+ crash:
150
+ directory: ~/.config/oxidized/crashes
151
+ hostnames: false
119
152
  vars:
120
153
  enable: S3cr3tx
121
154
  groups: {}
@@ -174,6 +207,8 @@ map:
174
207
 
175
208
  For model specific credentials
176
209
 
210
+ You can add 'username: nil' if the device only expects a Password at prompt.
211
+
177
212
  ```yaml
178
213
  models:
179
214
  junos:
@@ -187,6 +222,9 @@ models:
187
222
  apc_aos:
188
223
  username: apc
189
224
  password: password
225
+ cisco:
226
+ username: nil
227
+ password: pass
190
228
  ```
191
229
 
192
230
  ## RESTful API and Web Interface
@@ -168,6 +168,7 @@ hooks:
168
168
  token: SLACK_BOT_TOKEN
169
169
  channel: "#network-changes"
170
170
  ```
171
+ The token parameter is a "legacy token" and is generated [Here](https://api.slack.com/custom-integrations/legacy-tokens).
171
172
 
172
173
  Optionally you can disable snippets and post a formatted message, for instance linking to a commit in a git repo. Named parameters `%{node}`, `%{group}`, `%{model}` and `%{commitref}` are available.
173
174
 
@@ -184,6 +185,18 @@ hooks:
184
185
 
185
186
  Note the channel name must be in quotes.
186
187
 
188
+ A proxy can optionally be specified if needed to reach the Slack API endpoint.
189
+
190
+ ```yaml
191
+ hooks:
192
+ slack:
193
+ type: slackdiff
194
+ events: [post_store]
195
+ token: SLACK_BOT_TOKEN
196
+ channel: "#network-changes"
197
+ proxy: http://myproxy:8080
198
+ ```
199
+
187
200
  ## Hook type: ciscosparkdiff
188
201
 
189
202
  The `ciscosparkdiff` hook posts config diffs to a [Cisco Spark](https://www.ciscospark.com/) space of your choice. It only triggers for `post_store` events.
@@ -221,6 +234,19 @@ hooks:
221
234
 
222
235
  Note the space and access tokens must be in quotes.
223
236
 
237
+ A proxy can optionally be specified if needed to reach the Spark API endpoint.
238
+
239
+ ```yaml
240
+ hooks:
241
+ ciscospark:
242
+ type: ciscosparkdiff
243
+ events: [post_store]
244
+ accesskey: SPARK_BOT_API_OR_OAUTH_KEY
245
+ space: SPARK_SPACE_ID
246
+ diff: true
247
+ proxy: http://myproxy:8080
248
+ ```
249
+
224
250
  ## Hook type: xmppdiff
225
251
 
226
252
  The `xmppdiff` hook posts config diffs to a [XMPP](https://en.wikipedia.org/wiki/XMPP) chatroom of your choice. It only triggers for `post_store` events.
@@ -1,5 +1,4 @@
1
- Cisco WLC Configuration
2
- =======================
1
+ # Cisco WLC Configuration
3
2
 
4
3
  Create a user with read-write privilege:
5
4
 
@@ -1,5 +1,4 @@
1
- Arbor Networks ArbOS notes
2
- ==========================
1
+ # Arbor Networks ArbOS notes
3
2
 
4
3
  If you are running ArbOS version 7 or lower then you may need to update the model to remove `exec true`:
5
4
 
@@ -1,5 +1,4 @@
1
- Comware Configuration
2
- =====================
1
+ # Comware Configuration
3
2
 
4
3
  If you find 3Com Comware devices aren't being backed up this may be due to prompt detection not matching because a previous login message is disabled after the first prompt.
5
4
 
@@ -1,5 +1,4 @@
1
- Arista EOS Configuration
2
- ========================
1
+ # Arista EOS Configuration
3
2
 
4
3
  By default, EOS requires the `keyboard-interactive` SSH authentication method for a successful SSH login. To add support for this method to your Oxidized configuration, see the [SSH Auth Methods](../Configuration.md#ssh-auth-methods) directive.
5
4
 
@@ -1,5 +1,4 @@
1
- JunOS Configuration
2
- ===================
1
+ # JunOS Configuration
3
2
 
4
3
  Create login class cfg-view
5
4
 
@@ -1,9 +1,8 @@
1
- Netgear Configuration
2
- =====================
1
+ # Netgear Configuration
3
2
 
4
3
  There are several models available with CLI management via telnet (port 60000), but they all behave like one of the following:
5
4
 
6
- ### Older models:
5
+ ## Older models
7
6
 
8
7
  ```text
9
8
  Connected to 192.168.3.201.
@@ -19,7 +18,7 @@ Password:
19
18
  (GS748Tv4) #show running-config
20
19
  ```
21
20
 
22
- ### Newer models:
21
+ ## Newer models
23
22
 
24
23
  ```text
25
24
  Connected to 172.0.3.203.
@@ -47,7 +46,7 @@ Configuration for older/newer models: make sure you have defined variable 'enabl
47
46
 
48
47
  One possible configuration:
49
48
 
50
- ### oxidized config
49
+ ## oxidized config
51
50
 
52
51
  ```yaml
53
52
  source:
@@ -65,7 +64,7 @@ source:
65
64
  telnet_port: 5
66
65
  ```
67
66
 
68
- ### router.db
67
+ ## router.db
69
68
 
70
69
  ```text
71
70
  switchOldFW:netgear:admin:adminpw::60000
@@ -0,0 +1,9 @@
1
+ # Nokia
2
+
3
+ ## Nokia ISAM and SSH keepalives
4
+
5
+ Nokia ISAM might require disabling SSH keepalives.
6
+
7
+ [Reference](https://github.com/ytti/oxidized/issues/1482)
8
+
9
+ Back to [Model-Notes](README.md)
@@ -1,5 +1,4 @@
1
- Model Notes
2
- ===========
1
+ # Model Notes
3
2
 
4
3
  This directory contains implementation notes and caveats to assist you in your oxidized deployment.
5
4
 
@@ -15,6 +14,8 @@ Cumulus|[Cumulus](Cumulus.md)|11 Jun 2018
15
14
  Huawei|[VRP](VRP-Huawei.md)|17 Nov 2017
16
15
  Juniper|[MX/QFX/EX/SRX/J Series](JunOS.md)|18 Jan 2018
17
16
  Netgear|[Netgear](Netgear.md)|11 Apr 2018
17
+ Nokia|[Nokia ISAM](Nokia.md)|22 Aug 2018
18
+ Viptela|[Viptela](Viptela.md)|1 Jul 2018
18
19
  Zyxel|[XGS4600 Series](XGS4600-Zyxel.md)|1 Feb 2018
19
20
 
20
21
  If you discover additional caveats or problems please make sure to consult the [GitHub issues for oxidized](https://github.com/ytti/oxidized/issues) known issues.
@@ -1,5 +1,4 @@
1
- Huawei VRP Configuration
2
- ========================
1
+ # Huawei VRP Configuration
3
2
 
4
3
  Create a user with no privileges
5
4
 
@@ -0,0 +1,12 @@
1
+ # Viptela
2
+
3
+ This model collects running config and other desired commands from Viptela devices.
4
+
5
+ Pagination is disabled post login.
6
+
7
+ ## Supported Commands
8
+
9
+ - show running-config
10
+ - show version
11
+
12
+ Back to [Model-Notes](README.md)