Learn the devId where VM attached by listening VMI event
Refactor: extract wait logic into a common utility class
Change-Id: I96d60832770ee919a7632cd2665c82eb6f96bfba
(cherry picked from commit 0b90d45879020aab3a5fa2bac6a5b19b6bbe75a6)
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtSecurityGroupHandler.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtSecurityGroupHandler.java
index 09cc288..d97ac47 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtSecurityGroupHandler.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtSecurityGroupHandler.java
@@ -78,7 +78,6 @@
import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors;
-import static java.lang.Thread.sleep;
import static java.util.concurrent.Executors.newSingleThreadExecutor;
import static org.onlab.util.Tools.groupedThreads;
import static org.onosproject.kubevirtnetworking.api.Constants.ACL_CT_TABLE;
@@ -103,6 +102,7 @@
import static org.onosproject.kubevirtnetworking.impl.OsgiPropertyConstants.USE_SECURITY_GROUP;
import static org.onosproject.kubevirtnetworking.impl.OsgiPropertyConstants.USE_SECURITY_GROUP_DEFAULT;
import static org.onosproject.kubevirtnetworking.util.KubevirtNetworkingUtil.getPropertyValueAsBoolean;
+import static org.onosproject.kubevirtnetworking.util.KubevirtNetworkingUtil.waitFor;
import static org.onosproject.kubevirtnetworking.util.RulePopulatorUtil.buildPortRangeMatches;
import static org.onosproject.kubevirtnetworking.util.RulePopulatorUtil.computeCtMaskFlag;
import static org.onosproject.kubevirtnetworking.util.RulePopulatorUtil.computeCtStateFlag;
@@ -154,8 +154,6 @@
private static final int ACTION_NONE = 0;
private static final int ACTION_DROP = -1;
- private static final long SLEEP_MS = 5000;
-
/** Apply EdgeStack security group rule for VM traffic. */
private boolean useSecurityGroup = USE_SECURITY_GROUP_DEFAULT;
@@ -388,11 +386,7 @@
if (deviceService.getDevice(deviceId) != null) {
break;
} else {
- try {
- sleep(SLEEP_MS);
- } catch (InterruptedException e) {
- log.error("Failed to install security group default rules.");
- }
+ waitFor(5);
}
}
@@ -1020,11 +1014,7 @@
// now we wait 5s for all tenant bridges are created,
// FIXME: we need to fina a better way to wait all tenant bridges
// are created before installing default security group rules
- try {
- sleep(SLEEP_MS);
- } catch (InterruptedException e) {
- log.error("Failed to install security group default rules.");
- }
+ waitFor(5);
for (KubevirtNode node : nodes) {
initializeTenantPipeline(network, node, true);
@@ -1108,11 +1098,7 @@
}
// FIXME: we wait all port get its deviceId updated
- try {
- sleep(SLEEP_MS);
- } catch (InterruptedException e) {
- log.error("Failed to install security group default rules.");
- }
+ waitFor(5);
resetSecurityGroupRulesByNode(node);
}