diff options
-rw-r--r-- | docs/Model-Notes/README.md | 17 | ||||
-rw-r--r-- | docs/Model-Notes/VRP-Huawei.md (renamed from docs/VRP-Huawei.md) | 9 | ||||
-rw-r--r-- | docs/Sources.md | 36 |
3 files changed, 58 insertions, 4 deletions
diff --git a/docs/Model-Notes/README.md b/docs/Model-Notes/README.md new file mode 100644 index 0000000..15ab445 --- /dev/null +++ b/docs/Model-Notes/README.md @@ -0,0 +1,17 @@ + + +Model Notes +======================== + + +This directory contains implemention notes and caveats to assist you in your oxidized deployment. + +Use the table below for more information on the Vendor/Model caveats. + + +Vendor | Model |Updated +----------------|-----------------|---------------- +Huawei|[VRP](VRP-Huawei.md)|17 Nov 2017 + + +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. diff --git a/docs/VRP-Huawei.md b/docs/Model-Notes/VRP-Huawei.md index 9e97b7d..d03c752 100644 --- a/docs/VRP-Huawei.md +++ b/docs/Model-Notes/VRP-Huawei.md @@ -3,12 +3,14 @@ Huawei VRP Configuration Create a user with no privileges +``` <HUAWEI> system-view [~HUAWEI] aaa [~HUAWEI-aaa] local-user oxidized password irreversible-cipher verysecret [*HUAWEI-aaa] local-user oxidized level 1 [*HUAWEI-aaa] local-user oxidized service-type terminal ssh [*HUAWEI-aaa] commit +``` The commands Oxidized executes are: @@ -19,9 +21,14 @@ The commands Oxidized executes are: Command 2 and 3 can be executed without issues, but 1 and 4 are only available for higher level users. Instead of making Oxidized a read/write user on your device, lower the priviledge-level for commands 1 and 4: +``` <HUAWEI> system-view [~HUAWEI] command-privilege level 1 view global display current-configuration all [*HUAWEI] command-privilege level 1 view shell screen-length [*HUAWEI] commit +``` -Oxidized can now retrieve your configuration!
\ No newline at end of file +Oxidized can now retrieve your configuration! + + +Back to [Model-Notes](README.md) diff --git a/docs/Sources.md b/docs/Sources.md index 4121c89..0a6d1d7 100644 --- a/docs/Sources.md +++ b/docs/Sources.md @@ -61,8 +61,8 @@ source: default: sql sql: adapter: sqlite - database: "/var/lib/oxidized/devices.db" - table: devices + database: "/var/lib/oxidized/nodes.db" + table: nodes map: name: fqdn model: model @@ -72,6 +72,36 @@ source: enable: enable ``` +### Custom SQL Query Support + +You may also implement a custom SQL query to retreive the nodelist using SQL syntax with the `query:` configuration parameter under the `sql:` stanza. + + +#### Custom SQL Query Examples + +You may have a table named `nodes` which contains a boolean to indicate if the nodes should be enabled (fetched via oxidized). This can be used in the custom SQL query to avoid fetching from known impacted nodes. + +In your configuration, you would add the `query:` parameter and specify the SQL query. Make sure to put this within the `sql:` configuration section. + +```sql +query: "SELECT * FROM nodes WHERE enabled = True" +``` + +Since this is an SQL query, you can also provide a more advanced query to assist in more complicated oxidized deployments. The exact deployment is up to you on how you design your database and oxidized fetchers. + +In this example we limit the nodes to two "POPs" of `mypop1` and `mypop2`. We also require the nodes to have the `enabled` boolean set to `True`. + +```sql +query: "SELECT * FROM nodes WHERE pop IN ('mypop1','mypop2') AND enabled = True" +``` +The order of the nodes returned will influence the order that nodes are fetched by oxidized. You can use standard SQL `ORDER BY` clauses to influence the node order. + +You should always test your SQL query before using it in the oxidized configuration as there is no syntax or error checking performed before sending it to the database engine. + +Consult your database documentation for more information on query language and table optimization. + + + ### Source: HTTP One object per device. @@ -107,4 +137,4 @@ source: url: https://url/api scheme: https secure: false -```
\ No newline at end of file +``` |