Skip to content

Plugin recipe rework#206

Open
alexandraBara wants to merge 4 commits into
developmentfrom
alex_recipes
Open

Plugin recipe rework#206
alexandraBara wants to merge 4 commits into
developmentfrom
alex_recipes

Conversation

@alexandraBara
Copy link
Copy Markdown
Collaborator

@alexandraBara alexandraBara commented May 29, 2026

Summary

-Reworking plugin recipes by registering recipes through endpoints. This allows other tools to register its own recipes in node-scraper. Recipes can also now be picked up dynamically from init files.

Test plan

  • pytest test/unit
  • pytest test/functional (if applicable)
  • pre-commit run --all-files

Checklist

  • Added/updated tests (or explained why not)
  • Updated docs/README if behavior changed
  • No secrets or credentials committed

Sample run:

(venv) alexbara@ausalexbara02:~/node-scraper_public$ node-scraper describe config
  2026-05-29 12:59:15 CDT       INFO               nodescraper | Log path: ./scraper_logs_ausalexbara02_2026_05_29-12_59_15_PM
  2026-05-29 12:59:15 CDT       INFO               nodescraper | Available configs:
  AllPlugins
  NodeStatus

Usage: describe config <name>
(venv) alexbara@ausalexbara02:~/node-scraper_public$ node-scraper describe config NodeStatus
  2026-05-29 12:59:21 CDT       INFO               nodescraper | Log path: ./scraper_logs_ausalexbara02_2026_05_29-12_59_21_PM
  2026-05-29 12:59:21 CDT       INFO               nodescraper | Config Name: NodeStatus
Description: Check configuration and status of the node.
Plugins:
        BiosPlugin
        CmdlinePlugin
        DimmPlugin
        DkmsPlugin
        DmesgPlugin
        KernelPlugin
        MemoryPlugin
        OsPlugin
        RocmPlugin
        StoragePlugin
        UptimePlugin
(venv) alexbara@ausalexbara02:~/node-scraper_public$ node-scraper --plugin-configs=NodeStatus
  2026-05-29 15:19:07 CDT       INFO               nodescraper | Log path: ./scraper_logs_ausalexbara02_2026_05_29-03_19_07_PM
  2026-05-29 15:19:07 CDT       INFO               nodescraper | System Name: ausalexbara02
  2026-05-29 15:19:07 CDT       INFO               nodescraper | System location: SystemLocation.LOCAL
  2026-05-29 15:19:07 CDT       INFO               nodescraper | Initializing connection manager for InBandConnectionManager with default args
  2026-05-29 15:19:07 CDT       INFO               nodescraper | --------------------------------------------------
  2026-05-29 15:19:07 CDT       INFO               nodescraper | Running plugin BiosPlugin
  2026-05-29 15:19:07 CDT       INFO               nodescraper | Initializing connection: InBandConnectionManager
  2026-05-29 15:19:07 CDT       INFO               nodescraper | Using local shell
......
6-05-29 15:19:12 CDT       INFO               nodescraper | Running result collators
  2026-05-29 15:19:12 CDT       INFO               nodescraper | Running TableSummary result collator
  2026-05-29 15:19:12 CDT       INFO               nodescraper |

+-------------------------+--------+-----------------------------+
| Connection              | Status | Message                     |
+-------------------------+--------+-----------------------------+
| InBandConnectionManager | OK     | task completed successfully |
+-------------------------+--------+-----------------------------+

+---------------+---------+----------------------------------------------------------------------------------+
| Plugin        | Status  | Message                                                                          |
+---------------+---------+----------------------------------------------------------------------------------+
| BiosPlugin    | ERROR   | Collection error: BIOS version not found (2 errors: Error checking BIOS version, |
|               |         | BIOS version not found)                                                          |
| CmdlinePlugin | OK      | Plugin tasks completed successfully                                              |
| DimmPlugin    | ERROR   | Collection error: DIMM info not found (1 warnings: Could not collect full        |
|               |         | dmidecode output; 2 errors: Error checking dimms, DIMM info not found)           |
| DkmsPlugin    | ERROR   | Collection error: DKMS info not found                                            |
| DmesgPlugin   | WARNING | Analysis warning: task completed with warnings (25 warnings: Journal file        |
|               |         | corrupted or uncleanly shut down (x2), Unknown dmesg error (x23))                |
| KernelPlugin  | OK      | Plugin tasks completed successfully                                              |
| MemoryPlugin  | OK      | Plugin tasks completed successfully                                              |
| OsPlugin      | OK      | Plugin tasks completed successfully                                              |
| RocmPlugin    | ERROR   | Collection error: ROCm version not found (2 errors: Unable to read ROCm version  |
|               |         | from ['/opt/rocm/.info/version-rocm', '/opt/rocm/.info/version'], Error checking |
|               |         | ROCm version)                                                                    |
| StoragePlugin | ERROR   | Analysis error: Insufficient disk space on [snapfuse] (1 errors: Insufficient    |
|               |         | disk space: 51.77MB and 100.0%,  used on snapfuse)                               |
| UptimePlugin  | OK      | Plugin tasks completed successfully                                              |
+---------------+---------+----------------------------------------------------------------------------------+

  2026-05-29 15:19:12 CDT       INFO               nodescraper | Data written to csv file: ./scraper_logs_ausalexbara02_2026_05_29-03_19_07_PM/nodescraper.csv


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant