feat: network topology SVG diagram for v1.8.0#19
Merged
Conversation
Every export now produces an SVG next to the Excel file showing the full per-node network topology (NICs -> bonds -> bridges -> gateway VMs -> internal bridges -> leaf VMs) plus a dedicated strip for network storages (NFS, CIFS, PBS, iSCSI, Ceph, RBD, GlusterFS). Also: more resilient QEMU agent calls (single failed sub-call no longer hides hostname/OS/network), clearer agent error messages in the Hostname column, helper consolidation across the codebase, new docs page and sample diagram in docs/.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
exportnow produces a standalone SVG network topology diagram next to the Excel file (same basename). For each Proxmox node it shows the full chainNICs → bonds → bridges → gateway VMs → internal bridges → leaf VMs, plus a dedicated strip below for network-backed storage (NFS, CIFS, PBS, iSCSI, Ceph, RBD, GlusterFS). Multi-homed VMs (potential gateways) and inactive interfaces get distinct colours so routing is visible at a glance.get-osinfo,get-host-name,network-get-interfaces,get-fsinfo) is now awaited independently. A single failure (e.g. OPNsense returning an error object onget-fsinfo) no longer wipes hostname / OS / network info for the VM.Hostnamecolumn when the agent throws.TaskExtensions.WhenAllSafe,Task<T>.ResultOrDefault(),LabeledValue,VmTypeLabel,SplitWords,MtuLabel,ActiveStatus,YesNo,InterfaceTitle,BoxLabel,RenderBox,AddNicNode) consolidate repeated patterns acrossReportEngine.*.docs/network-diagram.md, anonymised sampledocs/network-diagram.svg, README updated with diagram preview./storageAPI call now made once inLoadResourcesAsyncand reused by both the Storages sheet and the diagram.Test plan
cv4pve-report @config.rsp exportproduces bothReport_*.xlsxandReport_*.svgcv4pve-report @config.rsp export -o /tmp/myreport.xlsxproduces/tmp/myreport.svgalongside the xlsxget-fsinfo)