devmapper: don't create or reload thin-pool from snapshotter

Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
This commit is contained in:
Maksym Pavlenko
2019-02-21 15:55:01 -08:00
parent 7efda48c53
commit adf5c640f4
5 changed files with 33 additions and 161 deletions

View File

@@ -21,7 +21,6 @@ package devmapper
import (
"io/ioutil"
"os"
"strings"
"testing"
"github.com/BurntSushi/toml"
@@ -32,12 +31,9 @@ import (
func TestLoadConfig(t *testing.T) {
expected := Config{
RootPath: "/tmp",
PoolName: "test",
DataDevice: "/dev/loop0",
MetadataDevice: "/dev/loop1",
DataBlockSize: "1mb",
BaseImageSize: "128Mb",
RootPath: "/tmp",
PoolName: "test",
BaseImageSize: "128Mb",
}
file, err := ioutil.TempFile("", "devmapper-config-")
@@ -60,12 +56,8 @@ func TestLoadConfig(t *testing.T) {
assert.Equal(t, loaded.RootPath, expected.RootPath)
assert.Equal(t, loaded.PoolName, expected.PoolName)
assert.Equal(t, loaded.DataDevice, expected.DataDevice)
assert.Equal(t, loaded.MetadataDevice, expected.MetadataDevice)
assert.Equal(t, loaded.DataBlockSize, expected.DataBlockSize)
assert.Equal(t, loaded.BaseImageSize, expected.BaseImageSize)
assert.Assert(t, loaded.DataBlockSizeSectors == 1*1024*1024/512)
assert.Assert(t, loaded.BaseImageSizeBytes == 128*1024*1024)
}
@@ -79,37 +71,24 @@ func TestLoadConfigInvalidPath(t *testing.T) {
func TestParseInvalidData(t *testing.T) {
config := Config{
DataBlockSize: "x",
BaseImageSize: "y",
}
err := config.parse()
assert.Assert(t, err != nil)
multErr := (err).(*multierror.Error)
assert.Assert(t, is.Len(multErr.Errors, 2))
assert.Assert(t, strings.Contains(multErr.Errors[0].Error(), "failed to parse data block size: \"x\""))
assert.Assert(t, strings.Contains(multErr.Errors[1].Error(), "failed to parse base image size: \"y\""))
assert.Error(t, err, "failed to parse base image size: 'y': invalid size: 'y'")
}
func TestFieldValidation(t *testing.T) {
config := &Config{DataBlockSizeSectors: 1}
config := &Config{}
err := config.Validate()
assert.Assert(t, err != nil)
multErr := (err).(*multierror.Error)
assert.Assert(t, is.Len(multErr.Errors, 8))
assert.Assert(t, is.Len(multErr.Errors, 3))
assert.Assert(t, multErr.Errors[0] != nil, "pool_name is empty")
assert.Assert(t, multErr.Errors[1] != nil, "root_path is empty")
assert.Assert(t, multErr.Errors[2] != nil, "base_image_size is empty")
assert.Assert(t, multErr.Errors[3] != nil, "data_device is empty")
assert.Assert(t, multErr.Errors[4] != nil, "meta_device is empty")
assert.Assert(t, multErr.Errors[5] != nil, "data_block_size is empty")
assert.Equal(t, multErr.Errors[6], errInvalidBlockSize)
assert.Equal(t, multErr.Errors[7], errInvalidBlockAlignment)
}
func TestExistingPoolFieldValidation(t *testing.T) {