Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Okstad <pokstad@gitlab.com>2020-11-10 11:08:09 +0300
committerPaul Okstad <pokstad@gitlab.com>2020-11-11 00:18:22 +0300
commit3588c9cb9fbffad39af63547210578c455c9840d (patch)
tree67faa15ae735d263e5988571657259d53ea1c20b
parentdb0b171b4a310bfb12cfb54c0470296ed77c0cd8 (diff)
Inject config into object pool
-rw-r--r--internal/git/objectpool/clone_test.go4
-rw-r--r--internal/git/objectpool/fetch.go24
-rw-r--r--internal/git/objectpool/fetch_test.go8
-rw-r--r--internal/git/objectpool/pool.go12
-rw-r--r--internal/git/objectpool/pool_test.go21
-rw-r--r--internal/git/objectpool/proto.go6
-rw-r--r--internal/git/objectpool/testhelper_test.go2
-rw-r--r--internal/gitaly/service/objectpool/alternates_test.go3
-rw-r--r--internal/gitaly/service/objectpool/create.go3
-rw-r--r--internal/gitaly/service/objectpool/create_test.go6
-rw-r--r--internal/gitaly/service/objectpool/fetch_into_object_pool.go3
-rw-r--r--internal/gitaly/service/objectpool/fetch_into_object_pool_test.go7
-rw-r--r--internal/gitaly/service/objectpool/get.go3
-rw-r--r--internal/gitaly/service/objectpool/get_test.go3
-rw-r--r--internal/gitaly/service/objectpool/link_test.go15
-rw-r--r--internal/gitaly/service/objectpool/reduplicate_test.go3
-rw-r--r--internal/gitaly/service/repository/clone_from_pool.go4
-rw-r--r--internal/gitaly/service/repository/clone_from_pool_internal.go4
-rw-r--r--internal/gitaly/service/repository/clone_from_pool_internal_test.go2
-rw-r--r--internal/gitaly/service/repository/testdata/gitlab-shell/config.yml2
-rw-r--r--internal/gitaly/service/smarthttp/inforefs_test.go2
-rw-r--r--internal/gitaly/service/ssh/receive_pack_test.go2
-rw-r--r--internal/praefect/replicator_test.go2
23 files changed, 78 insertions, 63 deletions
diff --git a/internal/git/objectpool/clone_test.go b/internal/git/objectpool/clone_test.go
index cb10fd01d..53abcbbab 100644
--- a/internal/git/objectpool/clone_test.go
+++ b/internal/git/objectpool/clone_test.go
@@ -16,7 +16,7 @@ func TestClone(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := NewObjectPool(config.NewLocator(config.Config), testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
err = pool.clone(ctx, testRepo)
@@ -34,7 +34,7 @@ func TestCloneExistingPool(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := NewObjectPool(config.NewLocator(config.Config), testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
err = pool.clone(ctx, testRepo)
diff --git a/internal/git/objectpool/fetch.go b/internal/git/objectpool/fetch.go
index 0e4a30c4c..4ac559962 100644
--- a/internal/git/objectpool/fetch.go
+++ b/internal/git/objectpool/fetch.go
@@ -17,7 +17,6 @@ import (
"gitlab.com/gitlab-org/gitaly/internal/git"
"gitlab.com/gitlab-org/gitaly/internal/git/repository"
"gitlab.com/gitlab-org/gitaly/internal/git/updateref"
- "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/helper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
)
@@ -39,7 +38,11 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos
return err
}
- getRemotes, err := git.SafeCmd(ctx, o, nil, git.SubCmd{Name: "remote"})
+ opts := []git.CmdOpt{
+ git.WithRefTxHook(ctx, helper.ProtoRepoFromRepo(o), o.cfg),
+ }
+
+ getRemotes, err := git.SafeCmd(ctx, o, nil, git.SubCmd{Name: "remote"}, opts...)
if err != nil {
return err
}
@@ -61,7 +64,7 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos
setOriginCmd, err = git.SafeCmd(ctx, o, nil, git.SubCmd{
Name: "remote",
Args: []string{"set-url", sourceRemote, originPath},
- }, git.WithRefTxHook(ctx, helper.ProtoRepoFromRepo(o), config.Config))
+ }, opts...)
if err != nil {
return err
}
@@ -69,7 +72,7 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos
setOriginCmd, err = git.SafeCmd(ctx, o, nil, git.SubCmd{
Name: "remote",
Args: []string{"add", sourceRemote, originPath},
- }, git.WithRefTxHook(ctx, helper.ProtoRepoFromRepo(o), config.Config))
+ }, opts...)
if err != nil {
return err
}
@@ -84,11 +87,14 @@ func (o *ObjectPool) FetchFromOrigin(ctx context.Context, origin *gitalypb.Repos
}
refSpec := fmt.Sprintf("+refs/*:%s/*", sourceRefNamespace)
- fetchCmd, err := git.SafeCmd(ctx, o, nil, git.SubCmd{
- Name: "fetch",
- Flags: []git.Option{git.Flag{Name: "--quiet"}},
- Args: []string{sourceRemote, refSpec},
- })
+ fetchCmd, err := git.SafeCmd(ctx, o, nil,
+ git.SubCmd{
+ Name: "fetch",
+ Flags: []git.Option{git.Flag{Name: "--quiet"}},
+ Args: []string{sourceRemote, refSpec},
+ },
+ opts...,
+ )
if err != nil {
return err
}
diff --git a/internal/git/objectpool/fetch_test.go b/internal/git/objectpool/fetch_test.go
index 4998d2b3a..187ec42dc 100644
--- a/internal/git/objectpool/fetch_test.go
+++ b/internal/git/objectpool/fetch_test.go
@@ -18,7 +18,7 @@ func TestFetchFromOriginDangling(t *testing.T) {
source, _, cleanup := testhelper.NewTestRepo(t)
defer cleanup()
- pool, err := NewObjectPool(config.NewLocator(config.Config), source.StorageName, testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, source.StorageName, testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
ctx, cancel := testhelper.Context()
@@ -90,7 +90,7 @@ func TestFetchFromOriginDeltaIslands(t *testing.T) {
source, sourcePath, cleanup := testhelper.NewTestRepo(t)
defer cleanup()
- pool, err := NewObjectPool(config.NewLocator(config.Config), source.StorageName, testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, source.StorageName, testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
ctx, cancel := testhelper.Context()
@@ -116,7 +116,7 @@ func TestFetchFromOriginBitmapHashCache(t *testing.T) {
source, _, cleanup := testhelper.NewTestRepo(t)
defer cleanup()
- pool, err := NewObjectPool(config.NewLocator(config.Config), source.StorageName, testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, source.StorageName, testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
ctx, cancel := testhelper.Context()
@@ -145,7 +145,7 @@ func TestFetchFromOriginRefUpdates(t *testing.T) {
source, sourcePath, cleanup := testhelper.NewTestRepo(t)
defer cleanup()
- pool, err := NewObjectPool(config.NewLocator(config.Config), source.StorageName, testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, source.StorageName, testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
poolPath := pool.FullPath()
diff --git a/internal/git/objectpool/pool.go b/internal/git/objectpool/pool.go
index 9cef00394..835490538 100644
--- a/internal/git/objectpool/pool.go
+++ b/internal/git/objectpool/pool.go
@@ -13,6 +13,7 @@ import (
"strings"
"gitlab.com/gitlab-org/gitaly/internal/git"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/helper"
"gitlab.com/gitlab-org/gitaly/internal/storage"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
@@ -32,6 +33,7 @@ const ErrInvalidPoolDir errString = "invalid object pool directory"
// live in a pool in a distinct repository which is used as an alternate object
// store for other repositories.
type ObjectPool struct {
+ cfg config.Cfg
locator storage.Locator
storageName string
storagePath string
@@ -42,7 +44,7 @@ type ObjectPool struct {
// NewObjectPool will initialize the object with the required data on the storage
// shard. Relative path is validated to match the expected naming and directory
// structure. If the shard cannot be found, this function returns an error.
-func NewObjectPool(locator storage.Locator, storageName, relativePath string) (pool *ObjectPool, err error) {
+func NewObjectPool(cfg config.Cfg, storageName, relativePath string) (pool *ObjectPool, err error) {
storagePath, err := helper.GetStorageByName(storageName)
if err != nil {
return nil, err
@@ -53,7 +55,7 @@ func NewObjectPool(locator storage.Locator, storageName, relativePath string) (p
return nil, ErrInvalidPoolDir
}
- return &ObjectPool{locator: locator, storageName: storageName, storagePath: storagePath, relativePath: relativePath}, nil
+ return &ObjectPool{cfg: cfg, locator: config.NewLocator(cfg), storageName: storageName, storagePath: storagePath, relativePath: relativePath}, nil
}
// GetGitAlternateObjectDirectories for object pools are empty, given pools are
@@ -140,7 +142,9 @@ func (o *ObjectPool) Init(ctx context.Context) (err error) {
}
// FromRepo returns an instance of ObjectPool that the repository points to
-func FromRepo(locator storage.Locator, repo *gitalypb.Repository) (*ObjectPool, error) {
+func FromRepo(cfg config.Cfg, repo *gitalypb.Repository) (*ObjectPool, error) {
+ locator := config.NewLocator(cfg)
+
dir, err := getAlternateObjectDir(locator, repo)
if err != nil {
return nil, err
@@ -160,7 +164,7 @@ func FromRepo(locator storage.Locator, repo *gitalypb.Repository) (*ObjectPool,
return nil, err
}
- return NewObjectPool(locator, repo.GetStorageName(), filepath.Dir(altPathRelativeToStorage))
+ return NewObjectPool(cfg, repo.GetStorageName(), filepath.Dir(altPathRelativeToStorage))
}
var (
diff --git a/internal/git/objectpool/pool_test.go b/internal/git/objectpool/pool_test.go
index 2a2dd2c54..e6da8db91 100644
--- a/internal/git/objectpool/pool_test.go
+++ b/internal/git/objectpool/pool_test.go
@@ -14,10 +14,10 @@ import (
)
func TestNewObjectPool(t *testing.T) {
- _, err := NewObjectPool(nil, "default", testhelper.NewTestObjectPoolName(t))
+ _, err := NewObjectPool(config.Config, "default", testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
- _, err = NewObjectPool(nil, "mepmep", testhelper.NewTestObjectPoolName(t))
+ _, err = NewObjectPool(config.Config, "mepmep", testhelper.NewTestObjectPoolName(t))
require.Error(t, err, "creating pool in storage that does not exist should fail")
}
@@ -27,9 +27,8 @@ func TestNewFromRepoSuccess(t *testing.T) {
defer cleanup()
relativePoolPath := testhelper.NewTestObjectPoolName(t)
- locator := config.NewLocator(config.Config)
- pool, err := NewObjectPool(locator, testRepo.GetStorageName(), relativePoolPath)
+ pool, err := NewObjectPool(config.Config, testRepo.GetStorageName(), relativePoolPath)
require.NoError(t, err)
defer pool.Remove(ctx)
@@ -37,7 +36,7 @@ func TestNewFromRepoSuccess(t *testing.T) {
require.NoError(t, pool.Create(ctx, testRepo))
require.NoError(t, pool.Link(ctx, testRepo))
- poolFromRepo, err := FromRepo(locator, testRepo)
+ poolFromRepo, err := FromRepo(config.Config, testRepo)
require.NoError(t, err)
require.Equal(t, relativePoolPath, poolFromRepo.relativePath)
require.Equal(t, pool.storageName, poolFromRepo.storageName)
@@ -47,10 +46,8 @@ func TestNewFromRepoNoObjectPool(t *testing.T) {
testRepo, testRepoPath, cleanup := testhelper.NewTestRepo(t)
defer cleanup()
- locator := config.NewLocator(config.Config)
-
// no alternates file
- poolFromRepo, err := FromRepo(locator, testRepo)
+ poolFromRepo, err := FromRepo(config.Config, testRepo)
require.Equal(t, ErrAlternateObjectDirNotExist, err)
require.Nil(t, poolFromRepo)
@@ -83,7 +80,7 @@ func TestNewFromRepoNoObjectPool(t *testing.T) {
t.Run(tc.desc, func(t *testing.T) {
alternateFilePath := filepath.Join(testRepoPath, "objects", "info", "alternates")
require.NoError(t, ioutil.WriteFile(alternateFilePath, tc.fileContent, 0644))
- poolFromRepo, err := FromRepo(locator, testRepo)
+ poolFromRepo, err := FromRepo(config.Config, testRepo)
require.Equal(t, tc.expectedErr, err)
require.Nil(t, poolFromRepo)
@@ -101,7 +98,7 @@ func TestCreate(t *testing.T) {
masterSha := testhelper.MustRunCommand(t, nil, "git", "-C", testRepoPath, "show-ref", "master")
- pool, err := NewObjectPool(config.NewLocator(config.Config), testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
err = pool.Create(ctx, testRepo)
@@ -134,7 +131,7 @@ func TestCreateSubDirsExist(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := NewObjectPool(config.NewLocator(config.Config), testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
defer pool.Remove(ctx)
require.NoError(t, err)
@@ -155,7 +152,7 @@ func TestRemove(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := NewObjectPool(config.NewLocator(config.Config), testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
err = pool.Create(ctx, testRepo)
diff --git a/internal/git/objectpool/proto.go b/internal/git/objectpool/proto.go
index 1e69f5a50..f033e1217 100644
--- a/internal/git/objectpool/proto.go
+++ b/internal/git/objectpool/proto.go
@@ -1,13 +1,13 @@
package objectpool
import (
- "gitlab.com/gitlab-org/gitaly/internal/storage"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
)
// FromProto returns an object pool object from a git repository object
-func FromProto(locator storage.Locator, o *gitalypb.ObjectPool) (*ObjectPool, error) {
- return NewObjectPool(locator, o.GetRepository().GetStorageName(), o.GetRepository().GetRelativePath())
+func FromProto(cfg config.Cfg, o *gitalypb.ObjectPool) (*ObjectPool, error) {
+ return NewObjectPool(cfg, o.GetRepository().GetStorageName(), o.GetRepository().GetRelativePath())
}
// ToProto returns a new struct that is the protobuf definition of the ObjectPool
diff --git a/internal/git/objectpool/testhelper_test.go b/internal/git/objectpool/testhelper_test.go
index 21eef190a..20dd12e23 100644
--- a/internal/git/objectpool/testhelper_test.go
+++ b/internal/git/objectpool/testhelper_test.go
@@ -16,7 +16,7 @@ func TestMain(m *testing.M) {
}
func NewTestObjectPool(ctx context.Context, t *testing.T, storageName string) (*ObjectPool, func()) {
- pool, err := NewObjectPool(config.NewLocator(config.Config), storageName, testhelper.NewTestObjectPoolName(t))
+ pool, err := NewObjectPool(config.Config, storageName, testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
return pool, func() {
require.NoError(t, pool.Remove(ctx))
diff --git a/internal/gitaly/service/objectpool/alternates_test.go b/internal/gitaly/service/objectpool/alternates_test.go
index f9ff064e2..a281ce3e6 100644
--- a/internal/gitaly/service/objectpool/alternates_test.go
+++ b/internal/gitaly/service/objectpool/alternates_test.go
@@ -9,6 +9,7 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/internal/git"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
gconfig "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
@@ -28,7 +29,7 @@ func TestDisconnectGitAlternates(t *testing.T) {
testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
diff --git a/internal/gitaly/service/objectpool/create.go b/internal/gitaly/service/objectpool/create.go
index 407e56287..7cd4f8686 100644
--- a/internal/gitaly/service/objectpool/create.go
+++ b/internal/gitaly/service/objectpool/create.go
@@ -4,6 +4,7 @@ import (
"context"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/helper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
"google.golang.org/grpc/codes"
@@ -67,7 +68,7 @@ func (s *server) poolForRequest(req poolRequest) (*objectpool.ObjectPool, error)
return nil, errMissingPool
}
- pool, err := objectpool.NewObjectPool(s.locator, poolRepo.GetStorageName(), poolRepo.GetRelativePath())
+ pool, err := objectpool.NewObjectPool(config.Config, poolRepo.GetStorageName(), poolRepo.GetRelativePath())
if err != nil {
if err == objectpool.ErrInvalidPoolDir {
return nil, errInvalidPoolDir
diff --git a/internal/gitaly/service/objectpool/create_test.go b/internal/gitaly/service/objectpool/create_test.go
index 69bfeb0f1..848520fb0 100644
--- a/internal/gitaly/service/objectpool/create_test.go
+++ b/internal/gitaly/service/objectpool/create_test.go
@@ -29,7 +29,7 @@ func TestCreate(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, "default", testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, "default", testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
poolReq := &gitalypb.CreateObjectPoolRequest{
@@ -77,7 +77,7 @@ func TestUnsuccessfulCreate(t *testing.T) {
defer cleanupFn()
validPoolPath := testhelper.NewTestObjectPoolName(t)
- pool, err := objectpool.NewObjectPool(locator, "default", validPoolPath)
+ pool, err := objectpool.NewObjectPool(config.Config, "default", validPoolPath)
require.NoError(t, err)
defer pool.Remove(ctx)
@@ -177,7 +177,7 @@ func TestDelete(t *testing.T) {
defer cleanupFn()
validPoolPath := testhelper.NewTestObjectPoolName(t)
- pool, err := objectpool.NewObjectPool(locator, "default", validPoolPath)
+ pool, err := objectpool.NewObjectPool(config.Config, "default", validPoolPath)
require.NoError(t, err)
require.NoError(t, pool.Create(ctx, testRepo))
diff --git a/internal/gitaly/service/objectpool/fetch_into_object_pool.go b/internal/gitaly/service/objectpool/fetch_into_object_pool.go
index e289dccd8..6c309447b 100644
--- a/internal/gitaly/service/objectpool/fetch_into_object_pool.go
+++ b/internal/gitaly/service/objectpool/fetch_into_object_pool.go
@@ -7,6 +7,7 @@ import (
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
"gitlab.com/gitlab-org/gitaly/internal/git/stats"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/helper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
)
@@ -16,7 +17,7 @@ func (s *server) FetchIntoObjectPool(ctx context.Context, req *gitalypb.FetchInt
return nil, helper.ErrInvalidArgument(err)
}
- objectPool, err := objectpool.FromProto(s.locator, req.GetObjectPool())
+ objectPool, err := objectpool.FromProto(config.Config, req.GetObjectPool())
if err != nil {
return nil, helper.ErrInvalidArgument(fmt.Errorf("object pool invalid: %v", err))
}
diff --git a/internal/gitaly/service/objectpool/fetch_into_object_pool_test.go b/internal/gitaly/service/objectpool/fetch_into_object_pool_test.go
index b3503381e..f1da33c6c 100644
--- a/internal/gitaly/service/objectpool/fetch_into_object_pool_test.go
+++ b/internal/gitaly/service/objectpool/fetch_into_object_pool_test.go
@@ -12,6 +12,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
gconfig "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
@@ -35,7 +36,7 @@ func TestFetchIntoObjectPool_Success(t *testing.T) {
repoCommit := testhelper.CreateCommit(t, testRepoPath, t.Name(), &testhelper.CreateCommitOpts{Message: t.Name()})
- pool, err := objectpool.NewObjectPool(locator, "default", testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, "default", testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
@@ -89,7 +90,7 @@ func TestFetchIntoObjectPool_CollectLogStatistics(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, "default", testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, "default", testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
@@ -127,7 +128,7 @@ func TestFetchIntoObjectPool_Failure(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, "default", testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, "default", testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
diff --git a/internal/gitaly/service/objectpool/get.go b/internal/gitaly/service/objectpool/get.go
index c409ee869..06788e52b 100644
--- a/internal/gitaly/service/objectpool/get.go
+++ b/internal/gitaly/service/objectpool/get.go
@@ -6,6 +6,7 @@ import (
"github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/helper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
)
@@ -15,7 +16,7 @@ func (s *server) GetObjectPool(ctx context.Context, in *gitalypb.GetObjectPoolRe
return nil, helper.ErrInternal(errors.New("repository is empty"))
}
- objectPool, err := objectpool.FromRepo(s.locator, in.GetRepository())
+ objectPool, err := objectpool.FromRepo(config.Config, in.GetRepository())
if err != nil {
ctxlogrus.Extract(ctx).
diff --git a/internal/gitaly/service/objectpool/get_test.go b/internal/gitaly/service/objectpool/get_test.go
index 7294daa53..11dfffeea 100644
--- a/internal/gitaly/service/objectpool/get_test.go
+++ b/internal/gitaly/service/objectpool/get_test.go
@@ -8,6 +8,7 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
gconfig "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
@@ -26,7 +27,7 @@ func TestGetObjectPoolSuccess(t *testing.T) {
relativePoolPath := testhelper.NewTestObjectPoolName(t)
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), relativePoolPath)
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), relativePoolPath)
require.NoError(t, err)
poolCtx, cancel := testhelper.Context()
diff --git a/internal/gitaly/service/objectpool/link_test.go b/internal/gitaly/service/objectpool/link_test.go
index 1a71288bb..a5f0fa7db 100644
--- a/internal/gitaly/service/objectpool/link_test.go
+++ b/internal/gitaly/service/objectpool/link_test.go
@@ -9,6 +9,7 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/internal/git/log"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
gconfig "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/storage"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
@@ -30,7 +31,7 @@ func TestLink(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
require.NoError(t, pool.Remove(ctx), "make sure pool does not exist at start of test")
@@ -104,7 +105,7 @@ func TestLinkIdempotent(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
require.NoError(t, pool.Create(ctx, testRepo))
@@ -135,7 +136,7 @@ func TestLinkNoClobber(t *testing.T) {
testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
@@ -175,7 +176,7 @@ func TestLinkNoPool(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
// intentionally do not call pool.Create
defer pool.Remove(ctx)
@@ -211,7 +212,7 @@ func TestUnlink(t *testing.T) {
deletedRepo, deletedRepoPath, removeDeletedRepo := testhelper.NewTestRepo(t)
defer removeDeletedRepo()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
@@ -222,7 +223,7 @@ func TestUnlink(t *testing.T) {
removeDeletedRepo()
testhelper.AssertPathNotExists(t, deletedRepoPath)
- pool2, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool2, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
require.NoError(t, pool2.Create(ctx, testRepo), "create pool 2")
defer pool2.Remove(ctx)
@@ -321,7 +322,7 @@ func TestUnlinkIdempotent(t *testing.T) {
testRepo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
require.NoError(t, pool.Create(ctx, testRepo))
diff --git a/internal/gitaly/service/objectpool/reduplicate_test.go b/internal/gitaly/service/objectpool/reduplicate_test.go
index c5b197126..b3e018e65 100644
--- a/internal/gitaly/service/objectpool/reduplicate_test.go
+++ b/internal/gitaly/service/objectpool/reduplicate_test.go
@@ -7,6 +7,7 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/internal/git"
"gitlab.com/gitlab-org/gitaly/internal/git/objectpool"
+ "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
gconfig "gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"
@@ -26,7 +27,7 @@ func TestReduplicate(t *testing.T) {
testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(locator, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, testRepo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
defer pool.Remove(ctx)
require.NoError(t, pool.Create(ctx, testRepo))
diff --git a/internal/gitaly/service/repository/clone_from_pool.go b/internal/gitaly/service/repository/clone_from_pool.go
index 6f07fb0f2..2e7186a3d 100644
--- a/internal/gitaly/service/repository/clone_from_pool.go
+++ b/internal/gitaly/service/repository/clone_from_pool.go
@@ -32,7 +32,7 @@ func (s *server) CloneFromPool(ctx context.Context, req *gitalypb.CloneFromPoolR
return nil, helper.ErrInternalf("fetch http remote: %v", err)
}
- objectPool, err := objectpool.FromProto(s.locator, req.GetPool())
+ objectPool, err := objectpool.FromProto(s.cfg, req.GetPool())
if err != nil {
return nil, helper.ErrInternalf("get object pool from request: %v", err)
}
@@ -54,7 +54,7 @@ func (s *server) validateCloneFromPoolRequestRepositoryState(req *gitalypb.Clone
return errors.New("target reopsitory already exists")
}
- objectPool, err := objectpool.FromProto(s.locator, req.GetPool())
+ objectPool, err := objectpool.FromProto(s.cfg, req.GetPool())
if err != nil {
return fmt.Errorf("getting object pool from repository: %v", err)
}
diff --git a/internal/gitaly/service/repository/clone_from_pool_internal.go b/internal/gitaly/service/repository/clone_from_pool_internal.go
index f3bd6bfc4..7f9dbdad1 100644
--- a/internal/gitaly/service/repository/clone_from_pool_internal.go
+++ b/internal/gitaly/service/repository/clone_from_pool_internal.go
@@ -46,7 +46,7 @@ func (s *server) CloneFromPoolInternal(ctx context.Context, req *gitalypb.CloneF
return nil, helper.ErrInternalf("fetch internal remote failed")
}
- objectPool, err := objectpool.FromProto(s.locator, req.GetPool())
+ objectPool, err := objectpool.FromProto(s.cfg, req.GetPool())
if err != nil {
return nil, helper.ErrInternalf("get object pool from request: %v", err)
}
@@ -68,7 +68,7 @@ func (s *server) validateCloneFromPoolInternalRequestRepositoryState(req *gitaly
return errors.New("target reopsitory already exists")
}
- objectPool, err := objectpool.FromProto(s.locator, req.GetPool())
+ objectPool, err := objectpool.FromProto(s.cfg, req.GetPool())
if err != nil {
return fmt.Errorf("getting object pool from repository: %v", err)
}
diff --git a/internal/gitaly/service/repository/clone_from_pool_internal_test.go b/internal/gitaly/service/repository/clone_from_pool_internal_test.go
index 719f8b6b2..942d4feb6 100644
--- a/internal/gitaly/service/repository/clone_from_pool_internal_test.go
+++ b/internal/gitaly/service/repository/clone_from_pool_internal_test.go
@@ -22,7 +22,7 @@ func NewTestObjectPool(t *testing.T) (*objectpool.ObjectPool, *gitalypb.Reposito
relativePath := testhelper.NewTestObjectPoolName(t)
repo := testhelper.CreateRepo(t, storagePath, relativePath)
- pool, err := objectpool.NewObjectPool(config.NewLocator(config.Config), repo.GetStorageName(), relativePath)
+ pool, err := objectpool.NewObjectPool(config.Config, repo.GetStorageName(), relativePath)
require.NoError(t, err)
return pool, repo
diff --git a/internal/gitaly/service/repository/testdata/gitlab-shell/config.yml b/internal/gitaly/service/repository/testdata/gitlab-shell/config.yml
index d7abadea0..bcfe53ab6 100644
--- a/internal/gitaly/service/repository/testdata/gitlab-shell/config.yml
+++ b/internal/gitaly/service/repository/testdata/gitlab-shell/config.yml
@@ -1,4 +1,4 @@
-gitlab_url: http://127.0.0.1:53058
+gitlab_url: http://127.0.0.1:51981
http_settings:
user: ""
password: ""
diff --git a/internal/gitaly/service/smarthttp/inforefs_test.go b/internal/gitaly/service/smarthttp/inforefs_test.go
index 692f7f132..d97f84c71 100644
--- a/internal/gitaly/service/smarthttp/inforefs_test.go
+++ b/internal/gitaly/service/smarthttp/inforefs_test.go
@@ -193,7 +193,7 @@ func TestObjectPoolRefAdvertisementHiding(t *testing.T) {
ctx, cancel := testhelper.Context()
defer cancel()
- pool, err := objectpool.NewObjectPool(config.NewLocator(config.Config), repo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, repo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
require.NoError(t, pool.Create(ctx, repo))
diff --git a/internal/gitaly/service/ssh/receive_pack_test.go b/internal/gitaly/service/ssh/receive_pack_test.go
index 3dc204975..f0ebd39e5 100644
--- a/internal/gitaly/service/ssh/receive_pack_test.go
+++ b/internal/gitaly/service/ssh/receive_pack_test.go
@@ -177,7 +177,7 @@ func TestObjectPoolRefAdvertisementHidingSSH(t *testing.T) {
repo, _, cleanupFn := testhelper.NewTestRepo(t)
defer cleanupFn()
- pool, err := objectpool.NewObjectPool(config.NewLocator(config.Config), repo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
+ pool, err := objectpool.NewObjectPool(config.Config, repo.GetStorageName(), testhelper.NewTestObjectPoolName(t))
require.NoError(t, err)
require.NoError(t, pool.Create(ctx, repo))
diff --git a/internal/praefect/replicator_test.go b/internal/praefect/replicator_test.go
index 6eb2132ca..fb9da9222 100644
--- a/internal/praefect/replicator_test.go
+++ b/internal/praefect/replicator_test.go
@@ -96,7 +96,7 @@ func TestReplMgr_ProcessBacklog(t *testing.T) {
// create object pool on the source
objectPoolPath := testhelper.NewTestObjectPoolName(t)
- pool, err := objectpool.NewObjectPool(gitaly_config.NewLocator(gitaly_config.Config), testRepo.GetStorageName(), objectPoolPath)
+ pool, err := objectpool.NewObjectPool(gitaly_config.Config, testRepo.GetStorageName(), objectPoolPath)
require.NoError(t, err)
poolCtx, cancel := testhelper.Context()