[Goldeneye] CORD-568 Ensure location transparency of node init operation

- Added MapListener for cordvtn node store and made the init process to be
  triggered by map event, so that the leader can do its job regardless of
  the location where node init CLI command happens
- Fixed equals and hashCode override to use all node attributes except for
  the node init state
- Adjusted some log levels

Change-Id: I45688afa60de3516d91132e8a6c49cf90c4dcae4
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnNode.java b/src/main/java/org/onosproject/cordvtn/CordVtnNode.java
index 303c927..0dcf11b 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnNode.java
+++ b/src/main/java/org/onosproject/cordvtn/CordVtnNode.java
@@ -181,11 +181,16 @@
             return true;
         }
 
-        // hostname here is a network hostname and it is intended to be
-        // unique throughout the service.
         if (obj instanceof CordVtnNode) {
             CordVtnNode that = (CordVtnNode) obj;
-            if (Objects.equals(hostname, that.hostname)) {
+            if (Objects.equals(hostname, that.hostname) &&
+                    Objects.equals(hostMgmtIp, that.hostMgmtIp) &&
+                    Objects.equals(localMgmtIp, that.localMgmtIp) &&
+                    Objects.equals(dpIp, that.dpIp) &&
+                    Objects.equals(ovsdbPort, that.ovsdbPort) &&
+                    Objects.equals(sshInfo, that.sshInfo) &&
+                    Objects.equals(bridgeId, that.bridgeId) &&
+                    Objects.equals(dpIntf, that.dpIntf)) {
                 return true;
             }
         }
@@ -194,7 +199,8 @@
 
     @Override
     public int hashCode() {
-        return Objects.hash(hostname);
+        return Objects.hash(hostname, hostMgmtIp, localMgmtIp, dpIp,
+                            ovsdbPort, sshInfo, bridgeId, dpIntf);
     }
 
     @Override