CORD-160 Add connect and disconnect methods to ovsdb

Change-Id: I66e777f8ec9c5834e27b1dc685fdeb197e30ce0d
diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java
index ab88a24..c5f2092 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java
@@ -228,4 +228,9 @@
      * @return ovsdb ports
      */
     Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids);
+
+    /**
+     * Disconnects the ovsdb server.
+     */
+    void disconnect();
 }
diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java
index 9e24524..24bfeae 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java
@@ -15,6 +15,9 @@
  */
 package org.onosproject.ovsdb.controller;
 
+import org.onlab.packet.IpAddress;
+import org.onlab.packet.TpPort;
+
 import java.util.List;
 
 /**
@@ -65,4 +68,12 @@
      * @return OvsdbClient ovsdb node information
      */
     OvsdbClientService getOvsdbClient(OvsdbNodeId nodeId);
+
+    /**
+     * Connect to the ovsdb server with given ip address and port number.
+     *
+     * @param ip ip address
+     * @param port port number
+     */
+    void connect(IpAddress ip, TpPort port);
 }
diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java
index 0c64cc0..1b41be9 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java
@@ -821,7 +821,7 @@
             Function<JsonNode, DatabaseSchema> rowFunction = new Function<JsonNode, DatabaseSchema>() {
                 @Override
                 public DatabaseSchema apply(JsonNode input) {
-                    log.info("Get ovsdb database schema", dbName);
+                    log.info("Get ovsdb database schema {}", dbName);
                     DatabaseSchema dbSchema = FromJsonUtil
                             .jsonNodeToDbSchema(dbName, input);
                     if (dbSchema == null) {
@@ -1185,4 +1185,10 @@
         }
         return ifaceid;
     }
+
+    @Override
+    public void disconnect() {
+        channel.disconnect();
+        this.agent.removeConnectedNode(nodeId);
+    }
 }