fabric-testbed / InformationModel

FABRIC Information Model library
MIT License
7 stars 1 forks source link

When removing nodes via topology.remove_node() or topology.prune() remove peer network interface #166

Closed ibaldin closed 1 year ago

ibaldin commented 1 year ago

The prune() and remove_node() code removes nodes, their components, OVS network services, and interfaces and links connecting to e.g. L2Bridge network services. However this leaves peer interfaces/ConnecitonPoints of the L2Bridge network service 'hanging' and then the graph can't pass validation. The code should remove the peer interface as well.

Note that the reverse is not true and removing a network service and its interfaces should not remove the corresponding peer interfaces of connected nodes.

Requested by @kthare10

ibaldin commented 1 year ago

Similarly the prune code and node.remove_component() needs to remove the 'hanging' peer network service interface.