Repository navigation
Provisioning: declarative device configuration for VideoIPath - #130
Open
JonasScholl wants to merge 7 commits into
Open
JonasScholl wants to merge 7 commits into
JonasScholl wants to merge 7 commits into
Conversation
JonasScholl
force-pushed
the
feature/blueprints
branch
from
October 2, 2026 08:54
ed10cac to
4532c11
Compare
JonasScholl
force-pushed
the
feature/blueprints
branch
from
October 8, 2026 17:40
79efc86 to
d4a3273
Compare
JonasScholl
marked this pull request as ready for review
October 8, 2026 20:20
JonasScholl
added this pull request to stack #134
October 8, 2026 20:20
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.
Adds
videoipath_automation_tool.provisioning, a standalone declarative configuration layer over the VideoIPath SDK. Provisioning automates device configuration in an Infrastructure as Code style; blueprints are the reusable YAML templates used within that layer. Callers supply device facts, typed inputs, selected variants, and concrete external edges.VideoIPathAppneither imports nor exposes the feature. Construct the engine explicitly:Changes
ProvisioningPlanprovides a read-only preview of managed-field changes. Apply rechecks captured baselines and runsinventory → inventory_readiness → topology_sync → discovery → topology → module_tags → verification.ProvisioningApplyErrorretains known IDs, successful operations, and phase outcomes; there is no automatic rollback.require_reachable=Falsesupports mock/static devices. Topology-changing Inventory updates stop withreplan_required=True.Text/Field/Joinnaming blocks, a per-engineProcessorRegistry, and the built-in Matrox ConvertIP processor.ProvisioningDevice.edgesandProvisioningEdgedescribe instance-specific connections through reusable port mappings. Device, vertex, and edge changes share the Inspect transaction; missing peers remain deferred and require a new plan.docs/architecture/provisioning/, the05_Provisioning.mdgetting-started chapter, examples indocs/examples/07_provisioning/, and updated repository guidance.The Python package, engine, plan, device, app protocol, and feature error names use Provisioning. Template-specific names such as
Blueprintand the blueprint schema retain their meaning. Migration guidance documents the renamed API and replacement ofdiscovery_timeoutwith the two readiness options; old API names have no compatibility aliases.Validation
tests/provisioning/exercises loading, validation, inputs, variants, naming, processors, planning, apply, edges, staged readiness, and recovery with fake Inventory/Inspect state.tests/e2e/provisioning/cover lifecycle, external edges, and recovery using mock devices. They are excluded from the default offline suite.d4a3273.