amd-node-scraper 1.1.3__tar.gz → 1.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- amd_node_scraper-1.1.5/.github/CODEOWNERS +1 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/workflows/code_quality_checks.yml +9 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/workflows/functional-test.yml +1 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/workflows/release-trusted-publisher.yml +1 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/workflows/unit-test.yml +1 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/PKG-INFO +31 -14
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/README.md +30 -13
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/amd_node_scraper.egg-info/PKG-INFO +31 -14
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/amd_node_scraper.egg-info/SOURCES.txt +14 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/PLUGIN_DOC.md +19 -104
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/base/inbandcollectortask.py +5 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/base/redfishcollectortask.py +27 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/__init__.py +20 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/cli.py +120 -40
- amd_node_scraper-1.1.5/nodescraper/cli/embed.py +86 -0
- amd_node_scraper-1.1.5/nodescraper/cli/host_cli_embed.py +79 -0
- amd_node_scraper-1.1.5/nodescraper/cli/invocation.py +121 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/redfish/__init__.py +10 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/redfish/redfish_connection.py +48 -0
- amd_node_scraper-1.1.5/nodescraper/connection/redfish/redfish_constants.py +38 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/redfish/redfish_oem_diag.py +1 -3
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/constants.py +2 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/connectionmanager.py +8 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/datacollectortask.py +38 -4
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/dataplugin.py +16 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/plugin.py +8 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/task.py +37 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/__init__.py +11 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/datamodel.py +2 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/event.py +27 -8
- amd_node_scraper-1.1.5/nodescraper/models/priority_override.py +126 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/systeminfo.py +2 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/pluginexecutor.py +41 -14
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/pluginregistry.py +55 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/device_enumeration/device_enumeration_collector.py +5 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/analyzer_args.py +10 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/dmesg_analyzer.py +110 -10
- amd_node_scraper-1.1.5/nodescraper/plugins/inband/network/ethtool_vendor.py +662 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/network_analyzer.py +50 -14
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/network_collector.py +162 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/networkdata.py +5 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/nic_collector.py +29 -13
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/pcie/pcie_analyzer.py +26 -2
- amd_node_scraper-1.1.5/nodescraper/plugins/inband/rdma/rdma_analyzer.py +96 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rdma/rdma_collector.py +65 -4
- amd_node_scraper-1.1.5/nodescraper/plugins/inband/rdma/rdmadata.py +439 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/rocm_collector.py +4 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/rocmdata.py +26 -15
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/collector_args.py +10 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/endpoint_collector.py +29 -12
- amd_node_scraper-1.1.5/nodescraper/serialization.py +72 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/utils.py +6 -4
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_fabrics_plugin.py +3 -5
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_network_plugin.py +4 -7
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_nic_plugin.py +3 -5
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_pcie_plugin.py +5 -9
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_plugin_configs.py +20 -28
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_rdma_plugin.py +3 -5
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_reference_config_workflow.py +2 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_sys_settings_plugin.py +3 -3
- amd_node_scraper-1.1.5/test/unit/cli/test_build_global_argument_parser.py +18 -0
- amd_node_scraper-1.1.5/test/unit/cli/test_cli_embed_api.py +63 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/cli/test_cli_no_console_stdout.py +1 -1
- amd_node_scraper-1.1.5/test/unit/cli/test_host_cli_embed.py +71 -0
- amd_node_scraper-1.1.5/test/unit/cli/test_plugin_configs_cli.py +37 -0
- amd_node_scraper-1.1.5/test/unit/connection/redfish/test_redfish_connection_paging.py +160 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/common/shared_utils.py +7 -0
- amd_node_scraper-1.1.5/test/unit/framework/test_connection_manager_entrypoints.py +67 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_datacollector.py +38 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_dataplugin.py +141 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_plugin_executor.py +23 -1
- amd_node_scraper-1.1.5/test/unit/plugin/fixtures/rdma_statistic_example_data.json +598 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_device_enumeration_collector.py +10 -2
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_dmesg_analyzer.py +238 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_network_analyzer.py +47 -1
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_network_collector.py +41 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_niccli_collector.py +38 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_rdma_analyzer.py +110 -77
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_rdma_collector.py +126 -4
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_redfish_endpoint_collector.py +110 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_rocm_collector.py +136 -54
- amd_node_scraper-1.1.5/test/unit/test_serialization.py +75 -0
- amd_node_scraper-1.1.3/.github/CODEOWNERS +0 -1
- amd_node_scraper-1.1.3/nodescraper/plugins/inband/rdma/rdma_analyzer.py +0 -186
- amd_node_scraper-1.1.3/nodescraper/plugins/inband/rdma/rdmadata.py +0 -104
- amd_node_scraper-1.1.3/test/unit/plugin/fixtures/rdma_statistic_example_data.json +0 -826
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/pull_request_template.md +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/scripts/plugin_convention_warnings.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.github/workflows/update-plugin-docs.yml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.gitignore +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.mypy.ini +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/.pre-commit-config.yaml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/CONTRIBUTING.md +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/EXTENDING.md +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/LICENSE +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/SECURITY.md +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/amd_node_scraper.egg-info/dependency_links.txt +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/amd_node_scraper.egg-info/entry_points.txt +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/amd_node_scraper.egg-info/requires.txt +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/amd_node_scraper.egg-info/top_level.txt +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/dev-setup.sh +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/generate_plugin_doc_bundle.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/README.md +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/ext_nodescraper_plugins/sample/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/ext_nodescraper_plugins/sample/sample_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/ext_nodescraper_plugins/sample/sample_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/ext_nodescraper_plugins/sample/sample_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/ext_nodescraper_plugins/sample/sample_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/docs/node-scraper-external/pyproject.toml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/base/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/base/inbanddataplugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/base/oobanddataplugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/base/regexanalyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/compare_runs.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/constants.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/dynamicparserbuilder.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/helper.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/cli/inputargtypes.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/configbuilder.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/configregistry.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/configs/node_status.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/inband/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/inband/inband.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/inband/inbandlocal.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/inband/inbandmanager.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/inband/inbandremote.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/inband/sshparams.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/redfish/redfish_manager.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/redfish/redfish_params.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/connection/redfish/redfish_path.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/eventcategory.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/eventpriority.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/executionstatus.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/osfamily.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/systeminteraction.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/systemlocation.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/enums/taskstate.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/generictypes.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/helpers/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/dataanalyzertask.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/resultcollator.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/interfaces/taskresulthook.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/analyzerargs.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/collectorargs.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/connectionconfig.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/datapluginresult.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/pluginconfig.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/pluginresult.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/taskresult.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/models/timerangeargs.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/amdsmi_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/amdsmi_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/amdsmi_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/amdsmidata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/amdsmi/cper.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/bios/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/bios/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/bios/bios_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/bios/bios_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/bios/bios_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/bios/biosdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/cmdline_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/cmdline_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/cmdline_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/cmdlineconfig.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/cmdline/cmdlinedata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/device_enumeration/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/device_enumeration/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/device_enumeration/device_enumeration_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/device_enumeration/device_enumeration_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/device_enumeration/deviceenumdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dimm/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dimm/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dimm/dimm_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dimm/dimm_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dimm/dimmdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dkms/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dkms/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dkms/dkms_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dkms/dkms_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dkms/dkms_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dkms/dkmsdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/dmesg_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/dmesg_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/dmesgdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/dmesg/run_compare.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/fabrics/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/fabrics/fabrics_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/fabrics/fabrics_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/fabrics/fabricsdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/journal_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/journal_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/journal_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/journal/journaldata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel/kernel_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel/kernel_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel/kernel_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel/kerneldata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel_module/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel_module/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel_module/kernel_module_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel_module/kernel_module_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel_module/kernel_module_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/kernel_module/kernel_module_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/memory/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/memory/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/memory/memory_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/memory/memory_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/memory/memory_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/memory/memorydata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/network/network_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/nic_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/nic_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nic/nic_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nvme/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nvme/nvme_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nvme/nvme_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/nvme/nvmedata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/os/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/os/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/os/os_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/os/os_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/os/os_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/os/osdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/package/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/package/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/package/package_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/package/package_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/package/package_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/package/packagedata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/pcie/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/pcie/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/pcie/pcie_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/pcie/pcie_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/pcie/pcie_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/process_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/process_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/process_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/process/processdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rdma/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rdma/rdma_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/rocm_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/rocm/rocm_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/storage_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/storage_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/storage_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/storage/storagedata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/sys_settings_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/sys_settings_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/sys_settings_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sys_settings/sys_settings_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sysctl/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sysctl/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sysctl/sysctl_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sysctl/sysctl_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sysctl/sysctl_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/sysctl/sysctldata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/syslog/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/syslog/syslog_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/syslog/syslog_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/syslog/syslogdata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/uptime/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/uptime/uptime_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/uptime/uptime_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/inband/uptime/uptimedata.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/endpoint_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/endpoint_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_endpoint/endpoint_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/collector_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/oem_diag_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/oem_diag_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/oem_diag_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/ooband/redfish_oem_diag/oem_diag_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/regex_search/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/regex_search/analyzer_args.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/regex_search/regex_search_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/regex_search/regex_search_data.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/plugins/regex_search/regex_search_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/resultcollators/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/resultcollators/tablesummary.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/taskresulthooks/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/taskresulthooks/filesystemloghook.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/nodescraper/typeutils.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/pyproject.toml +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/pytest.ini +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/setup.cfg +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/setup.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/__init__.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/conftest.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/bios_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/cmdline_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/dimm_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/dkms_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/dmesg_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/dmesg_plugin_config_custom_regex.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/dmesg_sample.log +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/dmesg_sample_with_collapsing.log +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/fabrics_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/journal_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/kernel_module_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/kernel_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/memory_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/network_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/nic_plugin_config_full_analyzer_args.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/niccli_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/nvme_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/os_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/package_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/pcie_plugin_advanced_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/pcie_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/process_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/rdma_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/redfish_connection_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/redfish_endpoint_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/redfish_endpoint_plugin_config_full_args.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/regex_search_multi_logs/app_error.log +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/regex_search_multi_logs/no_errors.log +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/regex_search_multi_logs/storage_warn.log +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/regex_search_sample.log +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/rocm_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/storage_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/sys_settings_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/sysctl_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/syslog_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/fixtures/uptime_plugin_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_cli_describe.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_cli_help.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_cli_no_console_log.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_plugin_registry.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_redfish_endpoint_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/functional/test_run_plugins.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/conftest.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/connection/redfish/test_redfish_oem_diag.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/compare_runs_sysctl/run1/sysctl_plugin/sysctl_collector/result.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/compare_runs_sysctl/run1/sysctl_plugin/sysctl_collector/sysctldatamodel.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/compare_runs_sysctl/run2/sysctl_plugin/sysctl_collector/result.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/compare_runs_sysctl/run2/sysctl_plugin/sysctl_collector/sysctldatamodel.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/example.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/example_config.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/invalid.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/log_dir/collector/biosdatamodel.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/fixtures/log_dir/collector/result.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_analyzerargs.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_cli.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_cli_helper.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_compare_runs.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_config_builder.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_config_registry.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_dataanalyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_file_artifact.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_regexanalyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/framework/test_type_utils.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/fixtures/package_commands.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/fixtures/rdma_link_example_data.json +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_amdsmi_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_amdsmi_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_analyzer_args_build_from_model.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_bios_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_bios_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_cmdline_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_cmdline_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_device_enumeration_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_dimms_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_dkms_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_dkms_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_dmesg_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_fabrics_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_journal_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_kernel_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_kernel_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_kernel_module_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_kernel_module_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_memory_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_memory_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_nvme_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_os_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_os_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_package_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_package_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_process_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_process_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_redfish_endpoint_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_redfish_endpoint_plugin.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_redfish_oem_diag_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_redfish_oem_diag_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_regex_search_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_rocm_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_storage_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_storage_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_sys_settings_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_sys_settings_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_sysctl_analyzer.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_sysctl_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_syslog_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/plugin/test_uptime_collector.py +0 -0
- {amd_node_scraper-1.1.3 → amd_node_scraper-1.1.5}/test/unit/test_version.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*@alexandraBara
|
|
@@ -14,12 +14,19 @@ jobs:
|
|
|
14
14
|
container: python:3.9
|
|
15
15
|
|
|
16
16
|
steps:
|
|
17
|
-
- uses: actions/checkout@
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
18
|
with:
|
|
19
19
|
fetch-depth: 0 # Fetch all history for pre-commit to work
|
|
20
|
+
|
|
21
|
+
# python:3.9 image has no git; pre-commit requires it.
|
|
22
|
+
- name: Install git
|
|
23
|
+
run: |
|
|
24
|
+
apt-get update
|
|
25
|
+
apt-get install -y --no-install-recommends git
|
|
26
|
+
|
|
20
27
|
- name: Configure git for container
|
|
21
28
|
run: |
|
|
22
|
-
git config --global --add safe.directory
|
|
29
|
+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
23
30
|
git config --global user.email "ci@github.com"
|
|
24
31
|
git config --global user.name "CI Bot"
|
|
25
32
|
- name: setup environment and run pre-commit hooks
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: amd-node-scraper
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.5
|
|
4
4
|
Summary: A framework for automated error detection and data collection
|
|
5
5
|
Project-URL: homepage, https://github.com/amd/node-scraper
|
|
6
6
|
Project-URL: documentation, https://github.com/amd/node-scraper
|
|
@@ -33,7 +33,7 @@ system debug.
|
|
|
33
33
|
## Table of Contents
|
|
34
34
|
- [Installation](#installation)
|
|
35
35
|
- [Install from PyPI](#install-from-pypi)
|
|
36
|
-
- [Install
|
|
36
|
+
- [Install from Source](#install-from-source)
|
|
37
37
|
- [CLI Usage](#cli-usage)
|
|
38
38
|
- [Execution Methods](#execution-methods)
|
|
39
39
|
- [Example: Remote Execution](#example-remote-execution)
|
|
@@ -66,7 +66,7 @@ Use a virtual environment if you prefer. After installation, confirm the CLI is
|
|
|
66
66
|
node-scraper --help
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
### Install
|
|
69
|
+
### Install from Source
|
|
70
70
|
Node Scraper requires Python 3.9+ for installation. After cloning this repository,
|
|
71
71
|
call dev-setup.sh script with 'source'. This script creates an editable install of Node Scraper in
|
|
72
72
|
a python virtual environment and also configures the pre-commit hooks for the project.
|
|
@@ -106,7 +106,7 @@ usage: cli.py [-h] [--version] [--sys-name STRING]
|
|
|
106
106
|
[--sys-location {LOCAL,REMOTE}]
|
|
107
107
|
[--sys-interaction-level {PASSIVE,INTERACTIVE,DISRUPTIVE}]
|
|
108
108
|
[--sys-sku STRING] [--sys-platform STRING]
|
|
109
|
-
[--plugin-configs
|
|
109
|
+
[--plugin-configs LIST] [--system-config STRING]
|
|
110
110
|
[--connection-config STRING] [--log-path STRING]
|
|
111
111
|
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
|
|
112
112
|
[--no-console-log] [--gen-reference-config] [--skip-sudo]
|
|
@@ -140,10 +140,11 @@ options:
|
|
|
140
140
|
--sys-sku STRING Manually specify SKU of system (default: None)
|
|
141
141
|
--sys-platform STRING
|
|
142
142
|
Specify system platform (default: None)
|
|
143
|
-
--plugin-configs
|
|
144
|
-
built-in
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
--plugin-configs LIST
|
|
144
|
+
Comma-separated built-in names and/or plugin config
|
|
145
|
+
JSON paths (e.g. --plugin-
|
|
146
|
+
configs=NodeStatus,/path/c.json). Built-ins:
|
|
147
|
+
NodeStatus, AllPlugins (default: None)
|
|
147
148
|
--system-config STRING
|
|
148
149
|
Path to system config json (default: None)
|
|
149
150
|
--connection-config STRING
|
|
@@ -365,6 +366,16 @@ You can extend the built-in error detection with custom regex patterns. Create a
|
|
|
365
366
|
"event_category": "SW_DRIVER",
|
|
366
367
|
"event_priority": 4
|
|
367
368
|
}
|
|
369
|
+
],
|
|
370
|
+
"priority_override_rules": [
|
|
371
|
+
{
|
|
372
|
+
"message": "Application Crash",
|
|
373
|
+
"new_priority": "ERROR"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"event_category": "SW_DRIVER",
|
|
377
|
+
"new_priority": "WARNING"
|
|
378
|
+
}
|
|
368
379
|
]
|
|
369
380
|
}
|
|
370
381
|
}
|
|
@@ -376,7 +387,7 @@ You can extend the built-in error detection with custom regex patterns. Create a
|
|
|
376
387
|
Save this to `dmesg_custom_config.json` and run:
|
|
377
388
|
|
|
378
389
|
```sh
|
|
379
|
-
node-scraper --plugin-configs
|
|
390
|
+
node-scraper --plugin-configs=dmesg_custom_config.json run-plugins DmesgPlugin
|
|
380
391
|
```
|
|
381
392
|
|
|
382
393
|
#### **'compare-runs' subcommand**
|
|
@@ -508,7 +519,12 @@ The RedfishEndpointPlugin collects Redfish URIs (GET responses) and optionally r
|
|
|
508
519
|
}
|
|
509
520
|
```
|
|
510
521
|
|
|
522
|
+
**`collection_args`**
|
|
511
523
|
- **`uris`**: List of Redfish paths (e.g. `/redfish/v1/`, `/redfish/v1/Systems/1`) to GET and store.
|
|
524
|
+
- **`follow_next_link`**: Optional (default `false`). When `true`, the collector follows `Members@odata.nextLink` pagination for each URI and merges all pages into a single response.
|
|
525
|
+
- **`max_pages`**: Optional (default `200`). Safety cap on the number of pages to follow per URI when `follow_next_link` is enabled.
|
|
526
|
+
|
|
527
|
+
**`analysis_args`**
|
|
512
528
|
- **`checks`**: Optional. Map of URI to expected values or constraints for analysis. Supports exact match (e.g. `"PowerState": "On"`), `anyOf`, `min`/`max`, etc.
|
|
513
529
|
|
|
514
530
|
#### **'summary' sub command**
|
|
@@ -567,8 +583,9 @@ Built-in configs include **NodeStatus** (a subset of plugins) and **AllPlugins**
|
|
|
567
583
|
registered plugin with default arguments—useful for generating a reference config from the full system).
|
|
568
584
|
|
|
569
585
|
**NodeStatus plus additional plugins** — built-in configs merge with plugins named after `run-plugins`.
|
|
570
|
-
|
|
571
|
-
|
|
586
|
+
Values are comma-separated; pass as **`--plugin-configs=…`** or **`--plugin-configs` …** (same as other
|
|
587
|
+
optional flags), e.g. `--plugin-configs=NodeStatus,/path/extra.json`.
|
|
588
|
+
Examples:
|
|
572
589
|
```sh
|
|
573
590
|
node-scraper --plugin-configs=NodeStatus run-plugins PciePlugin
|
|
574
591
|
```
|
|
@@ -579,7 +596,7 @@ node-scraper --log-path ./logs --plugin-configs=NodeStatus run-plugins PciePlugi
|
|
|
579
596
|
|
|
580
597
|
Using a JSON file:
|
|
581
598
|
```sh
|
|
582
|
-
node-scraper --plugin-configs
|
|
599
|
+
node-scraper --plugin-configs=plugin_config.json
|
|
583
600
|
```
|
|
584
601
|
Here is an example of a comprehensive plugin config that specifies analyzer args for each plugin:
|
|
585
602
|
```json
|
|
@@ -641,7 +658,7 @@ data.
|
|
|
641
658
|
|
|
642
659
|
**Run all registered plugins (AllPlugins config):**
|
|
643
660
|
```sh
|
|
644
|
-
node-scraper --plugin-
|
|
661
|
+
node-scraper --plugin-configs=AllPlugins
|
|
645
662
|
|
|
646
663
|
```
|
|
647
664
|
|
|
@@ -675,7 +692,7 @@ This will generate the following config:
|
|
|
675
692
|
```
|
|
676
693
|
This config can later be used on a different platform for comparison, using the steps at #2:
|
|
677
694
|
```sh
|
|
678
|
-
node-scraper --plugin-configs
|
|
695
|
+
node-scraper --plugin-configs=reference_config.json
|
|
679
696
|
|
|
680
697
|
```
|
|
681
698
|
|
|
@@ -5,7 +5,7 @@ system debug.
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
- [Installation](#installation)
|
|
7
7
|
- [Install from PyPI](#install-from-pypi)
|
|
8
|
-
- [Install
|
|
8
|
+
- [Install from Source](#install-from-source)
|
|
9
9
|
- [CLI Usage](#cli-usage)
|
|
10
10
|
- [Execution Methods](#execution-methods)
|
|
11
11
|
- [Example: Remote Execution](#example-remote-execution)
|
|
@@ -38,7 +38,7 @@ Use a virtual environment if you prefer. After installation, confirm the CLI is
|
|
|
38
38
|
node-scraper --help
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
### Install
|
|
41
|
+
### Install from Source
|
|
42
42
|
Node Scraper requires Python 3.9+ for installation. After cloning this repository,
|
|
43
43
|
call dev-setup.sh script with 'source'. This script creates an editable install of Node Scraper in
|
|
44
44
|
a python virtual environment and also configures the pre-commit hooks for the project.
|
|
@@ -78,7 +78,7 @@ usage: cli.py [-h] [--version] [--sys-name STRING]
|
|
|
78
78
|
[--sys-location {LOCAL,REMOTE}]
|
|
79
79
|
[--sys-interaction-level {PASSIVE,INTERACTIVE,DISRUPTIVE}]
|
|
80
80
|
[--sys-sku STRING] [--sys-platform STRING]
|
|
81
|
-
[--plugin-configs
|
|
81
|
+
[--plugin-configs LIST] [--system-config STRING]
|
|
82
82
|
[--connection-config STRING] [--log-path STRING]
|
|
83
83
|
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
|
|
84
84
|
[--no-console-log] [--gen-reference-config] [--skip-sudo]
|
|
@@ -112,10 +112,11 @@ options:
|
|
|
112
112
|
--sys-sku STRING Manually specify SKU of system (default: None)
|
|
113
113
|
--sys-platform STRING
|
|
114
114
|
Specify system platform (default: None)
|
|
115
|
-
--plugin-configs
|
|
116
|
-
built-in
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
--plugin-configs LIST
|
|
116
|
+
Comma-separated built-in names and/or plugin config
|
|
117
|
+
JSON paths (e.g. --plugin-
|
|
118
|
+
configs=NodeStatus,/path/c.json). Built-ins:
|
|
119
|
+
NodeStatus, AllPlugins (default: None)
|
|
119
120
|
--system-config STRING
|
|
120
121
|
Path to system config json (default: None)
|
|
121
122
|
--connection-config STRING
|
|
@@ -337,6 +338,16 @@ You can extend the built-in error detection with custom regex patterns. Create a
|
|
|
337
338
|
"event_category": "SW_DRIVER",
|
|
338
339
|
"event_priority": 4
|
|
339
340
|
}
|
|
341
|
+
],
|
|
342
|
+
"priority_override_rules": [
|
|
343
|
+
{
|
|
344
|
+
"message": "Application Crash",
|
|
345
|
+
"new_priority": "ERROR"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"event_category": "SW_DRIVER",
|
|
349
|
+
"new_priority": "WARNING"
|
|
350
|
+
}
|
|
340
351
|
]
|
|
341
352
|
}
|
|
342
353
|
}
|
|
@@ -348,7 +359,7 @@ You can extend the built-in error detection with custom regex patterns. Create a
|
|
|
348
359
|
Save this to `dmesg_custom_config.json` and run:
|
|
349
360
|
|
|
350
361
|
```sh
|
|
351
|
-
node-scraper --plugin-configs
|
|
362
|
+
node-scraper --plugin-configs=dmesg_custom_config.json run-plugins DmesgPlugin
|
|
352
363
|
```
|
|
353
364
|
|
|
354
365
|
#### **'compare-runs' subcommand**
|
|
@@ -480,7 +491,12 @@ The RedfishEndpointPlugin collects Redfish URIs (GET responses) and optionally r
|
|
|
480
491
|
}
|
|
481
492
|
```
|
|
482
493
|
|
|
494
|
+
**`collection_args`**
|
|
483
495
|
- **`uris`**: List of Redfish paths (e.g. `/redfish/v1/`, `/redfish/v1/Systems/1`) to GET and store.
|
|
496
|
+
- **`follow_next_link`**: Optional (default `false`). When `true`, the collector follows `Members@odata.nextLink` pagination for each URI and merges all pages into a single response.
|
|
497
|
+
- **`max_pages`**: Optional (default `200`). Safety cap on the number of pages to follow per URI when `follow_next_link` is enabled.
|
|
498
|
+
|
|
499
|
+
**`analysis_args`**
|
|
484
500
|
- **`checks`**: Optional. Map of URI to expected values or constraints for analysis. Supports exact match (e.g. `"PowerState": "On"`), `anyOf`, `min`/`max`, etc.
|
|
485
501
|
|
|
486
502
|
#### **'summary' sub command**
|
|
@@ -539,8 +555,9 @@ Built-in configs include **NodeStatus** (a subset of plugins) and **AllPlugins**
|
|
|
539
555
|
registered plugin with default arguments—useful for generating a reference config from the full system).
|
|
540
556
|
|
|
541
557
|
**NodeStatus plus additional plugins** — built-in configs merge with plugins named after `run-plugins`.
|
|
542
|
-
|
|
543
|
-
|
|
558
|
+
Values are comma-separated; pass as **`--plugin-configs=…`** or **`--plugin-configs` …** (same as other
|
|
559
|
+
optional flags), e.g. `--plugin-configs=NodeStatus,/path/extra.json`.
|
|
560
|
+
Examples:
|
|
544
561
|
```sh
|
|
545
562
|
node-scraper --plugin-configs=NodeStatus run-plugins PciePlugin
|
|
546
563
|
```
|
|
@@ -551,7 +568,7 @@ node-scraper --log-path ./logs --plugin-configs=NodeStatus run-plugins PciePlugi
|
|
|
551
568
|
|
|
552
569
|
Using a JSON file:
|
|
553
570
|
```sh
|
|
554
|
-
node-scraper --plugin-configs
|
|
571
|
+
node-scraper --plugin-configs=plugin_config.json
|
|
555
572
|
```
|
|
556
573
|
Here is an example of a comprehensive plugin config that specifies analyzer args for each plugin:
|
|
557
574
|
```json
|
|
@@ -613,7 +630,7 @@ data.
|
|
|
613
630
|
|
|
614
631
|
**Run all registered plugins (AllPlugins config):**
|
|
615
632
|
```sh
|
|
616
|
-
node-scraper --plugin-
|
|
633
|
+
node-scraper --plugin-configs=AllPlugins
|
|
617
634
|
|
|
618
635
|
```
|
|
619
636
|
|
|
@@ -647,7 +664,7 @@ This will generate the following config:
|
|
|
647
664
|
```
|
|
648
665
|
This config can later be used on a different platform for comparison, using the steps at #2:
|
|
649
666
|
```sh
|
|
650
|
-
node-scraper --plugin-configs
|
|
667
|
+
node-scraper --plugin-configs=reference_config.json
|
|
651
668
|
|
|
652
669
|
```
|
|
653
670
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: amd-node-scraper
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.5
|
|
4
4
|
Summary: A framework for automated error detection and data collection
|
|
5
5
|
Project-URL: homepage, https://github.com/amd/node-scraper
|
|
6
6
|
Project-URL: documentation, https://github.com/amd/node-scraper
|
|
@@ -33,7 +33,7 @@ system debug.
|
|
|
33
33
|
## Table of Contents
|
|
34
34
|
- [Installation](#installation)
|
|
35
35
|
- [Install from PyPI](#install-from-pypi)
|
|
36
|
-
- [Install
|
|
36
|
+
- [Install from Source](#install-from-source)
|
|
37
37
|
- [CLI Usage](#cli-usage)
|
|
38
38
|
- [Execution Methods](#execution-methods)
|
|
39
39
|
- [Example: Remote Execution](#example-remote-execution)
|
|
@@ -66,7 +66,7 @@ Use a virtual environment if you prefer. After installation, confirm the CLI is
|
|
|
66
66
|
node-scraper --help
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
### Install
|
|
69
|
+
### Install from Source
|
|
70
70
|
Node Scraper requires Python 3.9+ for installation. After cloning this repository,
|
|
71
71
|
call dev-setup.sh script with 'source'. This script creates an editable install of Node Scraper in
|
|
72
72
|
a python virtual environment and also configures the pre-commit hooks for the project.
|
|
@@ -106,7 +106,7 @@ usage: cli.py [-h] [--version] [--sys-name STRING]
|
|
|
106
106
|
[--sys-location {LOCAL,REMOTE}]
|
|
107
107
|
[--sys-interaction-level {PASSIVE,INTERACTIVE,DISRUPTIVE}]
|
|
108
108
|
[--sys-sku STRING] [--sys-platform STRING]
|
|
109
|
-
[--plugin-configs
|
|
109
|
+
[--plugin-configs LIST] [--system-config STRING]
|
|
110
110
|
[--connection-config STRING] [--log-path STRING]
|
|
111
111
|
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
|
|
112
112
|
[--no-console-log] [--gen-reference-config] [--skip-sudo]
|
|
@@ -140,10 +140,11 @@ options:
|
|
|
140
140
|
--sys-sku STRING Manually specify SKU of system (default: None)
|
|
141
141
|
--sys-platform STRING
|
|
142
142
|
Specify system platform (default: None)
|
|
143
|
-
--plugin-configs
|
|
144
|
-
built-in
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
--plugin-configs LIST
|
|
144
|
+
Comma-separated built-in names and/or plugin config
|
|
145
|
+
JSON paths (e.g. --plugin-
|
|
146
|
+
configs=NodeStatus,/path/c.json). Built-ins:
|
|
147
|
+
NodeStatus, AllPlugins (default: None)
|
|
147
148
|
--system-config STRING
|
|
148
149
|
Path to system config json (default: None)
|
|
149
150
|
--connection-config STRING
|
|
@@ -365,6 +366,16 @@ You can extend the built-in error detection with custom regex patterns. Create a
|
|
|
365
366
|
"event_category": "SW_DRIVER",
|
|
366
367
|
"event_priority": 4
|
|
367
368
|
}
|
|
369
|
+
],
|
|
370
|
+
"priority_override_rules": [
|
|
371
|
+
{
|
|
372
|
+
"message": "Application Crash",
|
|
373
|
+
"new_priority": "ERROR"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"event_category": "SW_DRIVER",
|
|
377
|
+
"new_priority": "WARNING"
|
|
378
|
+
}
|
|
368
379
|
]
|
|
369
380
|
}
|
|
370
381
|
}
|
|
@@ -376,7 +387,7 @@ You can extend the built-in error detection with custom regex patterns. Create a
|
|
|
376
387
|
Save this to `dmesg_custom_config.json` and run:
|
|
377
388
|
|
|
378
389
|
```sh
|
|
379
|
-
node-scraper --plugin-configs
|
|
390
|
+
node-scraper --plugin-configs=dmesg_custom_config.json run-plugins DmesgPlugin
|
|
380
391
|
```
|
|
381
392
|
|
|
382
393
|
#### **'compare-runs' subcommand**
|
|
@@ -508,7 +519,12 @@ The RedfishEndpointPlugin collects Redfish URIs (GET responses) and optionally r
|
|
|
508
519
|
}
|
|
509
520
|
```
|
|
510
521
|
|
|
522
|
+
**`collection_args`**
|
|
511
523
|
- **`uris`**: List of Redfish paths (e.g. `/redfish/v1/`, `/redfish/v1/Systems/1`) to GET and store.
|
|
524
|
+
- **`follow_next_link`**: Optional (default `false`). When `true`, the collector follows `Members@odata.nextLink` pagination for each URI and merges all pages into a single response.
|
|
525
|
+
- **`max_pages`**: Optional (default `200`). Safety cap on the number of pages to follow per URI when `follow_next_link` is enabled.
|
|
526
|
+
|
|
527
|
+
**`analysis_args`**
|
|
512
528
|
- **`checks`**: Optional. Map of URI to expected values or constraints for analysis. Supports exact match (e.g. `"PowerState": "On"`), `anyOf`, `min`/`max`, etc.
|
|
513
529
|
|
|
514
530
|
#### **'summary' sub command**
|
|
@@ -567,8 +583,9 @@ Built-in configs include **NodeStatus** (a subset of plugins) and **AllPlugins**
|
|
|
567
583
|
registered plugin with default arguments—useful for generating a reference config from the full system).
|
|
568
584
|
|
|
569
585
|
**NodeStatus plus additional plugins** — built-in configs merge with plugins named after `run-plugins`.
|
|
570
|
-
|
|
571
|
-
|
|
586
|
+
Values are comma-separated; pass as **`--plugin-configs=…`** or **`--plugin-configs` …** (same as other
|
|
587
|
+
optional flags), e.g. `--plugin-configs=NodeStatus,/path/extra.json`.
|
|
588
|
+
Examples:
|
|
572
589
|
```sh
|
|
573
590
|
node-scraper --plugin-configs=NodeStatus run-plugins PciePlugin
|
|
574
591
|
```
|
|
@@ -579,7 +596,7 @@ node-scraper --log-path ./logs --plugin-configs=NodeStatus run-plugins PciePlugi
|
|
|
579
596
|
|
|
580
597
|
Using a JSON file:
|
|
581
598
|
```sh
|
|
582
|
-
node-scraper --plugin-configs
|
|
599
|
+
node-scraper --plugin-configs=plugin_config.json
|
|
583
600
|
```
|
|
584
601
|
Here is an example of a comprehensive plugin config that specifies analyzer args for each plugin:
|
|
585
602
|
```json
|
|
@@ -641,7 +658,7 @@ data.
|
|
|
641
658
|
|
|
642
659
|
**Run all registered plugins (AllPlugins config):**
|
|
643
660
|
```sh
|
|
644
|
-
node-scraper --plugin-
|
|
661
|
+
node-scraper --plugin-configs=AllPlugins
|
|
645
662
|
|
|
646
663
|
```
|
|
647
664
|
|
|
@@ -675,7 +692,7 @@ This will generate the following config:
|
|
|
675
692
|
```
|
|
676
693
|
This config can later be used on a different platform for comparison, using the steps at #2:
|
|
677
694
|
```sh
|
|
678
|
-
node-scraper --plugin-configs
|
|
695
|
+
node-scraper --plugin-configs=reference_config.json
|
|
679
696
|
|
|
680
697
|
```
|
|
681
698
|
|
|
@@ -43,6 +43,7 @@ nodescraper/constants.py
|
|
|
43
43
|
nodescraper/generictypes.py
|
|
44
44
|
nodescraper/pluginexecutor.py
|
|
45
45
|
nodescraper/pluginregistry.py
|
|
46
|
+
nodescraper/serialization.py
|
|
46
47
|
nodescraper/typeutils.py
|
|
47
48
|
nodescraper/utils.py
|
|
48
49
|
nodescraper/base/__init__.py
|
|
@@ -56,8 +57,11 @@ nodescraper/cli/cli.py
|
|
|
56
57
|
nodescraper/cli/compare_runs.py
|
|
57
58
|
nodescraper/cli/constants.py
|
|
58
59
|
nodescraper/cli/dynamicparserbuilder.py
|
|
60
|
+
nodescraper/cli/embed.py
|
|
59
61
|
nodescraper/cli/helper.py
|
|
62
|
+
nodescraper/cli/host_cli_embed.py
|
|
60
63
|
nodescraper/cli/inputargtypes.py
|
|
64
|
+
nodescraper/cli/invocation.py
|
|
61
65
|
nodescraper/configs/node_status.json
|
|
62
66
|
nodescraper/connection/__init__.py
|
|
63
67
|
nodescraper/connection/inband/__init__.py
|
|
@@ -68,6 +72,7 @@ nodescraper/connection/inband/inbandremote.py
|
|
|
68
72
|
nodescraper/connection/inband/sshparams.py
|
|
69
73
|
nodescraper/connection/redfish/__init__.py
|
|
70
74
|
nodescraper/connection/redfish/redfish_connection.py
|
|
75
|
+
nodescraper/connection/redfish/redfish_constants.py
|
|
71
76
|
nodescraper/connection/redfish/redfish_manager.py
|
|
72
77
|
nodescraper/connection/redfish/redfish_oem_diag.py
|
|
73
78
|
nodescraper/connection/redfish/redfish_params.py
|
|
@@ -99,6 +104,7 @@ nodescraper/models/datapluginresult.py
|
|
|
99
104
|
nodescraper/models/event.py
|
|
100
105
|
nodescraper/models/pluginconfig.py
|
|
101
106
|
nodescraper/models/pluginresult.py
|
|
107
|
+
nodescraper/models/priority_override.py
|
|
102
108
|
nodescraper/models/systeminfo.py
|
|
103
109
|
nodescraper/models/taskresult.py
|
|
104
110
|
nodescraper/models/timerangeargs.py
|
|
@@ -182,6 +188,7 @@ nodescraper/plugins/inband/memory/memorydata.py
|
|
|
182
188
|
nodescraper/plugins/inband/network/__init__.py
|
|
183
189
|
nodescraper/plugins/inband/network/analyzer_args.py
|
|
184
190
|
nodescraper/plugins/inband/network/collector_args.py
|
|
191
|
+
nodescraper/plugins/inband/network/ethtool_vendor.py
|
|
185
192
|
nodescraper/plugins/inband/network/network_analyzer.py
|
|
186
193
|
nodescraper/plugins/inband/network/network_collector.py
|
|
187
194
|
nodescraper/plugins/inband/network/network_plugin.py
|
|
@@ -340,8 +347,14 @@ test/functional/fixtures/regex_search_multi_logs/app_error.log
|
|
|
340
347
|
test/functional/fixtures/regex_search_multi_logs/no_errors.log
|
|
341
348
|
test/functional/fixtures/regex_search_multi_logs/storage_warn.log
|
|
342
349
|
test/unit/conftest.py
|
|
350
|
+
test/unit/test_serialization.py
|
|
343
351
|
test/unit/test_version.py
|
|
352
|
+
test/unit/cli/test_build_global_argument_parser.py
|
|
353
|
+
test/unit/cli/test_cli_embed_api.py
|
|
344
354
|
test/unit/cli/test_cli_no_console_stdout.py
|
|
355
|
+
test/unit/cli/test_host_cli_embed.py
|
|
356
|
+
test/unit/cli/test_plugin_configs_cli.py
|
|
357
|
+
test/unit/connection/redfish/test_redfish_connection_paging.py
|
|
345
358
|
test/unit/connection/redfish/test_redfish_oem_diag.py
|
|
346
359
|
test/unit/framework/test_analyzerargs.py
|
|
347
360
|
test/unit/framework/test_cli.py
|
|
@@ -349,6 +362,7 @@ test/unit/framework/test_cli_helper.py
|
|
|
349
362
|
test/unit/framework/test_compare_runs.py
|
|
350
363
|
test/unit/framework/test_config_builder.py
|
|
351
364
|
test/unit/framework/test_config_registry.py
|
|
365
|
+
test/unit/framework/test_connection_manager_entrypoints.py
|
|
352
366
|
test/unit/framework/test_dataanalyzer.py
|
|
353
367
|
test/unit/framework/test_datacollector.py
|
|
354
368
|
test/unit/framework/test_dataplugin.py
|