Refactor external peer router store, fix NPE due to MAC is not ready

Change-Id: Id0381d9d1d7e0888dfbf1fc20acdd44d0a303e4c
diff --git a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkStore.java b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkStore.java
index a584044..f4a5c4c 100644
--- a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkStore.java
+++ b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkStore.java
@@ -140,6 +140,43 @@
     Set<Port> ports();
 
     /**
+     * Returns external peer router with the given IP address.
+     *
+     * @param ipAddress IP address
+     * @return external peer router
+     */
+    ExternalPeerRouter externalPeerRouter(String ipAddress);
+
+    /**
+     * Returns all external peer routers.
+     *
+     * @return set of external peer routers
+     */
+    Set<ExternalPeerRouter> externalPeerRouters();
+
+    /**
+     * Creates a new external peer router.
+     *
+     * @param peerRouter the new external peer router
+     */
+    void createExternalPeerRouter(ExternalPeerRouter peerRouter);
+
+    /**
+     * Updates an existing external peer router.
+     *
+     * @param peerRouter the updated external peer router
+     */
+    void updateExternalPeerRouter(ExternalPeerRouter peerRouter);
+
+    /**
+     * Removes an existing external peer router with the given IP address.
+     *
+     * @param ipAddress IP address
+     * @return removed external peer router
+     */
+    ExternalPeerRouter removeExternalPeerRouter(String ipAddress);
+
+    /**
      * Removes the existing network and ports.
      */
     void clear();