Page MenuHomeVyOS Platform

vyos-api docs: document commit atomicity — multi-field nodes must be set in one /configure request
Open, LowPublic

Description

Doc page: https://docs.vyos.io/en/latest/automation/vyos-api.html
(GitHub issues are disabled on vyos/vyos-documentation, so filing here.)

Each /configure request auto-commits. The docs mention that some components need a full block in one commit (DHCP, PPPoE, IPsec, VXLAN) but not the general consequence: fields of one node cannot be staged across requests. Validator failures we hit in production automation (VyOS 1.5 rolling):

NodeMust be in the same request
system task-scheduler task <name>executable + interval (or crontab-spec) — else "must define either interval or crontab-spec"
nat destination rule <N>translation with/before other rule attrs — else "translation requires address and/or port"
firewall … rule <N>action/protocol before description/port/port-group — else "Protocol must be defined if specifying a port or port-group" / "path … is not valid"

Suggest a short "Commit atomicity" section on the API page with these examples, so API users know to group ops per node instead of one set-command per request.

Details

Version
docs.vyos.io latest (observed on VyOS 1.5 rolling)
Is it a breaking change?
Perfectly compatible
Issue type
Documentation update

Event Timeline

Verification update: the current rolling API guide states that each /configure request is committed immediately and that fields of a single configuration node must be included in the same request. It gives task-scheduler, NAT, and firewall examples plus related validation errors: https://github.com/vyos/vyos-documentation/blob/rolling/docs/automation/vyos-api.md#configure. This guidance appears in commit https://github.com/vyos/vyos-documentation/commit/0b88b491d043e5f281d8e3ae499c4d045da28f28. This appears to address T9087. Suggested status: Resolved if the task author or a maintainer confirms the documentation meets scope.