CORD-524 Added a state to set data plane IP to br-int
Added new config fields
- SSH port, user, private key file
- localManagementIp for connection b/w a compute node and VM
Renamed some config fields and methods
- phyPortName is changed to dataPlaneIntf
- localIp is changed to dataPlaneIp
- ovsdbIp is changed to hostManagementIp and it is used to SSH as well
- checkXXX methods with boolean return are renamed to isXXX
Removed unnecessary OVSDB_CONNECTED state
Removed cordvtn-node-add CLI due to too many arguments
Change-Id: If5efb65fc58bfa8a10767047f01598dc2ac02a04
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
deleted file mode 100644
index 8995314..0000000
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeAddCommand.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.cordvtn.cli;
-
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.TpPort;
-import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnNodeManager;
-import org.onosproject.cordvtn.CordVtnNode;
-import org.onosproject.net.DeviceId;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-/**
- * Adds a new node to the service.
- */
-@Command(scope = "onos", name = "cordvtn-node-add",
- description = "Adds a new node to CORD VTN service")
-public class CordVtnNodeAddCommand extends AbstractShellCommand {
-
- @Argument(index = 0, name = "hostname", description = "Hostname",
- required = true, multiValued = false)
- private String hostname = null;
-
- @Argument(index = 1, name = "ovsdb",
- description = "OVSDB server listening address (ip:port)",
- required = true, multiValued = false)
- private String ovsdb = null;
-
- @Argument(index = 2, name = "bridgeId",
- description = "Device ID of integration bridge",
- required = true, multiValued = false)
- private String bridgeId = null;
-
- @Argument(index = 3, name = "phyPortName",
- description = "Physical port name",
- required = true, multiValued = false)
- private String phyPortName = null;
-
- @Argument(index = 4, name = "localIp",
- description = "Local data plane IP address",
- required = true, multiValued = false)
- private String localIp = null;
-
- @Override
- protected void execute() {
- checkArgument(ovsdb.contains(":"), "OVSDB address should be ip:port format");
- checkArgument(bridgeId.startsWith("of:"), "bridgeId should be of:dpid format");
-
- CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
- String[] ipPort = ovsdb.split(":");
- CordVtnNode node = new CordVtnNode(hostname,
- IpAddress.valueOf(ipPort[0]),
- TpPort.tpPort(Integer.parseInt(ipPort[1])),
- DeviceId.deviceId(bridgeId),
- phyPortName,
- IpAddress.valueOf(localIp));
- nodeManager.addNode(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 48e1112..407572a 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
@@ -34,6 +34,9 @@
description = "Lists all nodes registered in CORD VTN service")
public class CordVtnNodeListCommand extends AbstractShellCommand {
+ private static final String COMPLETE = "COMPLETE";
+ private static final String INCOMPLETE = "INCOMPLETE";
+
@Override
protected void execute() {
CordVtnNodeManager nodeManager = AbstractShellCommand.get(CordVtnNodeManager.class);
@@ -44,12 +47,12 @@
print("%s", json(nodeManager, nodes));
} else {
for (CordVtnNode node : nodes) {
- print("hostname=%s, ovsdb=%s, br-int=%s, phyPort=%s, localIp=%s, init=%s",
+ print("hostname=%s, hostMgmtIp=%s, dpIp=%s, br-int=%s, dpIntf=%s, init=%s",
node.hostname(),
- node.ovsdbIp().toString() + ":" + node.ovsdbPort().toString(),
+ node.hostMgmtIp().cidr(),
+ node.dpIp().cidr(),
node.intBrId().toString(),
- node.phyPortName(),
- node.localIp().toString(),
+ node.dpIntf(),
getState(nodeManager, node));
}
print("Total %s nodes", nodeManager.getNodeCount());
@@ -60,19 +63,18 @@
ObjectMapper mapper = new ObjectMapper();
ArrayNode result = mapper.createArrayNode();
for (CordVtnNode node : nodes) {
- String ipPort = node.ovsdbIp().toString() + ":" + node.ovsdbPort().toString();
result.add(mapper.createObjectNode()
.put("hostname", node.hostname())
- .put("ovsdb", ipPort)
- .put("brInt", node.intBrId().toString())
- .put("phyPort", node.phyPortName())
- .put("localIp", node.localIp().toString())
+ .put("hostManagementIp", node.hostMgmtIp().cidr())
+ .put("dataPlaneIp", node.dpIp().cidr())
+ .put("bridgeId", node.intBrId().toString())
+ .put("dataPlaneInterface", node.dpIntf())
.put("init", getState(nodeManager, node)));
}
return result;
}
private String getState(CordVtnNodeManager nodeManager, CordVtnNode node) {
- return nodeManager.getNodeInitState(node) ? "COMPLETE" : "INCOMPLETE";
+ return nodeManager.isNodeInitComplete(node) ? COMPLETE : INCOMPLETE;
}
}