Chaging some log levels for better packet tracing
Adding flows and groups informations on:
- flow-add-failed
- failed-to-add-flows-will-attempt-deletion

Change-Id: I5b0e124f617b41590173ee9cb2dc8d31de5aff16
diff --git a/VERSION b/VERSION
index 79a6144..59aa62c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.4.4
+2.4.5
diff --git a/rw_core/core/device/logical_agent.go b/rw_core/core/device/logical_agent.go
index 7abd8f2..6e11e84 100644
--- a/rw_core/core/device/logical_agent.go
+++ b/rw_core/core/device/logical_agent.go
@@ -230,7 +230,13 @@
 			defer cancel()
 			start := time.Now()
 			if err := agent.deviceMgr.addFlowsAndGroups(subCtx, deviceId, value.ListFlows(), value.ListGroups(), flowMetadata); err != nil {
-				logger.Errorw("flow-add-failed", log.Fields{"deviceID": deviceId, "error": err, "wait-time": time.Since(start)})
+				logger.Errorw("flow-add-failed", log.Fields{
+					"deviceID":  deviceId,
+					"error":     err,
+					"wait-time": time.Since(start),
+					"flows":     value.ListFlows(),
+					"groups":    value.ListGroups(),
+				})
 				response.Error(status.Errorf(codes.Internal, "flow-add-failed: %s", deviceId))
 			}
 			response.Done()
@@ -318,10 +324,12 @@
 }
 
 func (agent *LogicalAgent) packetOut(ctx context.Context, packet *ofp.OfpPacketOut) {
-	logger.Debugw("packet-out", log.Fields{
-		"packet": hex.EncodeToString(packet.Data),
-		"inPort": packet.GetInPort(),
-	})
+	if logger.V(log.InfoLevel) {
+		logger.Infow("packet-out", log.Fields{
+			"packet": hex.EncodeToString(packet.Data),
+			"inPort": packet.GetInPort(),
+		})
+	}
 	outPort := fu.GetPacketOutPort(packet)
 	//frame := packet.GetData()
 	//TODO: Use a channel between the logical agent and the device agent
@@ -331,11 +339,13 @@
 }
 
 func (agent *LogicalAgent) packetIn(port uint32, transactionID string, packet []byte) {
-	logger.Debugw("packet-in", log.Fields{
-		"port":          port,
-		"packet":        hex.EncodeToString(packet),
-		"transactionId": transactionID,
-	})
+	if logger.V(log.InfoLevel) {
+		logger.Infow("packet-in", log.Fields{
+			"port":          port,
+			"packet":        hex.EncodeToString(packet),
+			"transactionId": transactionID,
+		})
+	}
 	packetIn := fu.MkPacketIn(port, packet)
 	agent.ldeviceMgr.SendPacketIn(agent.logicalDeviceID, transactionID, packetIn)
 	logger.Debugw("sending-packet-in", log.Fields{"packet": hex.EncodeToString(packetIn.Data)})
diff --git a/rw_core/core/device/logical_agent_flow.go b/rw_core/core/device/logical_agent_flow.go
index 92ba4a2..3679201 100644
--- a/rw_core/core/device/logical_agent_flow.go
+++ b/rw_core/core/device/logical_agent_flow.go
@@ -168,10 +168,20 @@
 		go func() {
 			// Wait for completion
 			if res := coreutils.WaitForNilOrErrorResponses(agent.defaultTimeout, respChannels...); res != nil {
-				logger.Infow("failed-to-add-flows-will-attempt-deletion", log.Fields{"errors": res, "logical-device-id": agent.logicalDeviceID})
+				logger.Infow("failed-to-add-flows-will-attempt-deletion", log.Fields{
+					"errors":            res,
+					"logical-device-id": agent.logicalDeviceID,
+					"flows":             flows,
+					"groups":            groups,
+				})
 				// Revert added flows
 				if err := agent.revertAddedFlows(context.Background(), mod, flow, flowToReplace, deviceRules, toMetadata(flowMeterConfig)); err != nil {
-					logger.Errorw("failure-to-delete-flows-after-failed-addition", log.Fields{"logical-device-id": agent.logicalDeviceID, "error": err})
+					logger.Errorw("failure-to-delete-flows-after-failed-addition", log.Fields{
+						"error":             err,
+						"logical-device-id": agent.logicalDeviceID,
+						"flows":             flows,
+						"groups":            groups,
+					})
 				}
 			}
 		}()