Refactor: remove verbose logging message at openstack networking

Change-Id: Ibe089023ff0c4df4b45476227c69ad2c80417002
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackGroupRuleManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackGroupRuleManager.java
index e3af2c1..1f2ae55 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackGroupRuleManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackGroupRuleManager.java
@@ -19,6 +19,7 @@
 import org.onosproject.core.CoreService;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.group.DefaultGroupDescription;
+import org.onosproject.net.group.Group;
 import org.onosproject.net.group.GroupBucket;
 import org.onosproject.net.group.GroupBuckets;
 import org.onosproject.net.group.GroupDescription;
@@ -64,14 +65,19 @@
     public void setRule(ApplicationId appId, DeviceId deviceId, int groupId,
                         GroupDescription.Type type, List<GroupBucket> buckets,
                         boolean install) {
+        Group group = groupService.getGroup(deviceId, getGroupKey(groupId));
         if (install) {
-            GroupDescription groupDesc = new DefaultGroupDescription(deviceId,
-                    type, new GroupBuckets(buckets), getGroupKey(groupId), groupId, appId);
-            groupService.addGroup(groupDesc);
-            log.info("Adding group rule {}", groupId);
+            if (group == null) {
+                GroupDescription groupDesc = new DefaultGroupDescription(deviceId,
+                        type, new GroupBuckets(buckets), getGroupKey(groupId), groupId, appId);
+                groupService.addGroup(groupDesc);
+                log.debug("Adding group table rule {}", groupId);
+            }
         } else {
-            groupService.removeGroup(deviceId, getGroupKey(groupId), appId);
-            log.info("Removing group rule {}", groupId);
+            if (group != null) {
+                groupService.removeGroup(deviceId, getGroupKey(groupId), appId);
+                log.debug("Removing group table rule {}", groupId);
+            }
         }
     }
 
@@ -83,14 +89,22 @@
     @Override
     public void setBuckets(ApplicationId appId, DeviceId deviceId,
                            int groupId, List<GroupBucket> buckets, boolean install) {
+        if (!hasGroup(deviceId, groupId)) {
+            return;
+        }
         if (install) {
-            groupService.addBucketsToGroup(deviceId, getGroupKey(groupId),
-                    new GroupBuckets(buckets), getGroupKey(groupId), appId);
-            log.info("Adding buckets for group rule {}", groupId);
+            // we add the buckets into the group, only if the buckets do not exist
+            // in the given group
+            Group group = groupService.getGroup(deviceId, getGroupKey(groupId));
+            if (group.buckets() != null && !group.buckets().buckets().containsAll(buckets)) {
+                groupService.addBucketsToGroup(deviceId, getGroupKey(groupId),
+                        new GroupBuckets(buckets), getGroupKey(groupId), appId);
+                log.debug("Adding buckets for group rule {}", groupId);
+            }
         } else {
             groupService.removeBucketsFromGroup(deviceId, getGroupKey(groupId),
                     new GroupBuckets(buckets), getGroupKey(groupId), appId);
-            log.info("Removing buckets for group rule {}", groupId);
+            log.debug("Removing buckets for group rule {}", groupId);
         }
     }
 
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java
index 420846d..b5413af 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackMetadataProxyHandler.java
@@ -544,7 +544,7 @@
 
             String method = oldRequest.getRequestLine().getMethod().toUpperCase();
 
-            log.info("Sending HTTP {} request to metadata endpoint {}...", method, url);
+            log.debug("Sending HTTP {} request to metadata endpoint {}...", method, url);
 
             switch (method) {
                 case HTTP_POST_METHOD:
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
index 4a8dc7c..b3c1a1f 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingSnatHandler.java
@@ -828,7 +828,7 @@
 
         IpAddress natAddress = externalGatewayIpSnatEnabled(osRouter.get(), osNetworkAdminService);
         if (natAddress == null) {
-            log.warn("NAT address is not found");
+            log.debug("NAT address is not found");
             return;
         }