diff options
Diffstat (limited to 'docs/cli/nrfu.md')
-rw-r--r-- | docs/cli/nrfu.md | 90 |
1 files changed, 69 insertions, 21 deletions
diff --git a/docs/cli/nrfu.md b/docs/cli/nrfu.md index 90b4a40..0f2b425 100644 --- a/docs/cli/nrfu.md +++ b/docs/cli/nrfu.md @@ -1,17 +1,20 @@ +--- +anta_title: Execute Network Readiness For Use (NRFU) Testing +--- <!-- ~ Copyright (c) 2023-2024 Arista Networks, Inc. ~ Use of this source code is governed by the Apache License 2.0 ~ that can be found in the LICENSE file. --> -# Execute Network Readiness For Use (NRFU) Testing - ANTA provides a set of commands for performing NRFU tests on devices. These commands are under the `anta nrfu` namespace and offer multiple output format options: -- [Text view](#performing-nrfu-with-text-rendering) -- [Table view](#performing-nrfu-with-table-rendering) -- [JSON view](#performing-nrfu-with-json-rendering) -- [Custom template view](#performing-nrfu-with-custom-reports) +- [Text report](#performing-nrfu-with-text-rendering) +- [Table report](#performing-nrfu-with-table-rendering) +- [JSON report](#performing-nrfu-with-json-rendering) +- [Custom template report](#performing-nrfu-with-custom-reports) +- [CSV report](#performing-nrfu-and-saving-results-in-a-csv-file) +- [Markdown report](#performing-nrfu-and-saving-results-in-a-markdown-file) ## NRFU Command overview @@ -28,16 +31,7 @@ All commands under the `anta nrfu` namespace require a catalog yaml file specifi ### Tag management -The `--tags` option can be used to target specific devices in your inventory and run only tests configured with this specific tags from your catalog. The default tag is set to `all` and is implicit. Expected behaviour is provided below: - -| Command | Description | -| ------- | ----------- | -| `none` | Run all tests on all devices according `tag` definition in your inventory and test catalog. And tests with no tag are executed on all devices| -| `--tags leaf` | Run all tests marked with `leaf` tag on all devices configured with `leaf` tag.<br/> All other tags are ignored | -| `--tags leaf,spine` | Run all tests marked with `leaf` tag on all devices configured with `leaf` tag.<br/>Run all tests marked with `spine` tag on all devices configured with `spine` tag.<br/> All other tags are ignored | - -!!! info - [More examples](tag-management.md) available on this dedicated page. +The `--tags` option can be used to target specific devices in your inventory and run only tests configured with this specific tags from your catalog. Refer to the [dedicated page](tag-management.md) for more information. ### Device and test filtering @@ -45,7 +39,7 @@ Options `--device` and `--test` can be used to target one or multiple devices an ### Hide results -Option `--hide` can be used to hide test results in the output based on their status. The option can be repeated. Example: `anta nrfu --hide error --hide skipped`. +Option `--hide` can be used to hide test results in the output or report file based on their status. The option can be repeated. Example: `anta nrfu --hide error --hide skipped`. ## Performing NRFU with text rendering @@ -67,6 +61,7 @@ Options: ```bash anta nrfu --device DC1-LEAF1A text ``` + ![anta nrfu text results](../imgs/anta-nrfu-text-output.png){ loading=lazy width="1600" } ## Performing NRFU with table rendering @@ -92,6 +87,7 @@ The `--group-by` option show a summarized view of the test results per host or p ```bash anta nrfu --tags LEAF table ``` + ![anta nrfu table results](../imgs/anta-nrfu-table-output.png){ loading=lazy width="1600" } For larger setups, you can also group the results by host or test to get a summarized view: @@ -99,11 +95,13 @@ For larger setups, you can also group the results by host or test to get a summa ```bash anta nrfu table --group-by device ``` + ![$1anta nrfu table group_by_host_output](../imgs/anta-nrfu-table-group-by-host-output.png){ loading=lazy width="1600" } ```bash anta nrfu table --group-by test ``` + ![$1anta nrfu table group_by_test_output](../imgs/anta-nrfu-table-group-by-test-output.png){ loading=lazy width="1600" } To get more specific information, it is possible to filter on a single device or a single test: @@ -111,16 +109,18 @@ To get more specific information, it is possible to filter on a single device or ```bash anta nrfu --device spine1 table ``` + ![$1anta nrfu table filter_host_output](../imgs/anta-nrfu-table-filter-host-output.png){ loading=lazy width="1600" } ```bash anta nrfu --test VerifyZeroTouch table ``` + ![$1anta nrfu table filter_test_output](../imgs/anta-nrfu-table-filter-test-output.png){ loading=lazy width="1600" } ## Performing NRFU with JSON rendering -The JSON rendering command in NRFU testing is useful in generating a JSON output that can subsequently be passed on to another tool for reporting purposes. +The JSON rendering command in NRFU testing will generate an output of all test results in JSON format. ### Command overview @@ -131,20 +131,66 @@ Usage: anta nrfu json [OPTIONS] ANTA command to check network state with JSON result. Options: - -o, --output FILE Path to save report as a file [env var: + -o, --output FILE Path to save report as a JSON file [env var: ANTA_NRFU_JSON_OUTPUT] --help Show this message and exit. ``` -The `--output` option allows you to save the JSON report as a file. +The `--output` option allows you to save the JSON report as a file. If specified, no output will be displayed in the terminal. This is useful for further processing or integration with other tools. ### Example ```bash anta nrfu --tags LEAF json ``` + ![$1anta nrfu json results](../imgs/anta-nrfu-json-output.png){ loading=lazy width="1600" } +## Performing NRFU and saving results in a CSV file + +The `csv` command in NRFU testing is useful for generating a CSV file with all tests result. This file can be easily analyzed and filtered by operator for reporting purposes. + +### Command overview + +```bash +anta nrfu csv --help +Usage: anta nrfu csv [OPTIONS] + + ANTA command to check network states with CSV result. + +Options: + --csv-output FILE Path to save report as a CSV file [env var: + ANTA_NRFU_CSV_CSV_OUTPUT] + --help Show this message and exit. +``` + +### Example + +![anta nrfu csv results](../imgs/anta_nrfu_csv.png){ loading=lazy width="1600" } + +## Performing NRFU and saving results in a Markdown file + +The `md-report` command in NRFU testing generates a comprehensive Markdown report containing various sections, including detailed statistics for devices and test categories. + +### Command overview + +```bash +anta nrfu md-report --help + +Usage: anta nrfu md-report [OPTIONS] + + ANTA command to check network state with Markdown report. + +Options: + --md-output FILE Path to save the report as a Markdown file [env var: + ANTA_NRFU_MD_REPORT_MD_OUTPUT; required] + --help Show this message and exit. +``` + +### Example + +![anta nrfu md-report results](../imgs/anta-nrfu-md-report-output.png){ loading=lazy width="1600" } + ## Performing NRFU with custom reports ANTA offers a CLI option for creating custom reports. This leverages the Jinja2 template system, allowing you to tailor reports to your specific needs. @@ -164,6 +210,7 @@ Options: ANTA_NRFU_TPL_REPORT_OUTPUT] --help Show this message and exit. ``` + The `--template` option is used to specify the Jinja2 template file for generating the custom report. The `--output` option allows you to choose the path where the final report will be saved. @@ -173,6 +220,7 @@ The `--output` option allows you to choose the path where the final report will ```bash anta nrfu --tags LEAF tpl-report --template ./custom_template.j2 ``` + ![$1anta nrfu tpl_results](../imgs/anta-nrfu-tpl-report-output.png){ loading=lazy width="1600" } The template `./custom_template.j2` is a simple Jinja2 template: @@ -183,7 +231,7 @@ The template `./custom_template.j2` is a simple Jinja2 template: {% endfor %} ``` -The Jinja2 template has access to all `TestResult` elements and their values, as described in this [documentation](../api/result_manager_models.md#testresult-entry). +The Jinja2 template has access to all `TestResult` elements and their values, as described in this [documentation](../api/result_manager_models.md#anta.result_manager.models.TestResult). You can also save the report result to a file using the `--output` option: |