Add endpoint attribute to openstack controller node

Change-Id: I8f8a13964f6025e2e9ce0f2f0ff493b72c7c3b28
diff --git a/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeCodecTest.java b/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeCodecTest.java
index 5019234..da4680c 100644
--- a/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeCodecTest.java
+++ b/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeCodecTest.java
@@ -155,6 +155,7 @@
                 .type(OpenstackNode.NodeType.CONTROLLER)
                 .state(NodeState.INIT)
                 .managementIp(IpAddress.valueOf("172.16.130.10"))
+                .endPoint("keystone-end-point-url")
                 .authentication(auth)
                 .build();
 
@@ -172,6 +173,7 @@
         assertThat(node.hostname(), is("controller"));
         assertThat(node.type().name(), is("CONTROLLER"));
         assertThat(node.managementIp().toString(), is("172.16.130.10"));
+        assertThat(node.endPoint(), is("keystone-end-point-url"));
 
         OpenstackAuth auth = node.authentication();
 
diff --git a/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeJsonMatcher.java b/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeJsonMatcher.java
index ac1d471..603edac 100644
--- a/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeJsonMatcher.java
+++ b/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/codec/OpenstackNodeJsonMatcher.java
@@ -37,6 +37,7 @@
     private static final String STATE = "state";
     private static final String PHYSICAL_INTERFACES = "phyIntfs";
     private static final String AUTHENTICATION = "authentication";
+    private static final String END_POINT = "endPoint";
 
     private OpenstackNodeJsonMatcher(OpenstackNode node) {
         this.node = node;
@@ -117,6 +118,16 @@
             }
         }
 
+        // check endpoint URL
+        JsonNode jsonEndPoint = jsonNode.get(END_POINT);
+        if (jsonEndPoint != null) {
+            String endPoint = node.endPoint();
+            if (!jsonEndPoint.asText().equals(endPoint)) {
+                description.appendText("endpoint URL was " + jsonEndPoint);
+                return false;
+            }
+        }
+
         // check physical interfaces
         JsonNode jsonPhyIntfs = jsonNode.get(PHYSICAL_INTERFACES);
         if (jsonPhyIntfs != null) {
diff --git a/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandlerTest.java b/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandlerTest.java
index ff59237..b07044f 100644
--- a/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandlerTest.java
+++ b/apps/openstacknode/app/src/test/java/org/onosproject/openstacknode/impl/DefaultOpenstackNodeHandlerTest.java
@@ -408,7 +408,7 @@
                 intgBridge.id(),
                 ipAddr,
                 ipAddr,
-                null, null, state, phyIntfs, null);
+                null, null, state, phyIntfs, null, null);
     }
 
     private static OpenstackNode createGatewayNode(String hostname,
@@ -423,7 +423,7 @@
                 intgBridge.id(),
                 ipAddr,
                 ipAddr,
-                null, uplinkPort, state, null, null);
+                null, uplinkPort, state, null, null, null);
     }
 
     private static final class TestDevice extends DefaultDevice {
@@ -482,7 +482,8 @@
                                   String uplinkPort,
                                   NodeState state,
                                   Set<OpenstackPhyInterface> phyIntfs,
-                                  OpenstackAuth auth) {
+                                  OpenstackAuth auth,
+                                  String endPoint) {
             super(hostname,
                     type,
                     intgBridge,
@@ -492,7 +493,8 @@
                     uplinkPort,
                     state,
                     phyIntfs,
-                    auth);
+                    auth,
+                    endPoint);
         }
 
         @Override