Skip to content

v0.0.25

Choose a tag to compare

@emersonfelipesp emersonfelipesp released this 03 Oct 01:16
· 3 commits to main since this release

proxbox-api 0.0.25

This release makes synchronization more robust and safer on estates with several Proxmox endpoints and clusters.

Fixes and improvements

  • Nightly schema refresh. The schema contract check accepts both NetBox 4.6 and 4.7 virtual machine schema names, so the scheduled refresh works against current NetBox.
  • Pinned granian. The granian container images and the CI end-to-end container install a validated, pinned granian version, with a guard test that keeps the pin consistent.
  • Node-interface synchronization (opt-in sync_node_interfaces). A failed VLAN synchronization no longer clears existing VLAN assignments, and VLAN, IP and MAC failures, including partial responses without a persisted record, are reported as warnings with a degraded result in the REST response (only when degraded), the SSE events and full update.
  • Shared-owner detection. During sidecar hydration, two NetBox VMs claiming the same Proxmox owner (endpoint, cluster, VMID and type) are detected, including when one is outside the selection: lenient runs skip every claimant with a warning and report the stage degraded; strict requests fail before any write.
  • Verified-cluster matching. A VM whose only endpoint-keyed candidate has no verifiable cluster (missing or unassigned) is skipped with a structured warning and the stage is reported degraded, instead of being updated or duplicated. Missing cluster data is completed with bounded concurrency, and the Python and Rust reconciliation engines agree.
  • Test reliability. The console relay rejection tests are hardened against a test-harness cancellation race.

Compatibility and upgrade

No database migration and no change to the public authentication contract. Compatible with proxmox-sdk 0.0.15, netbox-sdk 0.0.13 and the netbox-proxbox 0.0.27 line. Responses gain warnings and degraded fields only when a staged stage skipped a VM or a node-interface sub-sync failed.

Deploy the exact 0.0.25 package or container, restart every backend worker, verify the health endpoint, then run one node and one virtual-machine synchronization before resuming scheduled jobs.