Now that bug 1626619 is fixed, we're once again depending on *all* RouterInterfaces that are defined in the template, instead of just the ones on Networks that we care about.
This is very similar to the issue with RouterGateway and ExtraRoutes (bug 1626630), which should be fixed first. Once it is, we can try to apply the same solution here.
The major difference with FloatingIP is that it needs to going up two levels in the graph instead of just one (FloatingIP->Port->Network and RouterInterface->Subnet->Network) to get to the shared root that we want to compare.
This would also allow us to get rid of the expensive API call mentioned in bug 1626619, which ideally has no place in the dependency calculations, without compromising the fix for bug 1428434.
See further discussion in https://review.openstack.org/#/c/289371/ for context.
Fix proposed to branch: master /review. openstack. org/381219
Review: https:/