|
|
||
|---|---|---|
| .github | ||
| dev | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| README.ru.md | ||
| SECURITY.md | ||
vrcx
🇺🇸 English | 🇷🇺 Русский
vrcx — Vegman Remote Collect (extended). A portable, scripted replacement for YADRO's VRC.exe that pulls diagnostic logs from a Vegman server and (optionally) from its SDS service OS, in parallel, into a single archive ready to send to support.
The original VRC only touches the BMC. In real incidents support almost always asks for OS-side logs too (lsiget, storcli, smartctl, journals). With vrcx that's one double-click instead of a USB-stick run.
What it does
- Connects to N BMCs in parallel. Per host, also opens a second SSH session to the SDS service OS and runs both branches concurrently.
- SDS IP is discovered automatically: vrcx asks the BMC over Redfish for the host NIC's MAC, then matches it against the laptop's ARP table (warming it with a quick
/24ping-sweep when needed). - Each host gets a clean
bmc/andos/sub-folder; all per-host tarballs land in a sharedarchives/folder and an outer bundle wraps the whole session. - BMC-only mode (when Collect OS logs too? is answered no) produces an artefact set 1:1 compatible with the original VRC support flow.
Download
Grab the latest release: releases page.
The asset is vrcx-portable-vX.Y.Z.zip.
Run
- Unzip anywhere.
- Double-click
vrcx.exe. On the very first launch pick a language; the choice is saved intoconfig.ininext to the exe. - Paste one or more BMC IPs (whitespace, comma, or newline separated). End input with an empty line.
- Enter the BMC user (default
admin) and password. - Answer Collect OS logs too? — if
yes, enter SDS user/password (defaultssds/sds). vrcx will discover each SDS IP via Redfish→ARP, falling back to a manual prompt when needed. - Watch the live progress table — each row shows
BMC ok/total | OS ok/totalwhile collection runs.
Ctrl+C aborts and removes the incomplete session folder.
Output
out/<DDMMYYYY_HHMMSS>/
├── <bmc_ip>/
│ ├── bmc/ BMC commands (inventory, sensors, sellog, Redfish, …)
│ └── os/ SDS host commands (lsiget, storcli, smartctl, journal, …)
├── <bmc_ip_2>/
│ ├── bmc/
│ └── os/
├── archives/
│ ├── dump_<bmc_ip>.tar.gz
│ └── dump_<bmc_ip_2>.tar.gz
├── vrc.log
└── err_out.log
out/<DDMMYYYY_HHMMSS>.tar.gz ← one-click bundle for support
Configuration
config.ini lives next to the exe and is created on first run. Every option carries an inline description (EN + RU). Typical knobs:
| Section | Key | Default | What |
|---|---|---|---|
General |
language |
(asked) | en / ru |
BMC |
default_user |
admin |
Hit Enter on the BMC user prompt to accept this |
OS |
collect_by_default |
no |
Pre-tick the Collect OS logs too? answer |
OS |
default_user |
sds |
Default SDS user |
Discovery |
ping_sweep |
yes |
Warm the ARP table with a /24 ping-sweep when SDS IP is unknown |
Run |
parallel_hosts |
8 |
Max BMCs collected in parallel |
What gets collected
| Side | Where it comes from |
|---|---|
| BMC | Per-spec table in commands.py: BMC CLI commands (bmc info version, lsinventory -j, health logs show sellog), journalctl units, file reads (/proc/cpuinfo, /etc/os-release, …), Redfish /redfish/v1/Systems. |
| SDS host | Per-spec table in os_commands.py: lsigetlinux.sh, storcli64 /call show all, nvme list, smartctl -x per drive, dmidecode, dmesg -T, journalctl -b, /var/log/messages, lspci, lsblk. |
Adding a new artefact = one line in the relevant table.
Compatibility
- Output structure mirrors VRC v1.1b — YADRO support flow is unchanged for the BMC side.
- Targets: YADRO Vegman servers with OpenBMC + the SDS service OS (CentOS Stream 10 base).
- Host: Windows 10 / 11. No Python required on the laptop or on the server.
Build from source
git clone https://github.com/Engelgardt23/vrcx.git
cd vrcx
python -m pip install rich paramiko pyinstaller
python -m PyInstaller --onefile --console --name vrcx --icon dev/assets/icon.ico --paths dev/src dev/vrcx-launcher.py
See CONTRIBUTING.md for the full repo layout (dev/ / prod/ / old/) and release flow.
License
MIT — see LICENSE.