Ironic virt driver generates the config driver here [1] with the networking metadata specific for ironic including the bonding. When the nova-metadata service gathers the metadata for an instance it calls the virt driver agnostic nova.virt.netutils.get_network_metadata()[2] that does not contain any virt driver specific information.
This causing the discrepancy between the content of the config driver and the content of the metadata service.
I'm not sure it is easy to fix but worth a discussion.
Ironic virt driver generates the config driver here [1] with the networking metadata specific for ironic including the bonding. When the nova-metadata service gathers the metadata for an instance it calls the virt driver agnostic nova.virt. netutils. get_network_ metadata( )[2] that does not contain any virt driver specific information.
This causing the discrepancy between the content of the config driver and the content of the metadata service.
I'm not sure it is easy to fix but worth a discussion.
[1] https:/ /github. com/openstack/ nova/blob/ c37a4656bbbf6fc a169fb1456912a5 020f911698/ nova/virt/ ironic/ driver. py#L1076 /github. com/openstack/ nova/blob/ c37a4656bbbf6fc a169fb1456912a5 020f911698/ nova/virt/ netutils. py#L168
[2] https:/