diff --git a/api/client/cluster/client.go b/api/client/cluster/client.go index 33af982a2..61e99bc19 100644 --- a/api/client/cluster/client.go +++ b/api/client/cluster/client.go @@ -299,7 +299,7 @@ func (c *clusterClient) Uuid() string { return "" } -func (c *clusterClient) StartWithConfiguration(bool, string, []string, string, *cluster.ClusterServerConfiguration) error { +func (c *clusterClient) StartWithConfiguration(bool, string, []string, string, *cluster.ClusterServerConfiguration, string) error { return nil } diff --git a/cluster/cluster.go b/cluster/cluster.go index 91edb2f8a..c943faf8e 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -376,6 +376,7 @@ type Cluster interface { snapshotPrefixes []string, selfClusterDomain string, config *ClusterServerConfiguration, + gobRegisterName string, ) error // Get a unique identifier for this cluster. Depending on the implementation, this could diff --git a/cluster/cluster_not_supported.go b/cluster/cluster_not_supported.go index 440127638..d11ae6812 100644 --- a/cluster/cluster_not_supported.go +++ b/cluster/cluster_not_supported.go @@ -11,8 +11,8 @@ import ( "github.com/libopenstorage/openstorage/pkg/defrag" "github.com/libopenstorage/openstorage/pkg/diags" "github.com/libopenstorage/openstorage/pkg/job" - "github.com/libopenstorage/openstorage/pkg/schedule" "github.com/libopenstorage/openstorage/pkg/nodedrain" + "github.com/libopenstorage/openstorage/pkg/schedule" "github.com/libopenstorage/openstorage/pkg/storagepool" "github.com/libopenstorage/openstorage/schedpolicy" "github.com/libopenstorage/openstorage/secrets" @@ -117,7 +117,7 @@ func (m *NullClusterManager) Start(arg1 bool, arg2 string, arg3 string) error { } // StartWithConfiguration -func (m *NullClusterManager) StartWithConfiguration(arg1 bool, arg2 string, arg3 []string, arg4 string, arg5 *ClusterServerConfiguration) error { +func (m *NullClusterManager) StartWithConfiguration(arg1 bool, arg2 string, arg3 []string, arg4 string, arg5 *ClusterServerConfiguration, arg6 string) error { return ErrNotImplemented } diff --git a/cluster/manager/manager.go b/cluster/manager/manager.go index 2fad35d32..eb5962d9b 100644 --- a/cluster/manager/manager.go +++ b/cluster/manager/manager.go @@ -1448,7 +1448,8 @@ func (c *ClusterManager) Start( gossipPort, []string{ClusterDBKey}, selfClusterDomain, - &cluster.ClusterServerConfiguration{}) + &cluster.ClusterServerConfiguration{}, + "") } func (c *ClusterManager) StartWithConfiguration( @@ -1457,6 +1458,7 @@ func (c *ClusterManager) StartWithConfiguration( snapshotPrefixes []string, selfClusterDomain string, config *cluster.ClusterServerConfiguration, + gobRegisterName string, ) error { var err error @@ -1511,7 +1513,7 @@ func (c *ClusterManager) StartWithConfiguration( // Start the gossip protocol. // Replacing gob.Register with gob.RegisterName to avoid any issue caused due to the movement from portworx to pure-px // gossip: Error in unmarshalling peer's local data. Error : gob: name not registered for interface. - gob.RegisterName("github.com/portworx/porx/vendor/github.com/libopenstorage/openstorage/api.Node", api.Node{}) + gob.RegisterName(gobRegisterName+"api.Node", api.Node{}) quorumTimeout := types.DEFAULT_QUORUM_TIMEOUT if c.config.QuorumTimeoutInSeconds > 0 { quorumTimeout = time.Duration(c.config.QuorumTimeoutInSeconds) * time.Second diff --git a/cluster/manager/manager_test.go b/cluster/manager/manager_test.go index 08a750c91..14f898512 100644 --- a/cluster/manager/manager_test.go +++ b/cluster/manager/manager_test.go @@ -93,7 +93,7 @@ func TestUpdateSchedulerNodeName(t *testing.T) { err = inst.StartWithConfiguration(false, "1001", []string{}, "", &cluster.ClusterServerConfiguration{ ConfigSystemTokenManager: manager, - }) + }, "gobRegisterName/path") assert.NoError(t, err) node, err := inst.Inspect(nodeID) diff --git a/cluster/mock/cluster.mock.go b/cluster/mock/cluster.mock.go index db1902858..791997f17 100644 --- a/cluster/mock/cluster.mock.go +++ b/cluster/mock/cluster.mock.go @@ -1080,17 +1080,17 @@ func (mr *MockClusterMockRecorder) Start(arg0, arg1, arg2 interface{}) *gomock.C } // StartWithConfiguration mocks base method. -func (m *MockCluster) StartWithConfiguration(arg0 bool, arg1 string, arg2 []string, arg3 string, arg4 *cluster.ClusterServerConfiguration) error { +func (m *MockCluster) StartWithConfiguration(arg0 bool, arg1 string, arg2 []string, arg3 string, arg4 *cluster.ClusterServerConfiguration, arg5 string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "StartWithConfiguration", arg0, arg1, arg2, arg3, arg4) + ret := m.ctrl.Call(m, "StartWithConfiguration", arg0, arg1, arg2, arg3, arg4, arg5) ret0, _ := ret[0].(error) return ret0 } // StartWithConfiguration indicates an expected call of StartWithConfiguration. -func (mr *MockClusterMockRecorder) StartWithConfiguration(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { +func (mr *MockClusterMockRecorder) StartWithConfiguration(arg0, arg1, arg2, arg3, arg4, arg5 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartWithConfiguration", reflect.TypeOf((*MockCluster)(nil).StartWithConfiguration), arg0, arg1, arg2, arg3, arg4) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartWithConfiguration", reflect.TypeOf((*MockCluster)(nil).StartWithConfiguration), arg0, arg1, arg2, arg3, arg4, arg5) } // UncordonAttachments mocks base method. diff --git a/cmd/osd/main.go b/cmd/osd/main.go index 5855e3f94..198acb150 100644 --- a/cmd/osd/main.go +++ b/cmd/osd/main.go @@ -630,6 +630,7 @@ func start(c *cli.Context) error { ConfigObjectStoreManager: objectstore.NewfakeObjectstore(), ConfigSystemTokenManager: auth.SystemTokenManagerInst(), }, + "", ); err != nil { return fmt.Errorf("Unable to start cluster manager: %v", err) }