[VOL-4291] OfAgent changes for gRPC migration
Change-Id: I8da1db6df49d478ef24ec8f9bd719e9692f48a7f
diff --git a/internal/pkg/holder/holder.go b/internal/pkg/holder/holder.go
index 60b0785..86300a7 100644
--- a/internal/pkg/holder/holder.go
+++ b/internal/pkg/holder/holder.go
@@ -19,7 +19,7 @@
import (
"sync"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
// VolthaServiceClientHolder provides a consistent (voluntarily unmutable) reference
diff --git a/internal/pkg/mock/voltha_client_mock.go b/internal/pkg/mock/voltha_client_mock.go
index 6bcb155..735c4e4 100644
--- a/internal/pkg/mock/voltha_client_mock.go
+++ b/internal/pkg/mock/voltha_client_mock.go
@@ -20,10 +20,10 @@
"context"
. "github.com/golang/protobuf/ptypes/empty"
- "github.com/opencord/voltha-protos/v4/go/common"
- "github.com/opencord/voltha-protos/v4/go/omci"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- . "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-protos/v5/go/common"
+ "github.com/opencord/voltha-protos/v5/go/omci"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ . "github.com/opencord/voltha-protos/v5/go/voltha"
"google.golang.org/grpc"
)
diff --git a/internal/pkg/ofagent/changeEvent.go b/internal/pkg/ofagent/changeEvent.go
index f9fa98e..6ea7f12 100644
--- a/internal/pkg/ofagent/changeEvent.go
+++ b/internal/pkg/ofagent/changeEvent.go
@@ -24,7 +24,7 @@
"github.com/golang/protobuf/ptypes/empty"
ofp "github.com/opencord/goloxi/of13"
"github.com/opencord/ofagent-go/internal/pkg/openflow"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
"google.golang.org/grpc"
)
@@ -45,7 +45,12 @@
opt := grpc.EmptyCallOption{}
streamCtx, streamDone := context.WithCancel(log.WithSpanFromContext(context.Background(), ctx))
defer streamDone()
- stream, err := ofa.volthaClient.Get().ReceiveChangeEvents(streamCtx, &empty.Empty{}, opt)
+ vc := ofa.volthaClient.Get()
+ if vc == nil {
+ logger.Error(ctx, "No client found to establish Receive Change Event Stream")
+ return
+ }
+ stream, err := vc.ReceiveChangeEvents(streamCtx, &empty.Empty{}, opt)
if err != nil {
logger.Errorw(ctx, "Unable to establish Receive Change Event Stream",
log.Fields{"error": err})
diff --git a/internal/pkg/ofagent/common.go b/internal/pkg/ofagent/common.go
index 9e4b78b..8e826fa 100644
--- a/internal/pkg/ofagent/common.go
+++ b/internal/pkg/ofagent/common.go
@@ -18,7 +18,7 @@
package ofagent
import (
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
var logger log.CLogger
diff --git a/internal/pkg/ofagent/connection.go b/internal/pkg/ofagent/connection.go
index 0589fb9..0b1dab0 100644
--- a/internal/pkg/ofagent/connection.go
+++ b/internal/pkg/ofagent/connection.go
@@ -23,9 +23,9 @@
"github.com/golang/protobuf/ptypes/empty"
grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
grpc_opentracing "github.com/grpc-ecosystem/go-grpc-middleware/tracing/opentracing"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-lib-go/v5/pkg/probe"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/probe"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
"google.golang.org/grpc"
)
diff --git a/internal/pkg/ofagent/ofagent.go b/internal/pkg/ofagent/ofagent.go
index 298911d..efaf39c 100644
--- a/internal/pkg/ofagent/ofagent.go
+++ b/internal/pkg/ofagent/ofagent.go
@@ -23,10 +23,10 @@
"github.com/opencord/ofagent-go/internal/pkg/holder"
"github.com/opencord/ofagent-go/internal/pkg/openflow"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-lib-go/v5/pkg/probe"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/probe"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
"google.golang.org/grpc"
)
diff --git a/internal/pkg/ofagent/packetIn.go b/internal/pkg/ofagent/packetIn.go
index 0b5b604..375e84f 100644
--- a/internal/pkg/ofagent/packetIn.go
+++ b/internal/pkg/ofagent/packetIn.go
@@ -24,9 +24,9 @@
"github.com/opencord/goloxi"
ofp "github.com/opencord/goloxi/of13"
"github.com/opencord/ofagent-go/internal/pkg/openflow"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
"google.golang.org/grpc"
)
@@ -47,7 +47,12 @@
opt := grpc.EmptyCallOption{}
streamCtx, streamDone := context.WithCancel(log.WithSpanFromContext(context.Background(), ctx))
defer streamDone()
- stream, err := ofa.volthaClient.Get().ReceivePacketsIn(streamCtx, &empty.Empty{}, opt)
+ vc := ofa.volthaClient.Get()
+ if vc == nil {
+ logger.Error(ctx, "No client found to establish Receive PacketIn Stream")
+ return
+ }
+ stream, err := vc.ReceivePacketsIn(streamCtx, &empty.Empty{}, opt)
if err != nil {
logger.Errorw(ctx, "Unable to establish Receive PacketIn Stream",
log.Fields{"error": err})
diff --git a/internal/pkg/ofagent/packetOut.go b/internal/pkg/ofagent/packetOut.go
index 6764260..dbb908b 100644
--- a/internal/pkg/ofagent/packetOut.go
+++ b/internal/pkg/ofagent/packetOut.go
@@ -20,7 +20,7 @@
"context"
"encoding/json"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
"google.golang.org/grpc"
)
@@ -40,8 +40,13 @@
}
opt := grpc.EmptyCallOption{}
streamCtx, streamDone := context.WithCancel(context.Background())
- outClient, err := ofa.volthaClient.Get().StreamPacketsOut(log.WithSpanFromContext(streamCtx, ctx), opt)
defer streamDone()
+ vc := ofa.volthaClient.Get()
+ if vc == nil {
+ logger.Error(ctx, "No client found to create packetout stream")
+ return
+ }
+ outClient, err := vc.StreamPacketsOut(log.WithSpanFromContext(streamCtx, ctx), opt)
if err != nil {
logger.Errorw(ctx, "streamPacketOut Error creating packetout stream ", log.Fields{"error": err})
return
diff --git a/internal/pkg/ofagent/refresh.go b/internal/pkg/ofagent/refresh.go
index 69ab0aa..d88d68b 100644
--- a/internal/pkg/ofagent/refresh.go
+++ b/internal/pkg/ofagent/refresh.go
@@ -22,7 +22,7 @@
"github.com/golang/protobuf/ptypes/empty"
"github.com/opencord/ofagent-go/internal/pkg/openflow"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofa *OFAgent) synchronizeDeviceList(ctx context.Context) {
@@ -52,7 +52,13 @@
ofa.events <- ofaEventVolthaDisconnected
return
}
- deviceList, err := ofa.volthaClient.Get().ListLogicalDevices(log.WithSpanFromContext(context.Background(), ctx), &empty.Empty{})
+ vc := ofa.volthaClient.Get()
+ if vc == nil {
+ logger.Error(ctx, "No client found to query device list from voltha")
+ ofa.events <- ofaEventVolthaDisconnected
+ return
+ }
+ deviceList, err := vc.ListLogicalDevices(log.WithSpanFromContext(context.Background(), ctx), &empty.Empty{})
if err != nil {
logger.Errorw(ctx, "ofagent failed to query device list from voltha",
log.Fields{"error": err})
diff --git a/internal/pkg/openflow/barrier.go b/internal/pkg/openflow/barrier.go
index 5a981f3..f5dfc00 100644
--- a/internal/pkg/openflow/barrier.go
+++ b/internal/pkg/openflow/barrier.go
@@ -19,8 +19,9 @@
import (
"context"
"encoding/json"
+
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofc *OFConnection) handleBarrierRequest(ctx context.Context, request *ofp.BarrierRequest) {
diff --git a/internal/pkg/openflow/client.go b/internal/pkg/openflow/client.go
index 0f5bb30..594f307 100644
--- a/internal/pkg/openflow/client.go
+++ b/internal/pkg/openflow/client.go
@@ -24,8 +24,8 @@
ofp "github.com/opencord/goloxi/of13"
"github.com/opencord/ofagent-go/internal/pkg/holder"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
var NoVolthaConnectionError = errors.New("no-voltha-connection")
diff --git a/internal/pkg/openflow/common.go b/internal/pkg/openflow/common.go
index 601a46f..b6f4d81 100644
--- a/internal/pkg/openflow/common.go
+++ b/internal/pkg/openflow/common.go
@@ -18,7 +18,7 @@
package openflow
import (
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
var logger log.CLogger
diff --git a/internal/pkg/openflow/connection.go b/internal/pkg/openflow/connection.go
index de780a0..6dce658 100644
--- a/internal/pkg/openflow/connection.go
+++ b/internal/pkg/openflow/connection.go
@@ -29,8 +29,8 @@
"github.com/opencord/goloxi"
ofp "github.com/opencord/goloxi/of13"
"github.com/opencord/ofagent-go/internal/pkg/holder"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
type OFConnection struct {
diff --git a/internal/pkg/openflow/echo.go b/internal/pkg/openflow/echo.go
index 4eac4a4..4c2768c 100644
--- a/internal/pkg/openflow/echo.go
+++ b/internal/pkg/openflow/echo.go
@@ -19,8 +19,9 @@
import (
"context"
"encoding/json"
+
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofc *OFConnection) handleEchoRequest(ctx context.Context, request *ofp.EchoRequest) {
diff --git a/internal/pkg/openflow/error.go b/internal/pkg/openflow/error.go
index b8dabd0..fe942f5 100644
--- a/internal/pkg/openflow/error.go
+++ b/internal/pkg/openflow/error.go
@@ -19,8 +19,9 @@
import (
"context"
"encoding/json"
+
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofc *OFConnection) handleErrMsg(ctx context.Context, message ofp.IErrorMsg) {
diff --git a/internal/pkg/openflow/feature.go b/internal/pkg/openflow/feature.go
index ee8d900..75b948a 100644
--- a/internal/pkg/openflow/feature.go
+++ b/internal/pkg/openflow/feature.go
@@ -21,8 +21,8 @@
"encoding/json"
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/common"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/common"
)
func (ofc *OFConnection) handleFeatureRequest(ctx context.Context, request *ofp.FeaturesRequest) error {
diff --git a/internal/pkg/openflow/flowMod.go b/internal/pkg/openflow/flowMod.go
index 4f8ab63..fd71798 100644
--- a/internal/pkg/openflow/flowMod.go
+++ b/internal/pkg/openflow/flowMod.go
@@ -20,11 +20,12 @@
"context"
"encoding/binary"
"encoding/json"
- ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- "github.com/opencord/voltha-protos/v4/go/voltha"
"net"
+
+ ofp "github.com/opencord/goloxi/of13"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
var oxmMap = map[string]int32{
@@ -253,12 +254,11 @@
Xid: flowAdd.Xid,
}
if logger.V(log.DebugLevel) {
- flowUpdateJs, _ := json.Marshal(flowUpdate)
- logger.Debugf(ctx, "FlowAdd being sent to Voltha",
+ logger.Debugw(ctx, "FlowAdd being sent to Voltha",
log.Fields{
- "device-id": ofc.DeviceID,
- "flow-mod-object": flowUpdate,
- "flow-mod-request": flowUpdateJs})
+ "device-id": ofc.DeviceID,
+ "flow-mod-object": flowUpdate,
+ })
}
if _, err := volthaClient.UpdateLogicalDeviceFlowTable(log.WithSpanFromContext(context.Background(), ctx), &flowUpdate); err != nil {
logger.Errorw(ctx, "Error calling FlowAdd ",
diff --git a/internal/pkg/openflow/getConfig.go b/internal/pkg/openflow/getConfig.go
index 1eaef75..508815c 100644
--- a/internal/pkg/openflow/getConfig.go
+++ b/internal/pkg/openflow/getConfig.go
@@ -19,8 +19,9 @@
import (
"context"
"encoding/json"
+
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofc *OFConnection) handleGetConfigRequest(ctx context.Context, request *ofp.GetConfigRequest) {
diff --git a/internal/pkg/openflow/group.go b/internal/pkg/openflow/group.go
index 30253c6..ae45ede 100644
--- a/internal/pkg/openflow/group.go
+++ b/internal/pkg/openflow/group.go
@@ -19,11 +19,12 @@
import (
"context"
"fmt"
+
"github.com/opencord/goloxi"
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
func (ofc *OFConnection) handleGroupMod(ctx context.Context, groupMod ofp.IGroupMod) {
diff --git a/internal/pkg/openflow/meter.go b/internal/pkg/openflow/meter.go
index 8600bd4..e4b8566 100644
--- a/internal/pkg/openflow/meter.go
+++ b/internal/pkg/openflow/meter.go
@@ -21,8 +21,8 @@
"unsafe"
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
"golang.org/x/net/context"
)
diff --git a/internal/pkg/openflow/packet.go b/internal/pkg/openflow/packet.go
index c53f3aa..7e7b591 100644
--- a/internal/pkg/openflow/packet.go
+++ b/internal/pkg/openflow/packet.go
@@ -19,9 +19,10 @@
import (
"context"
"encoding/json"
+
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
func (ofc *OFConnection) handlePacketOut(ctx context.Context, packetOut *ofp.PacketOut) {
diff --git a/internal/pkg/openflow/parseGrpcReturn.go b/internal/pkg/openflow/parseGrpcReturn.go
index c434674..67de283 100644
--- a/internal/pkg/openflow/parseGrpcReturn.go
+++ b/internal/pkg/openflow/parseGrpcReturn.go
@@ -21,11 +21,12 @@
"encoding/binary"
"encoding/json"
"fmt"
+
"github.com/opencord/goloxi"
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
)
func parseOxm(ctx context.Context, ofbField *openflow_13.OfpOxmOfbField) (goloxi.IOxm, error) {
diff --git a/internal/pkg/openflow/role.go b/internal/pkg/openflow/role.go
index 8b1f95e..bd72a0c 100644
--- a/internal/pkg/openflow/role.go
+++ b/internal/pkg/openflow/role.go
@@ -19,9 +19,10 @@
import (
"context"
"encoding/json"
+
"github.com/opencord/goloxi"
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofc *OFConnection) handleRoleRequest(ctx context.Context, request *ofp.RoleRequest) {
diff --git a/internal/pkg/openflow/setConfig.go b/internal/pkg/openflow/setConfig.go
index cb54683..353d2bb 100644
--- a/internal/pkg/openflow/setConfig.go
+++ b/internal/pkg/openflow/setConfig.go
@@ -19,8 +19,9 @@
import (
"context"
"encoding/json"
+
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
)
func (ofc *OFConnection) handleSetConfig(ctx context.Context, request *ofp.SetConfig) {
diff --git a/internal/pkg/openflow/stats.go b/internal/pkg/openflow/stats.go
index 6933743..2d97cba 100644
--- a/internal/pkg/openflow/stats.go
+++ b/internal/pkg/openflow/stats.go
@@ -23,9 +23,9 @@
"github.com/opencord/goloxi"
ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-lib-go/v5/pkg/log"
- "github.com/opencord/voltha-protos/v4/go/common"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
+ "github.com/opencord/voltha-lib-go/v7/pkg/log"
+ "github.com/opencord/voltha-protos/v5/go/common"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
)
func (ofc *OFConnection) handleStatsRequest(ctx context.Context, request ofp.IHeader, statType uint16) error {
diff --git a/internal/pkg/openflow/stats_test.go b/internal/pkg/openflow/stats_test.go
index 8c832c2..1663c9b 100644
--- a/internal/pkg/openflow/stats_test.go
+++ b/internal/pkg/openflow/stats_test.go
@@ -26,8 +26,8 @@
"github.com/opencord/goloxi/of13"
"github.com/opencord/ofagent-go/internal/pkg/holder"
"github.com/opencord/ofagent-go/internal/pkg/mock"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
- "github.com/opencord/voltha-protos/v4/go/voltha"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
+ "github.com/opencord/voltha-protos/v5/go/voltha"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/pkg/openflow/utils.go b/internal/pkg/openflow/utils.go
index 36642fa..a6e9f3c 100644
--- a/internal/pkg/openflow/utils.go
+++ b/internal/pkg/openflow/utils.go
@@ -18,11 +18,12 @@
import (
"fmt"
- ofp "github.com/opencord/goloxi/of13"
- "github.com/opencord/voltha-protos/v4/go/openflow_13"
"net"
"strings"
"sync"
+
+ ofp "github.com/opencord/goloxi/of13"
+ "github.com/opencord/voltha-protos/v5/go/openflow_13"
)
var mu sync.Mutex