diff options
author | Pavlo Strokov <pstrokov@gitlab.com> | 2020-05-29 10:01:44 +0300 |
---|---|---|
committer | Pavlo Strokov <pstrokov@gitlab.com> | 2020-05-29 10:06:10 +0300 |
commit | 430ca4a0a5e8cd95a97501ce6fc531fe29465a66 (patch) | |
tree | d45aef6de61c7f389c60f79fdf5325772addbdad | |
parent | a23e2d9c4a922bead1d45a24a96f43930abc48e4 (diff) |
Praefect: move of models package
After removal of Datastore struct it make sense to move
entities of the models package into config package.
As it is has only a configuration purpose.
As well 'node' configuration removed from Config as it is
not used anymore.
Closes: https://gitlab.com/gitlab-org/gitaly/-/issues/2613
-rw-r--r-- | cmd/praefect/main_test.go | 5 | ||||
-rw-r--r-- | internal/praefect/auth_test.go | 5 | ||||
-rw-r--r-- | internal/praefect/config/config.go | 6 | ||||
-rw-r--r-- | internal/praefect/config/config_test.go | 17 | ||||
-rw-r--r-- | internal/praefect/config/node.go | 27 | ||||
-rw-r--r-- | internal/praefect/config/node_test.go | 22 | ||||
-rw-r--r-- | internal/praefect/consistencycheck_test.go | 3 | ||||
-rw-r--r-- | internal/praefect/coordinator_test.go | 19 | ||||
-rw-r--r-- | internal/praefect/dataloss_check_test.go | 3 | ||||
-rw-r--r-- | internal/praefect/helper_test.go | 7 | ||||
-rw-r--r-- | internal/praefect/info_service_test.go | 3 | ||||
-rw-r--r-- | internal/praefect/models/node.go | 46 | ||||
-rw-r--r-- | internal/praefect/models/node_test.go | 52 | ||||
-rw-r--r-- | internal/praefect/nodes/local_elector_test.go | 6 | ||||
-rw-r--r-- | internal/praefect/nodes/manager.go | 5 | ||||
-rw-r--r-- | internal/praefect/nodes/manager_test.go | 15 | ||||
-rw-r--r-- | internal/praefect/nodes/sql_elector_test.go | 19 | ||||
-rw-r--r-- | internal/praefect/replicator_test.go | 23 | ||||
-rw-r--r-- | internal/praefect/server_test.go | 57 | ||||
-rw-r--r-- | internal/testhelper/testserver.go | 3 |
20 files changed, 139 insertions, 204 deletions
diff --git a/cmd/praefect/main_test.go b/cmd/praefect/main_test.go index f73cdd816..7ca079675 100644 --- a/cmd/praefect/main_test.go +++ b/cmd/praefect/main_test.go @@ -6,7 +6,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" ) func TestNoConfigFlag(t *testing.T) { @@ -27,7 +26,7 @@ func TestFlattenNodes(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "meow", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "foo", Address: "tcp://example.com", @@ -38,7 +37,7 @@ func TestFlattenNodes(t *testing.T) { }, { Name: "woof", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "bar", Address: "tcp://example.com", diff --git a/internal/praefect/auth_test.go b/internal/praefect/auth_test.go index cc5f35bbb..fe5922701 100644 --- a/internal/praefect/auth_test.go +++ b/internal/praefect/auth_test.go @@ -13,7 +13,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" "gitlab.com/gitlab-org/gitaly/internal/praefect/mock" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/praefect/nodes" "gitlab.com/gitlab-org/gitaly/internal/praefect/protoregistry" "gitlab.com/gitlab-org/gitaly/internal/praefect/transactions" @@ -150,8 +149,8 @@ func runServer(t *testing.T, token string, required bool) (*Server, string, func VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ Storage: "praefect-internal-0", DefaultPrimary: true, Address: backend, diff --git a/internal/praefect/config/config.go b/internal/praefect/config/config.go index 1057b9c1d..c69104cd9 100644 --- a/internal/praefect/config/config.go +++ b/internal/praefect/config/config.go @@ -12,7 +12,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/config/log" "gitlab.com/gitlab-org/gitaly/internal/config/prometheus" "gitlab.com/gitlab-org/gitaly/internal/config/sentry" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" ) type Failover struct { @@ -26,7 +25,6 @@ type Config struct { ListenAddr string `toml:"listen_addr"` SocketPath string `toml:"socket_path"` VirtualStorages []*VirtualStorage `toml:"virtual_storage"` - Nodes []*models.Node `toml:"node"` Logging log.Config `toml:"logging"` Sentry sentry.Config `toml:"sentry"` PrometheusListenAddr string `toml:"prometheus_listen_addr"` @@ -42,8 +40,8 @@ type Config struct { // VirtualStorage represents a set of nodes for a storage type VirtualStorage struct { - Name string `toml:"name"` - Nodes []*models.Node `toml:"node"` + Name string `toml:"name"` + Nodes []*Node `toml:"node"` } // FromFile loads the config for the passed file path diff --git a/internal/praefect/config/config_test.go b/internal/praefect/config/config_test.go index a597efd3e..aa78dae87 100644 --- a/internal/praefect/config/config_test.go +++ b/internal/praefect/config/config_test.go @@ -12,17 +12,16 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/config/log" gitaly_prometheus "gitlab.com/gitlab-org/gitaly/internal/config/prometheus" "gitlab.com/gitlab-org/gitaly/internal/config/sentry" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" ) func TestConfigValidation(t *testing.T) { - vs1Nodes := []*models.Node{ + vs1Nodes := []*Node{ {Storage: "internal-1.0", Address: "localhost:23456", Token: "secret-token-1", DefaultPrimary: true}, {Storage: "internal-2.0", Address: "localhost:23457", Token: "secret-token-1"}, {Storage: "internal-3.0", Address: "localhost:23458", Token: "secret-token-1"}, } - vs2Nodes := []*models.Node{ + vs2Nodes := []*Node{ // storage can have same name as storage in another virtual storage, but all addresses must be unique {Storage: "internal-1.0", Address: "localhost:33456", Token: "secret-token-2", DefaultPrimary: true}, {Storage: "internal-2.1", Address: "localhost:33457", Token: "secret-token-2"}, @@ -75,7 +74,7 @@ func TestConfigValidation(t *testing.T) { VirtualStorages: []*VirtualStorage{ { Name: "default", - Nodes: append(vs1Nodes, &models.Node{ + Nodes: append(vs1Nodes, &Node{ Storage: vs1Nodes[0].Storage, Address: vs1Nodes[1].Address, }), @@ -102,7 +101,7 @@ func TestConfigValidation(t *testing.T) { { Name: "default", Nodes: append(vs1Nodes, - &models.Node{ + &Node{ Storage: "internal-4", Address: "localhost:23459", Token: "secret-token", @@ -120,7 +119,7 @@ func TestConfigValidation(t *testing.T) { VirtualStorages: []*VirtualStorage{ { Name: "default", - Nodes: []*models.Node{ + Nodes: []*Node{ { Storage: "", Address: "localhost:23456", @@ -140,7 +139,7 @@ func TestConfigValidation(t *testing.T) { VirtualStorages: []*VirtualStorage{ { Name: "default", - Nodes: []*models.Node{ + Nodes: []*Node{ { Storage: "internal", Address: "", @@ -233,8 +232,8 @@ func TestConfigParsing(t *testing.T) { VirtualStorages: []*VirtualStorage{ &VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*Node{ + &Node{ Address: "tcp://gitaly-internal-1.example.com", Storage: "praefect-internal-1", DefaultPrimary: true, diff --git a/internal/praefect/config/node.go b/internal/praefect/config/node.go new file mode 100644 index 000000000..f122dd8e6 --- /dev/null +++ b/internal/praefect/config/node.go @@ -0,0 +1,27 @@ +package config + +import ( + "encoding/json" + "fmt" +) + +// Node describes an address that serves a storage +type Node struct { + Storage string `toml:"storage"` + Address string `toml:"address"` + Token string `toml:"token"` + DefaultPrimary bool `toml:"primary"` +} + +func (n Node) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]interface{}{ + "storage": n.Storage, + "address": n.Address, + "primary": n.DefaultPrimary, + }) +} + +// String prints out the node attributes but hiding the token +func (n Node) String() string { + return fmt.Sprintf("storage_name: %s, address: %s, primary: %v", n.Storage, n.Address, n.DefaultPrimary) +} diff --git a/internal/praefect/config/node_test.go b/internal/praefect/config/node_test.go new file mode 100644 index 000000000..de16a209b --- /dev/null +++ b/internal/praefect/config/node_test.go @@ -0,0 +1,22 @@ +package config + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestNode_MarshalJSON(t *testing.T) { + token := "secretToken" + node := &Node{ + Storage: "storage", + Address: "address", + Token: token, + DefaultPrimary: true, + } + + b, err := json.Marshal(node) + require.NoError(t, err) + require.JSONEq(t, `{"storage":"storage","address":"address","primary":true}`, string(b)) +} diff --git a/internal/praefect/consistencycheck_test.go b/internal/praefect/consistencycheck_test.go index 69c923603..739a7db82 100644 --- a/internal/praefect/consistencycheck_test.go +++ b/internal/praefect/consistencycheck_test.go @@ -10,7 +10,6 @@ import ( "github.com/stretchr/testify/require" gconfig "gitlab.com/gitlab-org/gitaly/internal/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" ) @@ -23,7 +22,7 @@ func TestConsistencyCheck(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "praefect", - Nodes: []*models.Node{ + Nodes: []*config.Node{ 0: { DefaultPrimary: true, Storage: "gitaly-0", diff --git a/internal/praefect/coordinator_test.go b/internal/praefect/coordinator_test.go index f104e55b1..457673808 100644 --- a/internal/praefect/coordinator_test.go +++ b/internal/praefect/coordinator_test.go @@ -15,7 +15,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/middleware/metadatahandler" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/praefect/nodes" "gitlab.com/gitlab-org/gitaly/internal/praefect/protoregistry" "gitlab.com/gitlab-org/gitaly/internal/praefect/transactions" @@ -100,8 +99,8 @@ func TestStreamDirectorReadOnlyEnforcement(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ Address: "tcp://gitaly-primary.example.com", Storage: "praefect-internal-1", DefaultPrimary: true, @@ -153,13 +152,13 @@ func TestStreamDirectorMutator(t *testing.T) { healthSrv1.SetServingStatus("", grpc_health_v1.HealthCheckResponse_SERVING) primaryAddress, secondaryAddress := "unix://"+gitalySocket0, "unix://"+gitalySocket1 - primaryNode := &models.Node{Address: primaryAddress, Storage: "praefect-internal-1", DefaultPrimary: true} - secondaryNode := &models.Node{Address: secondaryAddress, Storage: "praefect-internal-2"} + primaryNode := &config.Node{Address: primaryAddress, Storage: "praefect-internal-1", DefaultPrimary: true} + secondaryNode := &config.Node{Address: secondaryAddress, Storage: "praefect-internal-2"} conf := config.Config{ VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{primaryNode, secondaryNode}, + Nodes: []*config.Node{primaryNode, secondaryNode}, }, }, } @@ -257,7 +256,7 @@ func TestStreamDirectorAccessor(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "praefect", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Address: primaryAddress, Storage: "praefect-internal-1", @@ -345,13 +344,13 @@ func TestAbsentCorrelationID(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ Address: primaryAddress, Storage: "praefect-internal-1", DefaultPrimary: true, }, - &models.Node{ + &config.Node{ Address: secondaryAddress, Storage: "praefect-internal-2", }}, diff --git a/internal/praefect/dataloss_check_test.go b/internal/praefect/dataloss_check_test.go index 26daba4b6..ccb9b741a 100644 --- a/internal/praefect/dataloss_check_test.go +++ b/internal/praefect/dataloss_check_test.go @@ -8,7 +8,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" "gitlab.com/gitlab-org/gitaly/internal/praefect/mock" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" ) @@ -19,7 +18,7 @@ func TestDatalossCheck(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: virtualStorage, - Nodes: []*models.Node{ + Nodes: []*config.Node{ { DefaultPrimary: true, Storage: "not-needed", diff --git a/internal/praefect/helper_test.go b/internal/praefect/helper_test.go index a8db569ce..782c411c1 100644 --- a/internal/praefect/helper_test.go +++ b/internal/praefect/helper_test.go @@ -18,7 +18,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" "gitlab.com/gitlab-org/gitaly/internal/praefect/grpc-proxy/proxy" "gitlab.com/gitlab-org/gitaly/internal/praefect/mock" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/praefect/nodes" "gitlab.com/gitlab-org/gitaly/internal/praefect/protoregistry" "gitlab.com/gitlab-org/gitaly/internal/praefect/transactions" @@ -47,10 +46,10 @@ func waitUntil(t *testing.T, ch <-chan struct{}, timeout time.Duration) { // generates a praefect configuration with the specified number of backend // nodes func testConfig(backends int) config.Config { - var nodes []*models.Node + var nodes []*config.Node for i := 0; i < backends; i++ { - n := &models.Node{ + n := &config.Node{ Storage: fmt.Sprintf("praefect-internal-%d", i), Token: fmt.Sprintf("%d", i), } @@ -75,7 +74,7 @@ func testConfig(backends int) config.Config { func assertPrimariesExist(t testing.TB, conf config.Config) { for _, vs := range conf.VirtualStorages { - var defaultNode *models.Node + var defaultNode *config.Node for _, n := range vs.Nodes { if n.DefaultPrimary { defaultNode = n diff --git a/internal/praefect/info_service_test.go b/internal/praefect/info_service_test.go index 5ee9d96cd..82d0de08d 100644 --- a/internal/praefect/info_service_test.go +++ b/internal/praefect/info_service_test.go @@ -8,7 +8,6 @@ import ( "github.com/stretchr/testify/require" gconfig "gitlab.com/gitlab-org/gitaly/internal/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" ) @@ -18,7 +17,7 @@ func TestInfoService_RepositoryReplicas(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "default", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "praefect-internal-1", DefaultPrimary: true, diff --git a/internal/praefect/models/node.go b/internal/praefect/models/node.go deleted file mode 100644 index 57cf3ac46..000000000 --- a/internal/praefect/models/node.go +++ /dev/null @@ -1,46 +0,0 @@ -package models - -import ( - "encoding/json" - "fmt" -) - -// Node describes an address that serves a storage -type Node struct { - Storage string `toml:"storage"` - Address string `toml:"address"` - Token string `toml:"token"` - DefaultPrimary bool `toml:"primary"` -} - -func (n Node) MarshalJSON() ([]byte, error) { - return json.Marshal(&struct { - Storage string `json:"storage"` - Address string `json:"address"` - Primary bool `json:"primary"` - }{ - Storage: n.Storage, - Address: n.Address, - Primary: n.DefaultPrimary, - }) -} - -// String prints out the node attributes but hiding the token -func (n Node) String() string { - return fmt.Sprintf("storage_name: %s, address: %s, primary: %v", n.Storage, n.Address, n.DefaultPrimary) -} - -// Repository describes a repository's relative path and its primary and list of secondaries -type Repository struct { - RelativePath string - Primary Node - Replicas []Node -} - -// Clone returns deep copy of the Repository -func (r Repository) Clone() Repository { - clone := r - clone.Replicas = make([]Node, len(r.Replicas)) - copy(clone.Replicas, r.Replicas) - return clone -} diff --git a/internal/praefect/models/node_test.go b/internal/praefect/models/node_test.go deleted file mode 100644 index 7cefdf7f1..000000000 --- a/internal/praefect/models/node_test.go +++ /dev/null @@ -1,52 +0,0 @@ -package models - -import ( - "encoding/json" - "testing" - - "github.com/stretchr/testify/require" -) - -func TestRepository_Clone(t *testing.T) { - src := Repository{ - RelativePath: "a/b", - Primary: Node{ - Storage: "s1", - Address: "0.0.0.0", - Token: "$ecret", - }, - Replicas: []Node{ - { - Storage: "s2", - Address: "0.0.0.1", - Token: "$ecret", - }, - { - Storage: "s3", - Address: "0.0.0.2", - Token: "$ecret", - }, - }, - } - - clone := src.Clone() - require.Equal(t, src, clone) - - clone.Replicas[0].Address = "0.0.0.3" - require.Equal(t, "0.0.0.1", src.Replicas[0].Address) -} - -func TestNode_MarshalJSON(t *testing.T) { - token := "secretToken" - node := &Node{ - Storage: "storage", - Address: "address", - Token: token, - DefaultPrimary: true, - } - - b, err := json.Marshal(node) - require.NoError(t, err) - require.NotContains(t, string(b), "token") - require.NotContains(t, string(b), token) -} diff --git a/internal/praefect/nodes/local_elector_test.go b/internal/praefect/nodes/local_elector_test.go index 3b8e40f46..6689936a1 100644 --- a/internal/praefect/nodes/local_elector_test.go +++ b/internal/praefect/nodes/local_elector_test.go @@ -6,7 +6,7 @@ import ( "time" "github.com/stretchr/testify/require" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" + "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/internal/testhelper/promtest" "google.golang.org/grpc" @@ -26,8 +26,8 @@ func setupElector(t *testing.T) (*localElector, []*nodeStatus, *grpc.ClientConn, storageName := "default" mockHistogramVec0, mockHistogramVec1 := promtest.NewMockHistogramVec(), promtest.NewMockHistogramVec() - cs := newConnectionStatus(models.Node{Storage: storageName}, cc, testhelper.DiscardTestEntry(t), mockHistogramVec0) - secondary := newConnectionStatus(models.Node{Storage: storageName}, cc, testhelper.DiscardTestEntry(t), mockHistogramVec1) + cs := newConnectionStatus(config.Node{Storage: storageName}, cc, testhelper.DiscardTestEntry(t), mockHistogramVec0) + secondary := newConnectionStatus(config.Node{Storage: storageName}, cc, testhelper.DiscardTestEntry(t), mockHistogramVec1) ns := []*nodeStatus{cs, secondary} logger := testhelper.NewTestLogger(t).WithField("test", t.Name()) strategy := newLocalElector(storageName, true, true, logger, ns) diff --git a/internal/praefect/nodes/manager.go b/internal/praefect/nodes/manager.go index 91f2c1d97..defc1cd90 100644 --- a/internal/praefect/nodes/manager.go +++ b/internal/praefect/nodes/manager.go @@ -19,7 +19,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" "gitlab.com/gitlab-org/gitaly/internal/praefect/grpc-proxy/proxy" "gitlab.com/gitlab-org/gitaly/internal/praefect/metrics" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" prommetrics "gitlab.com/gitlab-org/gitaly/internal/prometheus/metrics" correlation "gitlab.com/gitlab-org/labkit/correlation/grpc" grpctracing "gitlab.com/gitlab-org/labkit/tracing/grpc" @@ -229,7 +228,7 @@ func (n *Mgr) GetSyncedNode(ctx context.Context, virtualStorageName, repoPath st return shard.Primary, nil // there is no matched secondaries, maybe because of re-configuration } -func newConnectionStatus(node models.Node, cc *grpc.ClientConn, l *logrus.Entry, latencyHist prommetrics.HistogramVec) *nodeStatus { +func newConnectionStatus(node config.Node, cc *grpc.ClientConn, l *logrus.Entry, latencyHist prommetrics.HistogramVec) *nodeStatus { return &nodeStatus{ Node: node, ClientConn: cc, @@ -239,7 +238,7 @@ func newConnectionStatus(node models.Node, cc *grpc.ClientConn, l *logrus.Entry, } type nodeStatus struct { - models.Node + config.Node *grpc.ClientConn log *logrus.Entry latencyHist prommetrics.HistogramVec diff --git a/internal/praefect/nodes/manager_test.go b/internal/praefect/nodes/manager_test.go index e2b318a59..f3d743203 100644 --- a/internal/praefect/nodes/manager_test.go +++ b/internal/praefect/nodes/manager_test.go @@ -11,7 +11,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/metadata/featureflag" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/internal/testhelper/promtest" "google.golang.org/grpc" @@ -34,7 +33,7 @@ func TestNodeStatus(t *testing.T) { mockHistogramVec := promtest.NewMockHistogramVec() storageName := "default" - cs := newConnectionStatus(models.Node{Storage: storageName}, cc, testhelper.DiscardTestEntry(t), mockHistogramVec) + cs := newConnectionStatus(config.Node{Storage: storageName}, cc, testhelper.DiscardTestEntry(t), mockHistogramVec) var expectedLabels [][]string for i := 0; i < healthcheckThreshold; i++ { @@ -63,7 +62,7 @@ func TestManagerFailoverDisabledElectionStrategySQL(t *testing.T) { socket0, socket1 := testhelper.GetTemporaryGitalySocketFileName(), testhelper.GetTemporaryGitalySocketFileName() virtualStorage := &config.VirtualStorage{ Name: virtualStorageName, - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: primaryStorage, Address: "unix://" + socket0, @@ -113,7 +112,7 @@ func TestPrimaryIsSecond(t *testing.T) { virtualStorages := []*config.VirtualStorage{ { Name: "virtual-storage-0", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "praefect-internal-0", Address: "unix://" + gitalySocket0, @@ -164,7 +163,7 @@ func TestBlockingDial(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: storageName, - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "internal-storage", Address: "unix://" + gitalySocket, @@ -206,7 +205,7 @@ func TestNodeManager(t *testing.T) { virtualStorages := []*config.VirtualStorage{ { Name: "virtual-storage-0", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "praefect-internal-0", Address: "unix://" + internalSocket0, @@ -333,7 +332,7 @@ func TestMgr_GetSyncedNode(t *testing.T) { virtualStorages := []*config.VirtualStorage{ { Name: "virtual-storage-0", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "gitaly-0", Address: vs0Primary, @@ -348,7 +347,7 @@ func TestMgr_GetSyncedNode(t *testing.T) { { // second virtual storage needed to check there is no intersections between two even with same storage names Name: "virtual-storage-1", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { // same storage name as in other virtual storage is used intentionally Storage: "gitaly-1", diff --git a/internal/praefect/nodes/sql_elector_test.go b/internal/praefect/nodes/sql_elector_test.go index adc602952..6d4be1bd5 100644 --- a/internal/praefect/nodes/sql_elector_test.go +++ b/internal/praefect/nodes/sql_elector_test.go @@ -11,7 +11,6 @@ import ( "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore/glsql" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/internal/testhelper/promtest" "google.golang.org/grpc" @@ -43,7 +42,7 @@ func TestGetPrimaryAndSecondaries(t *testing.T) { storageName := "default" mockHistogramVec0 := promtest.NewMockHistogramVec() - cs0 := newConnectionStatus(models.Node{Storage: storageName + "-0"}, cc0, testhelper.DiscardTestEntry(t), mockHistogramVec0) + cs0 := newConnectionStatus(config.Node{Storage: storageName + "-0"}, cc0, testhelper.DiscardTestEntry(t), mockHistogramVec0) ns := []*nodeStatus{cs0} elector := newSQLElector(shardName, conf, 1, defaultActivePraefectSeconds, db.DB, logger, ns) @@ -98,8 +97,8 @@ func TestBasicFailover(t *testing.T) { storageName := "default" mockHistogramVec0, mockHistogramVec1 := promtest.NewMockHistogramVec(), promtest.NewMockHistogramVec() - cs0 := newConnectionStatus(models.Node{Storage: storageName + "-0"}, cc0, testhelper.DiscardTestEntry(t), mockHistogramVec0) - cs1 := newConnectionStatus(models.Node{Storage: storageName + "-1"}, cc1, testhelper.DiscardTestEntry(t), mockHistogramVec1) + cs0 := newConnectionStatus(config.Node{Storage: storageName + "-0"}, cc0, testhelper.DiscardTestEntry(t), mockHistogramVec0) + cs1 := newConnectionStatus(config.Node{Storage: storageName + "-1"}, cc1, testhelper.DiscardTestEntry(t), mockHistogramVec1) ns := []*nodeStatus{cs0, cs1} failoverTimeSeconds := 1 @@ -177,7 +176,7 @@ func TestBasicFailover(t *testing.T) { func TestElectDemotedPrimary(t *testing.T) { db := getDB(t) - node := models.Node{Storage: "gitaly-0"} + node := config.Node{Storage: "gitaly-0"} elector := newSQLElector( shardName, config.Config{}, @@ -227,17 +226,17 @@ func TestElectNewPrimary(t *testing.T) { db := getDB(t) ns := []*nodeStatus{{ - Node: models.Node{ + Node: config.Node{ Storage: "gitaly-0", DefaultPrimary: true, }, }, { - Node: models.Node{ + Node: config.Node{ Storage: "gitaly-1", DefaultPrimary: true, }, }, { - Node: models.Node{ + Node: config.Node{ Storage: "gitaly-2", DefaultPrimary: true, }, @@ -247,13 +246,13 @@ func TestElectNewPrimary(t *testing.T) { candidates := []*sqlCandidate{ { &nodeStatus{ - Node: models.Node{ + Node: config.Node{ Storage: "gitaly-1", }, }, }, { &nodeStatus{ - Node: models.Node{ + Node: config.Node{ Storage: "gitaly-2", }, }, diff --git a/internal/praefect/replicator_test.go b/internal/praefect/replicator_test.go index fbfcb96ab..33633a19b 100644 --- a/internal/praefect/replicator_test.go +++ b/internal/praefect/replicator_test.go @@ -19,7 +19,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/middleware/metadatahandler" "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/praefect/nodes" "gitlab.com/gitlab-org/gitaly/internal/praefect/protoregistry" "gitlab.com/gitlab-org/gitaly/internal/praefect/transactions" @@ -72,14 +71,14 @@ func TestProcessReplicationJob(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "default", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ Storage: "default", Address: srvSocketPath, Token: gitaly_config.Config.Auth.Token, DefaultPrimary: true, }, - &models.Node{ + &config.Node{ Storage: backupStorageName, Address: srvSocketPath, Token: gitaly_config.Config.Auth.Token, @@ -197,7 +196,7 @@ func TestPropagateReplicationJob(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "default", - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: primaryStorage, Address: primarySocketPath, @@ -414,13 +413,13 @@ func TestProcessBacklog_FailedJobs(t *testing.T) { defer os.RemoveAll(backupDir) - primary := models.Node{ + primary := config.Node{ Storage: "default", Address: "unix://" + primarySocket, DefaultPrimary: true, } - secondary := models.Node{ + secondary := config.Node{ Storage: backupStorageName, Address: "unix://" + primarySocket, } @@ -429,7 +428,7 @@ func TestProcessBacklog_FailedJobs(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "praefect", - Nodes: []*models.Node{ + Nodes: []*config.Node{ &primary, &secondary, }, @@ -533,13 +532,13 @@ func TestProcessBacklog_Success(t *testing.T) { testRepo, _, cleanupFn := testhelper.NewTestRepo(t) defer cleanupFn() - primary := models.Node{ + primary := config.Node{ Storage: "default", Address: "unix://" + primarySocket, DefaultPrimary: true, } - secondary := models.Node{ + secondary := config.Node{ Storage: "backup", Address: "unix://" + primarySocket, } @@ -548,7 +547,7 @@ func TestProcessBacklog_Success(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "default", - Nodes: []*models.Node{ + Nodes: []*config.Node{ &primary, &secondary, }, @@ -682,7 +681,7 @@ func TestProcessBacklog_ReplicatesToReadOnlyPrimary(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: virtualStorage, - Nodes: []*models.Node{ + Nodes: []*config.Node{ {Storage: primaryStorage}, {Storage: secondaryStorage}, }, diff --git a/internal/praefect/server_test.go b/internal/praefect/server_test.go index 9feaf3d7a..c4dd3be1d 100644 --- a/internal/praefect/server_test.go +++ b/internal/praefect/server_test.go @@ -22,7 +22,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/praefect/config" "gitlab.com/gitlab-org/gitaly/internal/praefect/datastore" "gitlab.com/gitlab-org/gitaly/internal/praefect/mock" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" "gitlab.com/gitlab-org/gitaly/internal/testhelper" "gitlab.com/gitlab-org/gitaly/internal/version" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" @@ -84,13 +83,13 @@ func TestGitalyServerInfo(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "virtual-storage-1", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ Storage: "praefect-internal-1", DefaultPrimary: true, Token: "abc", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-2", Token: "abc", }, @@ -148,8 +147,8 @@ func TestGitalyServerInfoBadNode(t *testing.T) { conf := config.Config{ VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ Storage: "praefect-internal-1", Address: "unix://" + gitalySocket, DefaultPrimary: true, @@ -177,7 +176,7 @@ func TestGitalyDiskStatistics(t *testing.T) { conf := config.Config{ VirtualStorages: []*config.VirtualStorage{ { - Nodes: []*models.Node{ + Nodes: []*config.Node{ { Storage: "praefect-internal-1", DefaultPrimary: true, @@ -225,8 +224,8 @@ func TestRejectBadStorage(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: "praefect-internal-0", Address: "tcp::/this-doesnt-matter", @@ -258,13 +257,13 @@ func TestWarnDuplicateAddrs(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "default", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: "praefect-internal-0", Address: "tcp://abc", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-1", Address: "tcp://xyz", }, @@ -272,13 +271,13 @@ func TestWarnDuplicateAddrs(t *testing.T) { }, &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: "praefect-internal-0", Address: "tcp://abc", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-1", Address: "tcp://xyz", }, @@ -304,13 +303,13 @@ func TestWarnDuplicateAddrs(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: "praefect-internal-0", Address: "tcp::/samesies", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-1", Address: "tcp::/samesies", }, @@ -341,13 +340,13 @@ func TestWarnDuplicateAddrs(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "default", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: "praefect-internal-0", Address: "tcp://abc", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-1", Address: "tcp://xyz", }, @@ -355,13 +354,13 @@ func TestWarnDuplicateAddrs(t *testing.T) { }, &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: "praefect-internal-0", Address: "tcp://abc", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-2", Address: "tcp://xyz", }, @@ -388,17 +387,17 @@ func TestRepoRemoval(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ &config.VirtualStorage{ Name: "praefect", - Nodes: []*models.Node{ - &models.Node{ + Nodes: []*config.Node{ + &config.Node{ DefaultPrimary: true, Storage: gconfig.Config.Storages[0].Name, Address: "tcp::/samesies", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-1", Address: "tcp::/this-doesnt-matter", }, - &models.Node{ + &config.Node{ Storage: "praefect-internal-2", Address: "tcp::/this-doesnt-matter", }, @@ -512,7 +511,7 @@ func TestRepoRename(t *testing.T) { VirtualStorages: []*config.VirtualStorage{ { Name: "praefect", - Nodes: []*models.Node{ + Nodes: []*config.Node{ 0: { DefaultPrimary: true, Storage: gconfig.Config.Storages[0].Name, diff --git a/internal/testhelper/testserver.go b/internal/testhelper/testserver.go index e7672c5e1..26f990aa7 100644 --- a/internal/testhelper/testserver.go +++ b/internal/testhelper/testserver.go @@ -33,7 +33,6 @@ import ( "gitlab.com/gitlab-org/gitaly/internal/gitlabshell" "gitlab.com/gitlab-org/gitaly/internal/helper/fieldextractors" praefectconfig "gitlab.com/gitlab-org/gitaly/internal/praefect/config" - "gitlab.com/gitlab-org/gitaly/internal/praefect/models" serverauth "gitlab.com/gitlab-org/gitaly/internal/server/auth" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" "google.golang.org/grpc" @@ -171,7 +170,7 @@ func (p *TestServer) Start() error { c.VirtualStorages = append(c.VirtualStorages, &praefectconfig.VirtualStorage{ Name: storage, - Nodes: []*models.Node{ + Nodes: []*praefectconfig.Node{ { Storage: storage, Address: "unix:/" + gitalyServerSocketPath, |