CORD-380 Added host provider for cordvtn service
- Renamed CordVtnConfigManager to CordVtnNodeManager
- Moved all node bootstrap logic to CordVtnNodeManager
- CordVtnService now provides VM add/remove and service dependency create/remove
- Made CordVtn implement HostProvider so that it can inject/eject VM to the system
Change-Id: I0011ac692ecea240d2d7fe48b3e7a1db4973b76e
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeAddCommand.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeAddCommand.java
index 5448ef1..8995314 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeAddCommand.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeAddCommand.java
@@ -21,7 +21,7 @@
import org.onlab.packet.IpAddress;
import org.onlab.packet.TpPort;
import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnService;
+import org.onosproject.cordvtn.CordVtnNodeManager;
import org.onosproject.cordvtn.CordVtnNode;
import org.onosproject.net.DeviceId;
@@ -63,7 +63,7 @@
checkArgument(ovsdb.contains(":"), "OVSDB address should be ip:port format");
checkArgument(bridgeId.startsWith("of:"), "bridgeId should be of:dpid format");
- CordVtnService service = AbstractShellCommand.get(CordVtnService.class);
+ CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
String[] ipPort = ovsdb.split(":");
CordVtnNode node = new CordVtnNode(hostname,
IpAddress.valueOf(ipPort[0]),
@@ -71,6 +71,6 @@
DeviceId.deviceId(bridgeId),
phyPortName,
IpAddress.valueOf(localIp));
- service.addNode(node);
+ nodeManager.addNode(node);
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java
index 185acd7..f8afbd9 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java
@@ -20,7 +20,7 @@
import org.apache.karaf.shell.commands.Command;
import org.onosproject.cli.AbstractShellCommand;
import org.onosproject.cordvtn.CordVtnNode;
-import org.onosproject.cordvtn.CordVtnService;
+import org.onosproject.cordvtn.CordVtnNodeManager;
/**
* Checks detailed node init state.
@@ -35,8 +35,8 @@
@Override
protected void execute() {
- CordVtnService service = AbstractShellCommand.get(CordVtnService.class);
- CordVtnNode node = service.getNodes()
+ CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
+ CordVtnNode node = nodeManager.getNodes()
.stream()
.filter(n -> n.hostname().equals(hostname))
.findFirst()
@@ -47,6 +47,6 @@
return;
}
- print(service.checkNodeInitState(node));
+ print(nodeManager.checkNodeInitState(node));
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java
index 0446fc6..1bdc84a 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java
@@ -19,7 +19,7 @@
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnService;
+import org.onosproject.cordvtn.CordVtnNodeManager;
import org.onosproject.cordvtn.CordVtnNode;
import java.util.NoSuchElementException;
@@ -37,12 +37,12 @@
@Override
protected void execute() {
- CordVtnService service = AbstractShellCommand.get(CordVtnService.class);
+ CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
for (String hostname : hostnames) {
CordVtnNode node;
try {
- node = service.getNodes()
+ node = nodeManager.getNodes()
.stream()
.filter(n -> n.hostname().equals(hostname))
.findFirst().get();
@@ -51,7 +51,7 @@
continue;
}
- service.deleteNode(node);
+ nodeManager.deleteNode(node);
}
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java
index dd77a9c..ab8b389 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java
@@ -19,7 +19,7 @@
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnService;
+import org.onosproject.cordvtn.CordVtnNodeManager;
import org.onosproject.cordvtn.CordVtnNode;
import java.util.NoSuchElementException;
@@ -37,12 +37,12 @@
@Override
protected void execute() {
- CordVtnService service = AbstractShellCommand.get(CordVtnService.class);
+ CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
for (String hostname : hostnames) {
CordVtnNode node;
try {
- node = service.getNodes()
+ node = nodeManager.getNodes()
.stream()
.filter(n -> n.hostname().equals(hostname))
.findFirst().get();
@@ -51,7 +51,7 @@
continue;
}
- service.initNode(node);
+ nodeManager.initNode(node);
}
}
}
diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java
index 51641c4..48e1112 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java
@@ -21,7 +21,7 @@
import com.fasterxml.jackson.databind.node.ArrayNode;
import org.apache.karaf.shell.commands.Command;
import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnService;
+import org.onosproject.cordvtn.CordVtnNodeManager;
import org.onosproject.cordvtn.CordVtnNode;
import java.util.Collections;
@@ -36,12 +36,12 @@
@Override
protected void execute() {
- CordVtnService service = AbstractShellCommand.get(CordVtnService.class);
- List<CordVtnNode> nodes = service.getNodes();
+ CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
+ List<CordVtnNode> nodes = nodeManager.getNodes();
Collections.sort(nodes, CordVtnNode.CORDVTN_NODE_COMPARATOR);
if (outputJson()) {
- print("%s", json(service, nodes));
+ print("%s", json(nodeManager, nodes));
} else {
for (CordVtnNode node : nodes) {
print("hostname=%s, ovsdb=%s, br-int=%s, phyPort=%s, localIp=%s, init=%s",
@@ -50,13 +50,13 @@
node.intBrId().toString(),
node.phyPortName(),
node.localIp().toString(),
- getState(service, node));
+ getState(nodeManager, node));
}
- print("Total %s nodes", service.getNodeCount());
+ print("Total %s nodes", nodeManager.getNodeCount());
}
}
- private JsonNode json(CordVtnService service, List<CordVtnNode> nodes) {
+ private JsonNode json(CordVtnNodeManager nodeManager, List<CordVtnNode> nodes) {
ObjectMapper mapper = new ObjectMapper();
ArrayNode result = mapper.createArrayNode();
for (CordVtnNode node : nodes) {
@@ -67,12 +67,12 @@
.put("brInt", node.intBrId().toString())
.put("phyPort", node.phyPortName())
.put("localIp", node.localIp().toString())
- .put("init", getState(service, node)));
+ .put("init", getState(nodeManager, node)));
}
return result;
}
- private String getState(CordVtnService service, CordVtnNode node) {
- return service.getNodeInitState(node) ? "COMPLETE" : "INCOMPLETE";
+ private String getState(CordVtnNodeManager nodeManager, CordVtnNode node) {
+ return nodeManager.getNodeInitState(node) ? "COMPLETE" : "INCOMPLETE";
}
}