Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions common_utils/notification_producer.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package common_utils

import (
"context"
"encoding/json"
"fmt"

"github.com/go-redis/redis"
log "github.com/golang/glog"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"

log "github.com/golang/glog"
"github.com/redis/go-redis/v9"
)

const (
Expand Down Expand Up @@ -35,7 +37,7 @@ func GetRedisDBClient() (*redis.Client, error) {
if rclient == nil {
return nil, fmt.Errorf("Cannot create redis client.")
}
if _, err := rclient.Ping().Result(); err != nil {
if _, err := rclient.Ping(context.Background()).Result(); err != nil {
return nil, err
}
return rclient, nil
Expand Down Expand Up @@ -85,5 +87,5 @@ func (n *NotificationProducer) Send(op, data string, kvs map[string]string) erro
return err
}
log.Infof("Publishing to channel %s: %v.", n.ch, string(val))
return n.rc.Publish(n.ch, val).Err()
return n.rc.Publish(context.Background(), n.ch, val).Err()
}
34 changes: 17 additions & 17 deletions dialout/dialout_client/dialout_client.go
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
package telemetry_dialout

import (
// "encoding/json"
"context"
"crypto/tls"
"errors"
"fmt"
"net"
"strconv"
"strings"
"sync"
"time"

spb "github.com/sonic-net/sonic-gnmi/proto"
sdc "github.com/sonic-net/sonic-gnmi/sonic_data_client"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"

"github.com/Workiva/go-datastructures/queue"
"github.com/go-redis/redis"
log "github.com/golang/glog"
gpb "github.com/openconfig/gnmi/proto/gnmi"
"github.com/openconfig/ygot/ygot"
spb "github.com/sonic-net/sonic-gnmi/proto"
sdc "github.com/sonic-net/sonic-gnmi/sonic_data_client"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"
"golang.org/x/net/context"
"github.com/redis/go-redis/v9"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"net"
//"reflect"
"strconv"
"strings"
"sync"
"time"
)

const (
Expand Down Expand Up @@ -468,7 +468,7 @@ func processTelemetryClientConfig(ctx context.Context, redisDb *redis.Client, ke
return err
}
tableKey := "TELEMETRY_CLIENT" + separator + key
fv, err := redisDb.HGetAll(tableKey).Result()
fv, err := redisDb.HGetAll(context.Background(), tableKey).Result()
if err != nil {
log.V(2).Infof("redis HGetAll failed for %s with error %v", tableKey, err)
return fmt.Errorf("redis HGetAll failed for %s with error %v", tableKey, err)
Expand Down Expand Up @@ -687,10 +687,10 @@ func DialOutRun(ctx context.Context, ccfg *ClientConfig) error {
prefixLen := len(pattern)
pattern += "*"

pubsub := redisDb.PSubscribe(pattern)
pubsub := redisDb.PSubscribe(context.Background(), pattern)
defer pubsub.Close()

msgi, err := pubsub.ReceiveTimeout(time.Second)
msgi, err := pubsub.ReceiveTimeout(context.Background(), time.Second)
if err != nil {
log.V(1).Infof("psubscribe to %s failed %v", pattern, err)
return fmt.Errorf("psubscribe to %s failed %v", pattern, err)
Expand All @@ -704,7 +704,7 @@ func DialOutRun(ctx context.Context, ccfg *ClientConfig) error {

var dbkeys []string
dbkey_prefix := "TELEMETRY_CLIENT" + separator
dbkeys, err = redisDb.Keys(dbkey_prefix + "*").Result()
dbkeys, err = redisDb.Keys(context.Background(), dbkey_prefix+"*").Result()
if err != nil {
log.V(2).Infof("redis Keys failed for %v with err %v", pattern, err)
return err
Expand All @@ -715,7 +715,7 @@ func DialOutRun(ctx context.Context, ccfg *ClientConfig) error {
}

for {
msgi, err := pubsub.ReceiveTimeout(time.Millisecond * 1000)
msgi, err := pubsub.ReceiveTimeout(context.Background(), time.Millisecond*1000)
if err != nil {
neterr, ok := err.(net.Error)
if ok {
Expand Down
40 changes: 17 additions & 23 deletions dialout/dialout_client/dialout_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,9 @@ package telemetry_dialout
// Prerequisite: redis-server should be running.

import (
"context"
"crypto/tls"
"encoding/json"
"github.com/go-redis/redis"
//"github.com/golang/protobuf/proto"
testcert "github.com/sonic-net/sonic-gnmi/testdata/tls"

//"github.com/kylelemons/godebug/pretty"
//"github.com/openconfig/gnmi/client"
pb "github.com/openconfig/gnmi/proto/gnmi"
"github.com/openconfig/gnmi/value"
"golang.org/x/net/context"
"google.golang.org/grpc"
//"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
//"google.golang.org/grpc/status"
//"fmt"
"io/ioutil"
"os"
"os/exec"
Expand All @@ -28,10 +15,17 @@ import (
"testing"
"time"

gclient "github.com/openconfig/gnmi/client/gnmi"
sds "github.com/sonic-net/sonic-gnmi/dialout/dialout_server"
sdc "github.com/sonic-net/sonic-gnmi/sonic_data_client"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"
testcert "github.com/sonic-net/sonic-gnmi/testdata/tls"

gclient "github.com/openconfig/gnmi/client/gnmi"
pb "github.com/openconfig/gnmi/proto/gnmi"
"github.com/openconfig/gnmi/value"
"github.com/redis/go-redis/v9"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
)

var clientTypes = []string{gclient.Type}
Expand All @@ -56,7 +50,7 @@ func loadDB(t *testing.T, rclient *redis.Client, mpi map[string]interface{}) {
for key, fv := range mpi {
switch fv.(type) {
case map[string]interface{}:
_, err := rclient.HMSet(key, fv.(map[string]interface{})).Result()
_, err := rclient.HMSet(context.Background(), key, fv.(map[string]interface{})).Result()
if err != nil {
t.Fatal("Invalid data for db: ", key, fv, err)
}
Expand Down Expand Up @@ -111,7 +105,7 @@ func getRedisClient(t *testing.T) *redis.Client {
DB: db,
DialTimeout: 0,
})
_, err = rclient.Ping().Result()
_, err = rclient.Ping(context.Background()).Result()
if err != nil {
t.Fatal("failed to connect to redis server ", err)
}
Expand Down Expand Up @@ -149,7 +143,7 @@ func getConfigDbClient(t *testing.T) *redis.Client {
DB: db,
DialTimeout: 0,
})
_, err = rclient.Ping().Result()
_, err = rclient.Ping(context.Background()).Result()
if err != nil {
t.Fatalf("failed to connect to redis server %v", err)
}
Expand All @@ -160,7 +154,7 @@ func loadConfigDB(t *testing.T, rclient *redis.Client, mpi map[string]interface{
for key, fv := range mpi {
switch fv.(type) {
case map[string]interface{}:
_, err := rclient.HMSet(key, fv.(map[string]interface{})).Result()
_, err := rclient.HMSet(context.Background(), key, fv.(map[string]interface{})).Result()
if err != nil {
t.Errorf("Invalid data for db: %v : %v %v", key, fv, err)
}
Expand All @@ -173,7 +167,7 @@ func loadConfigDB(t *testing.T, rclient *redis.Client, mpi map[string]interface{
func prepareConfigDb(t *testing.T) {
rclient := getConfigDbClient(t)
defer rclient.Close()
rclient.FlushDB()
rclient.FlushDB(context.Background())

fileName := "../../testdata/COUNTERS_PORT_ALIAS_MAP.txt"
countersPortAliasMapByte, err := ioutil.ReadFile(fileName)
Expand All @@ -195,7 +189,7 @@ func prepareConfigDb(t *testing.T) {
func prepareDb(t *testing.T) {
rclient := getRedisClient(t)
defer rclient.Close()
rclient.FlushDB()
rclient.FlushDB(context.Background())
//Enable keysapce notification
os.Setenv("PATH", "$PATH:/usr/bin:/sbin:/bin:/usr/local/bin:/usr/local/Cellar/redis/4.0.8/bin")
cmd := exec.Command("redis-cli", "config", "set", "notify-keyspace-events", "KEA")
Expand Down Expand Up @@ -483,9 +477,9 @@ func TestGNMIDialOutPublish(t *testing.T) {
for _, update := range tt.updates {
switch update.op {
case "hdel":
rclient.HDel(update.tableName+update.delimitor+update.tableKey, update.field)
rclient.HDel(context.Background(), update.tableName+update.delimitor+update.tableKey, update.field)
default:
rclient.HSet(update.tableName+update.delimitor+update.tableKey, update.field, update.value)
rclient.HSet(context.Background(), update.tableName+update.delimitor+update.tableKey, update.field, update.value)
}
time.Sleep(time.Millisecond * 500)
}
Expand Down
10 changes: 6 additions & 4 deletions dialout/dialout_client_cli/dialout_client_cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@
package main

import (
"context"
"crypto/tls"
"flag"
log "github.com/golang/glog"
gpb "github.com/openconfig/gnmi/proto/gnmi"
dc "github.com/sonic-net/sonic-gnmi/dialout/dialout_client"
"golang.org/x/net/context"
"os"
"os/signal"
"time"

dc "github.com/sonic-net/sonic-gnmi/dialout/dialout_client"

log "github.com/golang/glog"
gpb "github.com/openconfig/gnmi/proto/gnmi"
)

var (
Expand Down
11 changes: 6 additions & 5 deletions gnmi_server/chassis_state_db_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,20 @@ package gnmi
// Covers: Poll mode, Sample mode, and Get operations for DPU_STATE table

import (
"context"
"crypto/tls"
"encoding/json"
"io/ioutil"
"sync"
"testing"
"time"

"github.com/go-redis/redis"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"

"github.com/kylelemons/godebug/pretty"
"github.com/openconfig/gnmi/client"
pb "github.com/openconfig/gnmi/proto/gnmi"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"
"golang.org/x/net/context"
"github.com/redis/go-redis/v9"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
Expand All @@ -38,7 +39,7 @@ func getChassisStateDbRedisClient(t *testing.T, namespace string) *redis.Client
DB: db,
DialTimeout: 0,
})
_, err = rclient.Ping().Result()
_, err = rclient.Ping(context.Background()).Result()
if err != nil {
t.Fatalf("failed to connect to redis server %v", err)
}
Expand All @@ -49,7 +50,7 @@ func getChassisStateDbRedisClient(t *testing.T, namespace string) *redis.Client
func prepareChassisStateDb(t *testing.T, namespace string) {
rclient := getChassisStateDbRedisClient(t, namespace)
defer rclient.Close()
rclient.FlushDB()
rclient.FlushDB(context.Background())

fileName := "../testdata/DPU_STATE.txt"
dpuStateBytes, err := ioutil.ReadFile(fileName)
Expand Down
3 changes: 2 additions & 1 deletion gnmi_server/cli_helpers_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package gnmi

import (
"context"
"io/ioutil"
"os/exec"
"reflect"
Expand Down Expand Up @@ -55,7 +56,7 @@ func FlushDataSet(t *testing.T, dbNum int) {
ns, _ := sdcfg.GetDbDefaultNamespace()
rclient := getRedisClientN(t, dbNum, ns)
defer rclient.Close()
rclient.FlushDB()
rclient.FlushDB(context.Background())
}

func AddDataSet(t *testing.T, dbNum int, fileName string) {
Expand Down
15 changes: 8 additions & 7 deletions gnmi_server/connection_manager.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package gnmi

import (
log "github.com/golang/glog"
"context"
"net"
"regexp"
"sync"
"time"

"github.com/go-redis/redis"
sdcfg "github.com/sonic-net/sonic-gnmi/sonic_db_config"

log "github.com/golang/glog"
"github.com/redis/go-redis/v9"
)

const table = "TELEMETRY_CONNECTIONS"
Expand Down Expand Up @@ -45,14 +47,14 @@ func (cm *ConnectionManager) PrepareRedis() {
DialTimeout: 0,
})

res, _ := rclient.HGetAll("TELEMETRY_CONNECTIONS").Result()
res, _ := rclient.HGetAll(context.Background(), "TELEMETRY_CONNECTIONS").Result()

if res == nil {
return
}

for key, _ := range res {
rclient.HDel(table, key)
rclient.HDel(context.Background(), table, key)
}
}

Expand Down Expand Up @@ -109,8 +111,7 @@ func storeKeyRedis(key string) {
log.V(1).Infof("Redis client is nil, cannot store connection key")
return
}
ret, err := rclient.HSet(table, key, "active").Result()
if !ret {
if _, err := rclient.HSet(context.Background(), table, key, "active").Result(); err != nil {
log.V(1).Infof("Subscribe client failed to update telemetry connection key:%s err:%v", key, err)
}
}
Expand All @@ -121,7 +122,7 @@ func deleteKeyRedis(key string) {
return
}

ret, err := rclient.HDel(table, key).Result()
ret, err := rclient.HDel(context.Background(), table, key).Result()
if ret == 0 {
log.V(1).Infof("Subscribe client failed to delete telemetry connection key:%s err:%v", key, err)
}
Expand Down
13 changes: 7 additions & 6 deletions gnmi_server/gnoi_system.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ import (
"strings"
"time"

"github.com/go-redis/redis"
log "github.com/golang/glog"
"github.com/golang/protobuf/proto"
syspb "github.com/openconfig/gnoi/system"
"github.com/sonic-net/sonic-gnmi/common_utils"
"github.com/sonic-net/sonic-gnmi/pkg/gnoi/system"
ssc "github.com/sonic-net/sonic-gnmi/sonic_service_client"

log "github.com/golang/glog"
"github.com/golang/protobuf/proto"
syspb "github.com/openconfig/gnoi/system"
"github.com/redis/go-redis/v9"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
pjson "google.golang.org/protobuf/encoding/protojson"
Expand Down Expand Up @@ -120,8 +121,8 @@ func sendRebootReqOnNotifCh(ctx context.Context, req proto.Message, sc *redis.Cl
defer np.Close()

// Subscribe to the response channel.
sub := sc.Subscribe(rebootRespCh)
if _, err = sub.Receive(); err != nil {
sub := sc.Subscribe(ctx, rebootRespCh)
if _, err = sub.Receive(ctx); err != nil {
return nil, status.Errorf(codes.Internal, err.Error()), msgDataStr
}
defer sub.Close()
Expand Down
Loading