Fix: refer to services inside each method to avoid SNF exception
Change-Id: I5b668224962874948b0670cb698be1736ddf4e58
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtManagementWebResource.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtManagementWebResource.java
index a1587a5..043899f 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtManagementWebResource.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtManagementWebResource.java
@@ -42,9 +42,6 @@
private static final long SLEEP_MS = 5000; // we wait 5s for init each node
private static final long TIMEOUT_MS = 10000; // we wait 10s
- private final KubevirtNodeAdminService nodeAdminService =
- get(KubevirtNodeAdminService.class);
-
/**
* Synchronizes the flow rules.
*
@@ -55,18 +52,21 @@
@Path("sync/rules")
public Response syncRules() {
- nodeAdminService.completeNodes(WORKER).forEach(this::syncRulesBase);
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+
+ service.completeNodes(WORKER).forEach(this::syncRulesBase);
return ok(mapper().createObjectNode()).build();
}
private void syncRulesBase(KubevirtNode node) {
KubevirtNode updated = node.updateState(INIT);
- nodeAdminService.updateNode(updated);
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+ service.updateNode(updated);
boolean result = true;
long timeoutExpiredMs = System.currentTimeMillis() + TIMEOUT_MS;
- while (nodeAdminService.node(node.hostname()).state() != COMPLETE) {
+ while (service.node(node.hostname()).state() != COMPLETE) {
long waitMs = timeoutExpiredMs - System.currentTimeMillis();
@@ -76,10 +76,10 @@
log.error("Exception caused during node synchronization...");
}
- if (nodeAdminService.node(node.hostname()).state() == COMPLETE) {
+ if (service.node(node.hostname()).state() == COMPLETE) {
break;
} else {
- nodeAdminService.updateNode(updated);
+ service.updateNode(updated);
log.info("Failed to synchronize flow rules, retrying...");
}
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtNetworkWebResource.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtNetworkWebResource.java
index 8ab531f..4e8f5df 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtNetworkWebResource.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/web/KubevirtNetworkWebResource.java
@@ -55,9 +55,6 @@
private static final String RESULT = "result";
- private final KubevirtNetworkAdminService adminService =
- get(KubevirtNetworkAdminService.class);
-
/**
* Creates a network from the JSON input stream.
*
@@ -71,13 +68,14 @@
@Produces(MediaType.APPLICATION_JSON)
public Response createNetwork(InputStream input) {
log.trace(String.format(MESSAGE, "CREATE"));
+ KubevirtNetworkAdminService service = get(KubevirtNetworkAdminService.class);
URI location;
try {
ObjectNode jsonTree = readTreeFromStream(mapper(), input);
final KubevirtNetwork network =
codec(KubevirtNetwork.class).decode(jsonTree, this);
- adminService.createNetwork(network);
+ service.createNetwork(network);
location = new URI(network.networkId());
} catch (IOException | URISyntaxException e) {
throw new IllegalArgumentException(e);
@@ -101,6 +99,7 @@
@Produces(MediaType.APPLICATION_JSON)
public Response updateNetwork(@PathParam("id") String id, InputStream input) {
log.trace(String.format(MESSAGE, "UPDATED"));
+ KubevirtNetworkAdminService service = get(KubevirtNetworkAdminService.class);
try {
ObjectNode jsonTree = readTreeFromStream(mapper(), input);
@@ -112,7 +111,7 @@
final KubevirtNetwork network =
codec(KubevirtNetwork.class).decode(jsonTree, this);
- adminService.updateNetwork(network);
+ service.updateNetwork(network);
} catch (IOException e) {
throw new IllegalArgumentException(e);
}
@@ -130,8 +129,9 @@
@Path("{id}")
public Response removeNetwork(@PathParam("id") String id) {
log.trace(String.format(MESSAGE, "DELETE " + id));
+ KubevirtNetworkAdminService service = get(KubevirtNetworkAdminService.class);
- adminService.removeNetwork(id);
+ service.removeNetwork(id);
return Response.noContent().build();
}
@@ -146,8 +146,10 @@
public Response hasNetwork(@PathParam("id") String id) {
log.trace(String.format(MESSAGE, "QUERY " + id));
+ KubevirtNetworkAdminService service = get(KubevirtNetworkAdminService.class);
+
ObjectNode root = mapper().createObjectNode();
- KubevirtNetwork network = adminService.network(id);
+ KubevirtNetwork network = service.network(id);
if (network == null) {
root.put(RESULT, false);
@@ -167,7 +169,8 @@
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getNetworks() {
- final Iterable<KubevirtNetwork> networks = adminService.networks();
+ KubevirtNetworkAdminService service = get(KubevirtNetworkAdminService.class);
+ final Iterable<KubevirtNetwork> networks = service.networks();
return ok(encodeArray(KubevirtNetwork.class, "networks", networks)).build();
}
@@ -182,7 +185,8 @@
@Produces(MediaType.APPLICATION_JSON)
@Path("{id}")
public Response getNetworkById(@PathParam("id") String id) {
- final KubevirtNetwork network = nullIsNotFound(adminService.network(id),
+ KubevirtNetworkAdminService service = get(KubevirtNetworkAdminService.class);
+ final KubevirtNetwork network = nullIsNotFound(service.network(id),
NETWORK_NOT_FOUND + id);
return ok(codec(KubevirtNetwork.class).encode(network, this)).build();
}
diff --git a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtApiConfigWebResource.java b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtApiConfigWebResource.java
index 1c6985b..e468ce3 100644
--- a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtApiConfigWebResource.java
+++ b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtApiConfigWebResource.java
@@ -60,8 +60,6 @@
private static final String ENDPOINT = "endpoint";
private static final String ERROR_MESSAGE = " cannot be null";
- private final KubevirtApiConfigAdminService service = get(KubevirtApiConfigAdminService.class);
-
@Context
private UriInfo uriInfo;
@@ -80,6 +78,8 @@
log.trace(String.format(MESSAGE_CONFIG, CREATE));
KubevirtApiConfig config = readApiConfig(input);
+ KubevirtApiConfigAdminService service = get(KubevirtApiConfigAdminService.class);
+
if (config != null) {
service.createApiConfig(config);
}
@@ -103,6 +103,7 @@
public Response deleteApiConfig(@PathParam("endpoint") String endpoint) {
log.trace(String.format(MESSAGE_CONFIG, REMOVE));
+ KubevirtApiConfigAdminService service = get(KubevirtApiConfigAdminService.class);
KubevirtApiConfig existing = service.apiConfig();
if (existing == null) {
diff --git a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtNodeWebResource.java b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtNodeWebResource.java
index 137fc11..c28bc94 100644
--- a/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtNodeWebResource.java
+++ b/apps/kubevirt-node/app/src/main/java/org/onosproject/kubevirtnode/web/KubevirtNodeWebResource.java
@@ -70,8 +70,6 @@
private static final String HOST_NAME = "hostname";
private static final String ERROR_MESSAGE = " cannot be null";
- private final KubevirtNodeAdminService nodeAdminService = get(KubevirtNodeAdminService.class);
-
@Context
private UriInfo uriInfo;
@@ -89,10 +87,12 @@
public Response createNodes(InputStream input) {
log.trace(String.format(MESSAGE_NODE, CREATE));
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+
readNodeConfiguration(input).forEach(node -> {
- KubevirtNode existing = nodeAdminService.node(node.hostname());
+ KubevirtNode existing = service.node(node.hostname());
if (existing == null) {
- nodeAdminService.createNode(node);
+ service.createNode(node);
}
});
@@ -117,14 +117,15 @@
public Response updateNodes(InputStream input) {
log.trace(String.format(MESSAGE_NODE, UPDATE));
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
Set<KubevirtNode> nodes = readNodeConfiguration(input);
for (KubevirtNode node: nodes) {
- KubevirtNode existing = nodeAdminService.node(node.hostname());
+ KubevirtNode existing = service.node(node.hostname());
if (existing == null) {
log.warn("There is no node configuration to update : {}", node.hostname());
return Response.notModified().build();
} else if (!existing.equals(node)) {
- nodeAdminService.updateNode(node);
+ service.updateNode(node);
}
}
@@ -145,14 +146,15 @@
public Response deleteNode(@PathParam("hostname") String hostname) {
log.trace(String.format(MESSAGE_NODE, REMOVE));
- KubevirtNode existing = nodeAdminService.node(
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+ KubevirtNode existing = service.node(
nullIsIllegal(hostname, HOST_NAME + ERROR_MESSAGE));
if (existing == null) {
log.warn("There is no node configuration to delete : {}", hostname);
return Response.notModified().build();
} else {
- nodeAdminService.removeNode(hostname);
+ service.removeNode(hostname);
}
return Response.noContent().build();
@@ -170,7 +172,8 @@
public Response stateOfNode(@PathParam("hostname") String hostname) {
log.trace(String.format(MESSAGE_NODE, QUERY));
- KubevirtNode node = nodeAdminService.node(hostname);
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+ KubevirtNode node = service.node(hostname);
String nodeState = node != null ? node.state().toString() : NOT_EXIST;
return ok(mapper().createObjectNode().put(STATE, nodeState)).build();
@@ -188,13 +191,14 @@
public Response initNode(@PathParam("hostname") String hostname) {
log.trace(String.format(MESSAGE_NODE, QUERY));
- KubevirtNode node = nodeAdminService.node(hostname);
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+ KubevirtNode node = service.node(hostname);
if (node == null) {
log.error("Given node {} does not exist", hostname);
return Response.serverError().build();
}
KubevirtNode updated = node.updateState(KubevirtNodeState.INIT);
- nodeAdminService.updateNode(updated);
+ service.updateNode(updated);
return ok(mapper().createObjectNode()).build();
}
@@ -209,10 +213,12 @@
public Response initAllNodes() {
log.trace(String.format(MESSAGE_NODE, QUERY));
- nodeAdminService.nodes()
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+
+ service.nodes()
.forEach(n -> {
KubevirtNode updated = n.updateState(KubevirtNodeState.INIT);
- nodeAdminService.updateNode(updated);
+ service.updateNode(updated);
});
return ok(mapper().createObjectNode()).build();
@@ -229,11 +235,12 @@
public Response initIncompleteNodes() {
log.trace(String.format(MESSAGE_NODE, QUERY));
- nodeAdminService.nodes().stream()
+ KubevirtNodeAdminService service = get(KubevirtNodeAdminService.class);
+ service.nodes().stream()
.filter(n -> n.state() != KubevirtNodeState.COMPLETE)
.forEach(n -> {
KubevirtNode updated = n.updateState(KubevirtNodeState.INIT);
- nodeAdminService.updateNode(updated);
+ service.updateNode(updated);
});
return ok(mapper().createObjectNode()).build();