Enhance the RM logic for Kubevirt Networking App
Change-Id: I84fa678c75ba1e738c68c72ffbc89c54e5309997
(cherry picked from commit 842b3031e5b82a95d1f292fc952e8f091cc1e20b)
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtFloatingIpHandler.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtFloatingIpHandler.java
index d59a260..419672f 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtFloatingIpHandler.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtFloatingIpHandler.java
@@ -398,48 +398,41 @@
}
private void processRouterGatewayNodeChanged(KubevirtRouter router, String disAssociatedGateway) {
-
- kubevirtRouterService.floatingIps()
- .stream()
- .filter(fip -> fip.routerName().equals(router.name())).forEach(fip -> {
- KubevirtNode oldGw = kubevirtNodeService.node(disAssociatedGateway);
- if (oldGw == null) {
- return;
- }
-
+ kubevirtRouterService.floatingIpsByRouter(router.name())
+ .forEach(fip -> {
KubevirtNode newGw = kubevirtNodeService.node(router.electedGateway());
if (newGw == null) {
return;
}
-
- setFloatingIpRulesForFip(router, fip, oldGw, false);
-
setFloatingIpRulesForFip(router, fip, newGw, true);
processGarpPacketForFloatingIp(fip, newGw);
+ KubevirtNode oldGw = kubevirtNodeService.node(disAssociatedGateway);
- });
+ if (oldGw == null) {
+ return;
+ }
+ setFloatingIpRulesForFip(router, fip, oldGw, false);
+ });
}
private void processGatewayNodeAttachment(KubevirtRouter router, String gatewayName) {
- kubevirtRouterService.floatingIps().forEach(fip -> {
- if (fip.routerName().equals(router.name())) {
- KubevirtNode gw = kubevirtNodeService.node(gatewayName);
- if (gw != null) {
- setFloatingIpRulesForFip(router, fip, gw, true);
- }
- }
- });
+ kubevirtRouterService.floatingIpsByRouter(router.name())
+ .forEach(fip -> {
+ KubevirtNode gw = kubevirtNodeService.node(gatewayName);
+ if (gw != null) {
+ setFloatingIpRulesForFip(router, fip, gw, true);
+ }
+ });
}
private void processGatewayNodeDetachment(KubevirtRouter router, String gatewayName) {
- kubevirtRouterService.floatingIps().forEach(fip -> {
- if (fip.routerName().equals(router.name())) {
- KubevirtNode gw = kubevirtNodeService.node(gatewayName);
- if (gw != null) {
- setFloatingIpRulesForFip(router, fip, gw, false);
- }
- }
- });
+ kubevirtRouterService.floatingIpsByRouter(router.name())
+ .forEach(fip -> {
+ KubevirtNode gw = kubevirtNodeService.node(gatewayName);
+ if (gw != null) {
+ setFloatingIpRulesForFip(router, fip, gw, false);
+ }
+ });
}
private void processFloatingIpAssociation(KubevirtRouter router, KubevirtFloatingIp floatingIp) {