CORD-414 Editing hash groups buckets in the OF-DPA driver instead of
creating new groups.
Also in this commit - fix for NPE in groups cli, and removal of unnecessary
cpqd-ofdpa3 driver.

Change-Id: I2a5dd183cb38ed901caa5a806791b77e9d92d93c
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOfdpa2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOfdpa2Pipeline.java
index ad53d71..ff2d720 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOfdpa2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/CpqdOfdpa2Pipeline.java
@@ -238,8 +238,8 @@
     }
 
     /*
-     * Cpqd emulation does not require the non-OF standard rules for
-     * matching untagged packets.
+     * Cpqd emulation does not require the non OF-standard rules for
+     * matching untagged packets that ofdpa uses.
      *
      * (non-Javadoc)
      * @see org.onosproject.driver.pipeline.OFDPA2Pipeline#processVlanIdFilter
@@ -510,7 +510,8 @@
                 // we only need the top level group's key to point the flow to it
                 Group group = groupService.getGroup(deviceId, gkeys.get(0).peekFirst());
                 if (group == null) {
-                    log.warn("The group left!");
+                    log.warn("Group with key:{} for next-id:{} not found in dev:{}",
+                             gkeys.get(0).peekFirst(), fwd.nextId(), deviceId);
                     fail(fwd, ObjectiveError.GROUPMISSING);
                     return Collections.emptySet();
                 }
@@ -549,7 +550,6 @@
             flowRuleCollection.add(rule.build());
             log.debug("Default rule 0.0.0.0/0 is being installed two rules");
         }
-
         return flowRuleCollection;
     }