On IRC, we discussed another alternative - keep the top-level item as
an
array, and instead of adding "server-duid" as an array element, just add
it as an optional field member of each {} ipv6 lease in the array
(multiple copies of the string, but oh well). At least that way, you
aren't artificially adding a non-lease to the array itself, and
hopefully libvirt 1.2.6 ignores unknown fields of a lease array entry.
This seems to be the most easy option. Also, how about adding another
field to every lease:
"generated-by": "leaseshelper v$X" (where X is the value provided by
the macro PACKAGE_VERSION)
so that whenever a new field is added in the future, we don't have
trouble finding out which version of leaseshelper added it.
Regards,
Nehal J Wani