mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-27 07:48:55 +00:00
vc/store: fix cache factory ut
In order to run the ut as non-root, we need to add a path prefix for all store paths. Fixes: #2113 Signed-off-by: Peng Tao <bergwolf@hyper.sh>
This commit is contained in:
parent
4863aa998e
commit
6ab89e4549
7
virtcontainers/factory/cache/cache_test.go
vendored
7
virtcontainers/factory/cache/cache_test.go
vendored
@ -14,6 +14,7 @@ import (
|
||||
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/factory/direct"
|
||||
"github.com/kata-containers/runtime/virtcontainers/store"
|
||||
)
|
||||
|
||||
func TestTemplateFactory(t *testing.T) {
|
||||
@ -33,6 +34,12 @@ func TestTemplateFactory(t *testing.T) {
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
var savedStorePath = store.VCStorePrefix
|
||||
store.VCStorePrefix = testDir
|
||||
defer func() {
|
||||
store.VCStorePrefix = savedStorePath
|
||||
}()
|
||||
|
||||
// New
|
||||
f := New(ctx, 2, direct.New(ctx, vmConfig))
|
||||
|
||||
|
@ -17,6 +17,9 @@ import (
|
||||
"github.com/kata-containers/runtime/virtcontainers/types"
|
||||
)
|
||||
|
||||
// VCStorePrefix is only used for tests to config a temp store dir
|
||||
var VCStorePrefix = ""
|
||||
|
||||
// VCStore is a virtcontainers specific Store.
|
||||
// Virtcontainers typically needs a configuration Store for
|
||||
// storing permanent items across reboots.
|
||||
@ -45,6 +48,7 @@ func (s *VCStore) itemToStore(item Item) *Store {
|
||||
func NewVCStore(ctx context.Context, configRoot, stateRoot string) (*VCStore, error) {
|
||||
config, err := New(ctx, configRoot)
|
||||
if err != nil {
|
||||
fmt.Printf("config root %s\n", configRoot)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -243,12 +247,12 @@ func (s *VCStore) Unlock(token string) error {
|
||||
// It should look like file:///var/lib/vc/sbs/<sandboxID>/
|
||||
// Or for rootless: file://<rootlessDir>/var/lib/vc/sbs/<sandboxID>/
|
||||
func SandboxConfigurationRoot(id string) string {
|
||||
return filesystemScheme + "://" + filepath.Join(ConfigStoragePath(), id)
|
||||
return filesystemScheme + "://" + SandboxConfigurationRootPath(id)
|
||||
}
|
||||
|
||||
// SandboxConfigurationRootPath returns a virtcontainers sandbox configuration root path.
|
||||
func SandboxConfigurationRootPath(id string) string {
|
||||
return filepath.Join(ConfigStoragePath(), id)
|
||||
return filepath.Join(VCStorePrefix, ConfigStoragePath(), id)
|
||||
}
|
||||
|
||||
// SandboxConfigurationItemPath returns a virtcontainers sandbox configuration item path.
|
||||
@ -262,12 +266,12 @@ func SandboxConfigurationItemPath(id string, item Item) (string, error) {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return filepath.Join(ConfigStoragePath(), id, itemFile), nil
|
||||
return filepath.Join(VCStorePrefix, ConfigStoragePath(), id, itemFile), nil
|
||||
}
|
||||
|
||||
// VCStoreUUIDPath returns a virtcontainers runtime uuid URL.
|
||||
func VCStoreUUIDPath() string {
|
||||
return filesystemScheme + "://" + VMUUIDStoragePath
|
||||
return filesystemScheme + "://" + filepath.Join(VCStorePrefix, VMUUIDStoragePath)
|
||||
}
|
||||
|
||||
// SandboxRuntimeRoot returns a virtcontainers sandbox runtime root URL.
|
||||
@ -276,12 +280,12 @@ func VCStoreUUIDPath() string {
|
||||
// It should look like file:///run/vc/sbs/<sandboxID>/
|
||||
// or if rootless: file://<rootlessDir>/run/vc/sbs/<sandboxID>/
|
||||
func SandboxRuntimeRoot(id string) string {
|
||||
return filesystemScheme + "://" + filepath.Join(RunStoragePath(), id)
|
||||
return filesystemScheme + "://" + SandboxRuntimeRootPath(id)
|
||||
}
|
||||
|
||||
// SandboxRuntimeRootPath returns a virtcontainers sandbox runtime root path.
|
||||
func SandboxRuntimeRootPath(id string) string {
|
||||
return filepath.Join(RunStoragePath(), id)
|
||||
return filepath.Join(VCStorePrefix, RunStoragePath(), id)
|
||||
}
|
||||
|
||||
// SandboxRuntimeItemPath returns a virtcontainers sandbox runtime item path.
|
||||
@ -303,12 +307,12 @@ func SandboxRuntimeItemPath(id string, item Item) (string, error) {
|
||||
// It should look like file:///var/lib/vc/sbs/<sandboxID>/<containerID>
|
||||
// Or if rootless file://<rootlessDir>/var/lib/vc/sbs/<sandboxID>/<containerID>
|
||||
func ContainerConfigurationRoot(sandboxID, containerID string) string {
|
||||
return filesystemScheme + "://" + filepath.Join(ConfigStoragePath(), sandboxID, containerID)
|
||||
return filesystemScheme + "://" + ContainerConfigurationRootPath(sandboxID, containerID)
|
||||
}
|
||||
|
||||
// ContainerConfigurationRootPath returns a virtcontainers container configuration root path.
|
||||
func ContainerConfigurationRootPath(sandboxID, containerID string) string {
|
||||
return filepath.Join(ConfigStoragePath(), sandboxID, containerID)
|
||||
return filepath.Join(VCStorePrefix, ConfigStoragePath(), sandboxID, containerID)
|
||||
}
|
||||
|
||||
// ContainerRuntimeRoot returns a virtcontainers container runtime root URL.
|
||||
@ -317,12 +321,12 @@ func ContainerConfigurationRootPath(sandboxID, containerID string) string {
|
||||
// It should look like file:///run/vc/sbs/<sandboxID>/<containerID>/
|
||||
// Or for rootless file://<rootlessDir>/run/vc/sbs/<sandboxID>/<containerID>/
|
||||
func ContainerRuntimeRoot(sandboxID, containerID string) string {
|
||||
return filesystemScheme + "://" + filepath.Join(RunStoragePath(), sandboxID, containerID)
|
||||
return filesystemScheme + "://" + ContainerRuntimeRootPath(sandboxID, containerID)
|
||||
}
|
||||
|
||||
// ContainerRuntimeRootPath returns a virtcontainers container runtime root path.
|
||||
func ContainerRuntimeRootPath(sandboxID, containerID string) string {
|
||||
return filepath.Join(RunStoragePath(), sandboxID, containerID)
|
||||
return filepath.Join(VCStorePrefix, RunStoragePath(), sandboxID, containerID)
|
||||
}
|
||||
|
||||
// VCSandboxStoreExists returns true if a sandbox store already exists.
|
||||
|
Loading…
Reference in New Issue
Block a user