Page MenuHomeVyOS Platform

Revisit storing syntax version of interface definitions in XML file
In progress, NormalPublic

Description

In T1962, the possibility of storing the component syntax version within the XML file was introduced. It has remained underadvertised and underused due to a question of convenience: the mapping

component <~~> interface definition file

is not 1-to-1, nor should it be (for example system <~> system-*.xml.in; interfaces <~> interface-*.xml.in). This raises the question of in which file to include the XML syntax version element, so as to be least burdensome on the developer. In this task, we will revisit the matter, so as to finally move the component syntax version out of vyatta-cfg-system.

Details

Difficulty level
Unknown (require assessment)
Version
vyos-1,4
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Event Timeline

jestabro triaged this task as Normal priority.Apr 14 2021, 6:13 PM
jestabro created this task.
jestabro created this object in space S1 VyOS Public.
jestabro updated the task description. (Show Details)

The suggested resolution is to define an include file with the syntaxVersion element. The syntaxVersion element contains the component name and version number; the including interface definition file corresponds to the conf_mode script. Hence, this defines a mapping

conf_mode script --> component name. In addition, the workflow is not burdensome:

old workflow: update interface definition/conf mode script; write migration script; update vyatta-cfg-system curver_data
new workflow: update interface definition/conf mode script; write migration script; update version number in interface_definitions/include/version

Al the processing scripts are already in place in 1.3/1.4. An example is here:

https://github.com/vyos/vyos-1x/compare/current...jestabro:syntaxVersion

jestabro changed the task status from Open to In progress.Aug 4 2021, 4:37 PM