Skip to content

Commit

Permalink
update kvdb package. (libopenstorage#1305)
Browse files Browse the repository at this point in the history
* update kvdb package.
- use the default handler to error out.

* Add new function for panic
- LogErrorAndPanicf will log error and panic

Signed-off-by: ganesh <[email protected]>
  • Loading branch information
sangleganesh authored Nov 13, 2019
1 parent 31437aa commit 4aba59b
Show file tree
Hide file tree
Showing 28 changed files with 176 additions and 115 deletions.
3 changes: 1 addition & 2 deletions alert/alert_kvdb_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
"github.com/libopenstorage/openstorage/pkg/proto/time"
"github.com/portworx/kvdb"
"github.com/portworx/kvdb/mem"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/require"
)

Expand Down Expand Up @@ -45,7 +44,7 @@ func TestAll(t *testing.T) {
func setup(t *testing.T) {
kv := kvdb.Instance()
if kv == nil {
kv, err := kvdb.New(mem.Name, kvdbDomain+"/"+clusterName, []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, kvdbDomain+"/"+clusterName, []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
t.Fatalf("Failed to set default KV store : (%v): %v", mem.Name, err)
}
Expand Down
4 changes: 2 additions & 2 deletions api/server/sdk/sdk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ func newTestServer(t *testing.T) *testServer {

setupMockDriver(tester, t)

kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
// Init storage policy manager
_, err = policy.Init(kv)
Expand Down Expand Up @@ -251,7 +251,7 @@ func TestSdkGateway(t *testing.T) {
}

func TestSdkWithNoVolumeDriverThenAddOne(t *testing.T) {
kv, err := kvdb.New(mem.Name, "fake_test", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "fake_test", []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
logrus.Panicf("Failed to initialize KVDB")
}
Expand Down
7 changes: 3 additions & 4 deletions api/server/sdk/volume_ops_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"testing"

"github.com/kubernetes-csi/csi-test/utils"
"github.com/sirupsen/logrus"

"github.com/golang/mock/gomock"
"github.com/libopenstorage/openstorage/api"
Expand All @@ -40,7 +39,7 @@ import (
)

func init() {
kv, _ := kvdb.New(mem.Name, "policyvolopstest", []string{}, nil, logrus.Panicf)
kv, _ := kvdb.New(mem.Name, "policyvolopstest", []string{}, nil, kvdb.LogFatalErrorCB)
policy.Init(kv)
}

Expand Down Expand Up @@ -1420,7 +1419,7 @@ func TestSdkVolumeCreateDefaultPolicyOwnership(t *testing.T) {
mc := gomock.NewController(&utils.SafeGoroutineTester{})
mv := mockdriver.NewMockVolumeDriver(mc)
mcluster := mockcluster.NewMockCluster(mc)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

// Init storage policy manager
Expand Down Expand Up @@ -1650,7 +1649,7 @@ func TestSdkVolumeUpdatePolicyOwnership(t *testing.T) {
mv := mockdriver.NewMockVolumeDriver(mc)
mcluster := mockcluster.NewMockCluster(mc)

kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

// Init storage policy manager
Expand Down
8 changes: 4 additions & 4 deletions api/server/testutils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func newTestCluster(t *testing.T) *testCluster {
}

func setupFakeDriver() {
kv, err := kvdb.New(mem.Name, "fake_test", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "fake_test", []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
logrus.Panicf("Failed to initialize KVDB")
}
Expand Down Expand Up @@ -139,7 +139,7 @@ func newTestServerSdkNoAuth(t *testing.T) *testServer {
tester.c = mockcluster.NewMockCluster(tester.mc)
tester.s = mockapi.NewMockOpenStoragePoolServer(tester.mc)

kv, err := kvdb.New(mem.Name, "test", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "test", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
stp, err := storagepolicy.Init(kv)
if err != nil {
Expand Down Expand Up @@ -195,7 +195,7 @@ func newTestServerSdk(t *testing.T) *testServer {
tester.s = mockapi.NewMockOpenStoragePoolServer(tester.mc)

// Create a role manager
kv, err := kvdb.New(mem.Name, "test", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "test", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
rm, err := role.NewSdkRoleManager(kv)
assert.NoError(t, err)
Expand Down Expand Up @@ -336,7 +336,7 @@ func testRestServer(t *testing.T) (*httptest.Server, *testServer) {
ts := httptest.NewServer(router)
testVolDriver := newTestServer(t)
// Initialise storage policy manager
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
_, err = storagepolicy.Init(kv)

Expand Down
2 changes: 1 addition & 1 deletion cluster/manager/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ var (

func init() {
var err error
kv, err = kvdb.New(mem.Name, "manager_test/"+testClusterId, []string{}, nil, logrus.Panicf)
kv, err = kvdb.New(mem.Name, "manager_test/"+testClusterId, []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
logrus.Panicf("Failed to initialize KVDB")
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/osd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ func start(c *cli.Context) error {
scheme := u.Scheme
u.Scheme = "http"

kv, err := kvdb.New(scheme, "openstorage", []string{u.String()}, nil, logrus.Panicf)
kv, err := kvdb.New(scheme, "openstorage", []string{u.String()}, nil, kvdb.LogFatalErrorCB)
if err != nil {
return fmt.Errorf("Failed to initialize KVDB: %v (%v)\nSupported datastores: %v", scheme, err, datastores)
}
Expand Down
6 changes: 3 additions & 3 deletions csi/csi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ type testServer struct {
}

func setupFakeDriver() {
kv, err := kvdb.New(mem.Name, "fake_test", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "fake_test", []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
logrus.Panicf("Failed to initialize KVDB")
}
Expand Down Expand Up @@ -158,13 +158,13 @@ func newTestServerWithConfig(t *testing.T, config *OsdCsiServerConfig) *testServ
setupMockDriver(tester, t)

// Initialise storage policy manager
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
rm, err := role.NewSdkRoleManager(kv)
assert.NoError(t, err)

// Setup storage policy
kv, err = kvdb.New(mem.Name, "test", []string{}, nil, logrus.Panicf)
kv, err = kvdb.New(mem.Name, "test", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
stp, err := storagepolicy.Init(kv)
if err != nil {
Expand Down
3 changes: 1 addition & 2 deletions csi/csisanity_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import (
"github.com/libopenstorage/openstorage/pkg/storagepolicy"
"github.com/portworx/kvdb"
"github.com/portworx/kvdb/mem"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"

"github.com/kubernetes-csi/csi-test/pkg/sanity"
Expand All @@ -57,7 +56,7 @@ func TestCSISanity(t *testing.T) {
defer cm.Shutdown()

// Setup sdk server
kv, err := kvdb.New(mem.Name, "test", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "test", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
stp, err := storagepolicy.Init(kv)
if err != nil {
Expand Down
3 changes: 1 addition & 2 deletions csi/v0.3/csi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (

"github.com/portworx/kvdb"
"github.com/portworx/kvdb/mem"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc"

Expand Down Expand Up @@ -86,7 +85,7 @@ func newTestServerWithConfig(t *testing.T, config *OsdCsiServerConfig) *testServ

setupMockDriver(tester, t)
// Initialise storage policy manager
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
_, err = policy.Init(kv)

Expand Down
2 changes: 1 addition & 1 deletion objectstore/fake.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ type fakeObjectstoreMgr struct {
func NewfakeObjectstore() *fakeObjectstoreMgr {
// This instance of the KVDB is Always in memory and created for each instance of the fake driver
// It is not necessary to run a single instance, and it helps tests create a new kvdb on each test
kv, err := kvdb.New(mem.Name, "fake_objectstore", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "fake_objectstore", []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
logrus.Fatalf("Failed to create kv: %v", err)
return nil
Expand Down
11 changes: 11 additions & 0 deletions pkg/dbg/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,19 @@ import (
"github.com/sirupsen/logrus"
)

func LogErrorAndPanicf(err error, format string, args ...interface{}) {
logrus.Errorf("LogErrorAndPanicf: error: %v", err)
panicf(format, args...)

}

// Panicf outputs error message, dumps threads and exits.
func Panicf(format string, args ...interface{}) {
panicf(format, args...)
}

// Panicf outputs error message, dumps threads and exits.
func panicf(format string, args ...interface{}) {
logrus.Warnf(format, args...)
err := DumpGoProfile()
if err != nil {
Expand Down
23 changes: 11 additions & 12 deletions pkg/role/sdkserviceapi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import (

"github.com/portworx/kvdb"
"github.com/portworx/kvdb/mem"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"

"github.com/libopenstorage/openstorage/api"
Expand Down Expand Up @@ -106,7 +105,7 @@ func TestMatchRule(t *testing.T) {
}

func TestSdkRuleCreateBadArguments(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down Expand Up @@ -192,7 +191,7 @@ func TestSdkRuleCreateBadArguments(t *testing.T) {
}

func TestSdkRuleCreateCollisionSystemRole(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand All @@ -216,7 +215,7 @@ func TestSdkRuleCreateCollisionSystemRole(t *testing.T) {
}

func TestSdkRuleCreate(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down Expand Up @@ -267,7 +266,7 @@ func TestSdkRuleCreate(t *testing.T) {
}

func TestSdkRuleEnumerate(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down Expand Up @@ -299,7 +298,7 @@ func TestSdkRuleEnumerate(t *testing.T) {
}

func TestSdkRuleInspectBadArgument(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand All @@ -325,7 +324,7 @@ func TestSdkRuleInspectBadArgument(t *testing.T) {
}

func TestSdkRuleInspectDelete(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down Expand Up @@ -371,7 +370,7 @@ func TestSdkRuleInspectDelete(t *testing.T) {
}

func TestSdkRuleDeleteCollisionSystemRole(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand All @@ -392,7 +391,7 @@ func TestSdkRuleDeleteCollisionSystemRole(t *testing.T) {
}

func TestSdkRuleUpdateBadArguments(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down Expand Up @@ -446,7 +445,7 @@ func TestSdkRuleUpdateBadArguments(t *testing.T) {
}

func TestSdkRuleUpdateCollisionSystemRole(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand All @@ -470,7 +469,7 @@ func TestSdkRuleUpdateCollisionSystemRole(t *testing.T) {
}

func TestSdkRuleUpdate(t *testing.T) {
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down Expand Up @@ -585,7 +584,7 @@ func TestSdkRoleVerifyRules(t *testing.T) {
},
}

kv, err := kvdb.New(mem.Name, "role", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "role", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

s, err := NewSdkRoleManager(kv)
Expand Down
5 changes: 2 additions & 3 deletions pkg/storagepolicy/sdkstorage_policy_ownership_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,13 @@ import (
"github.com/libopenstorage/openstorage/pkg/auth"
"github.com/portworx/kvdb"
"github.com/portworx/kvdb/mem"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)

func TestVolSpecToSdkStoragePolicy(t *testing.T) {
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)

m := jsonpb.Marshaler{OrigName: true}
Expand Down Expand Up @@ -83,7 +82,7 @@ func TestVolSpecToSdkStoragePolicy(t *testing.T) {
assert.Equal(t, resp.GetStoragePolicy().GetPolicy().GetSize(), volSpec.GetSize())
}
func TestSdkStoragePolicyDeleteWithOwnership(t *testing.T) {
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
_, err = Init(kv)

Expand Down
3 changes: 1 addition & 2 deletions pkg/storagepolicy/sdkstoragepolicy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import (

"github.com/portworx/kvdb"
"github.com/portworx/kvdb/mem"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
)

Expand All @@ -38,7 +37,7 @@ func TestPrefixWithName(t *testing.T) {
}

func TestSdkStoragePolicyCreate(t *testing.T) {
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "policy", []string{}, nil, kvdb.LogFatalErrorCB)
assert.NoError(t, err)
_, err = Init(kv)

Expand Down
2 changes: 1 addition & 1 deletion schedpolicy/fake.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ type fakeSchedMgr struct {
func NewFakeScheduler() *fakeSchedMgr {
// This instance of the KVDB is Always in memory and created for each instance of the fake driver
// It is not necessary to run a single instance, and it helps tests create a new kvdb on each test
kv, err := kvdb.New(mem.Name, "fake_sched", []string{}, nil, logrus.Panicf)
kv, err := kvdb.New(mem.Name, "fake_sched", []string{}, nil, kvdb.LogFatalErrorCB)
if err != nil {
logrus.Fatalf("Failed to create kv: %v", err)
return nil
Expand Down
2 changes: 1 addition & 1 deletion vendor/github.com/portworx/kvdb/Dockerfile.kvdb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/github.com/portworx/kvdb/common/common.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 4aba59b

Please sign in to comment.