Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
persist: remove VCStore from sandbox/apis
Browse files Browse the repository at this point in the history
Remove VCStore usage from sandbox.

Signed-off-by: Wei Zhang <[email protected]>
  • Loading branch information
WeiZhang555 committed Dec 30, 2019
1 parent b63e517 commit 01b4a64
Show file tree
Hide file tree
Showing 9 changed files with 35 additions and 226 deletions.
6 changes: 1 addition & 5 deletions virtcontainers/acrn_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,11 +218,7 @@ func TestAcrnCreateSandbox(t *testing.T) {
},
}

vcStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
assert.NoError(err)
sandbox.store = vcStore

err = globalSandboxList.addSandbox(sandbox)
err := globalSandboxList.addSandbox(sandbox)
assert.NoError(err)

defer globalSandboxList.removeSandbox(sandbox.id)
Expand Down
6 changes: 2 additions & 4 deletions virtcontainers/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -968,10 +968,8 @@ func (c *Container) stop(force bool) error {
defer func() {
// Save device and drive data.
// TODO: can we merge this saving with setContainerState()?
if c.sandbox.supportNewStore() {
if err := c.sandbox.Save(); err != nil {
c.Logger().WithError(err).Info("save container state failed")
}
if err := c.sandbox.Save(); err != nil {
c.Logger().WithError(err).Info("save container state failed")
}
}()

Expand Down
21 changes: 4 additions & 17 deletions virtcontainers/container_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,18 +92,13 @@ func TestContainerRemoveDrive(t *testing.T) {
config: &SandboxConfig{},
}

vcStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
assert.Nil(t, err)

sandbox.store = vcStore

container := Container{
sandbox: sandbox,
id: "testContainer",
}

container.state.Fstype = ""
err = container.removeDrive()
err := container.removeDrive()

// hotplugRemoveDevice for hypervisor should not be called.
// test should pass without a hypervisor created for the container's sandbox.
Expand All @@ -124,8 +119,6 @@ func TestContainerRemoveDrive(t *testing.T) {
assert.True(t, ok)
err = device.Attach(devReceiver)
assert.Nil(t, err)
err = sandbox.storeSandboxDevices()
assert.Nil(t, err)

container.state.Fstype = "xfs"
container.state.BlockDeviceID = device.DeviceID()
Expand Down Expand Up @@ -324,16 +317,12 @@ func TestContainerAddDriveDir(t *testing.T) {
},
}

defer store.DeleteAll()

sandboxStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
assert.Nil(err)
sandbox.store = sandboxStore

sandbox.newStore, err = persist.GetDriver("fs")
assert.NoError(err)
assert.NotNil(sandbox.newStore)

defer sandbox.newStore.Destroy(sandbox.id)

contID := "100"
container := Container{
sandbox: sandbox,
Expand Down Expand Up @@ -384,9 +373,7 @@ func TestContainerRootfsPath(t *testing.T) {
},
},
}
vcstore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
sandbox.store = vcstore
assert.Nil(t, err)

container := Container{
id: "rootfstestcontainerid",
sandbox: sandbox,
Expand Down
20 changes: 0 additions & 20 deletions virtcontainers/kata_agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -317,13 +317,6 @@ func (k *kataAgent) init(ctx context.Context, sandbox *Sandbox, config interface

k.proxyBuiltIn = isProxyBuiltIn(sandbox.config.ProxyType)

// Fetch agent runtime info.
if !sandbox.supportNewStore() {
if err := sandbox.store.Load(store.Agent, &k.state); err != nil {
k.Logger().Debug("Could not retrieve anything from storage")
}
}

return disableVMShutdown, nil
}

Expand Down Expand Up @@ -730,12 +723,6 @@ func (k *kataAgent) setProxy(sandbox *Sandbox, proxy proxy, pid int, url string)
k.proxy = proxy
k.state.ProxyPid = pid
k.state.URL = url
if sandbox != nil && !sandbox.supportNewStore() {
if err := sandbox.store.Store(store.Agent, k.state); err != nil {
return err
}
}

return nil
}

Expand Down Expand Up @@ -952,13 +939,6 @@ func (k *kataAgent) stopSandbox(sandbox *Sandbox) error {
// clean up agent state
k.state.ProxyPid = -1
k.state.URL = ""
if !sandbox.supportNewStore() {
if err := sandbox.store.Store(store.Agent, k.state); err != nil {
// ignore error
k.Logger().WithError(err).WithField("sandbox", sandbox.id).Error("failed to clean up agent state")
}
}

return nil
}

Expand Down
17 changes: 6 additions & 11 deletions virtcontainers/kata_agent_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ import (
"github.com/kata-containers/runtime/virtcontainers/device/config"
"github.com/kata-containers/runtime/virtcontainers/device/drivers"
"github.com/kata-containers/runtime/virtcontainers/device/manager"
"github.com/kata-containers/runtime/virtcontainers/persist"
"github.com/kata-containers/runtime/virtcontainers/pkg/mock"
vcTypes "github.com/kata-containers/runtime/virtcontainers/pkg/types"
"github.com/kata-containers/runtime/virtcontainers/store"
"github.com/kata-containers/runtime/virtcontainers/types"
)

Expand Down Expand Up @@ -714,10 +714,10 @@ func TestAgentCreateContainer(t *testing.T) {
hypervisor: &mockHypervisor{},
}

vcStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
assert.Nil(err)

sandbox.store = vcStore
newStore, err := persist.GetDriver("fs")
assert.NoError(err)
assert.NotNil(newStore)
sandbox.newStore = newStore

container := &Container{
ctx: sandbox.ctx,
Expand Down Expand Up @@ -815,12 +815,7 @@ func TestKataAgentSetProxy(t *testing.T) {
id: "foobar",
}

vcStore, err := store.NewVCSandboxStore(s.ctx, s.id)
assert.Nil(err)

s.store = vcStore

err = k.setProxy(s, p, 0, "")
err := k.setProxy(s, p, 0, "")
assert.Error(err)
}

Expand Down
4 changes: 0 additions & 4 deletions virtcontainers/persist.go
Original file line number Diff line number Diff line change
Expand Up @@ -443,10 +443,6 @@ func (c *Container) Restore() error {
return nil
}

func (s *Sandbox) supportNewStore() bool {
return true
}

func loadSandboxConfig(id string) (*SandboxConfig, error) {
store, err := persist.GetDriver("fs")
if err != nil || store == nil {
Expand Down
22 changes: 7 additions & 15 deletions virtcontainers/qemu_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (

govmmQemu "github.com/intel/govmm/qemu"
"github.com/kata-containers/runtime/virtcontainers/device/config"
"github.com/kata-containers/runtime/virtcontainers/persist"
"github.com/kata-containers/runtime/virtcontainers/store"
"github.com/kata-containers/runtime/virtcontainers/types"
"github.com/pkg/errors"
Expand Down Expand Up @@ -85,18 +86,13 @@ func TestQemuCreateSandbox(t *testing.T) {
},
}

vcStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
assert.NoError(err)

sandbox.store = vcStore

// Create the hypervisor fake binary
testQemuPath := filepath.Join(testDir, testHypervisor)
_, err = os.Create(testQemuPath)
_, err := os.Create(testQemuPath)
assert.NoError(err)

// Create parent dir path for hypervisor.json
parentDir := store.SandboxConfigurationRootPath(sandbox.id)
parentDir := store.SandboxRuntimeRootPath(sandbox.id)
assert.NoError(os.MkdirAll(parentDir, store.DirMode))

err = q.createSandbox(context.Background(), sandbox.id, NetworkNamespace{}, &sandbox.config.HypervisorConfig, false)
Expand All @@ -118,17 +114,13 @@ func TestQemuCreateSandboxMissingParentDirFail(t *testing.T) {
},
}

vcStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
assert.NoError(err)
sandbox.store = vcStore

// Create the hypervisor fake binary
testQemuPath := filepath.Join(testDir, testHypervisor)
_, err = os.Create(testQemuPath)
_, err := os.Create(testQemuPath)
assert.NoError(err)

// Ensure parent dir path for hypervisor.json does not exist.
parentDir := store.SandboxConfigurationRootPath(sandbox.id)
parentDir := store.SandboxRuntimeRootPath(sandbox.id)
assert.NoError(os.RemoveAll(parentDir))

err = q.createSandbox(context.Background(), sandbox.id, NetworkNamespace{}, &sandbox.config.HypervisorConfig, false)
Expand Down Expand Up @@ -470,11 +462,11 @@ func createQemuSandboxConfig() (*Sandbox, error) {
},
}

vcStore, err := store.NewVCSandboxStore(sandbox.ctx, sandbox.id)
newStore, err := persist.GetDriver("fs")
if err != nil {
return &Sandbox{}, err
}
sandbox.store = vcStore
sandbox.newStore = newStore

return &sandbox, nil
}
Expand Down
Loading

0 comments on commit 01b4a64

Please sign in to comment.