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;
     }
 }