diff --git a/failing_test.go b/failing_test.go index abd423417..4dd6439f5 100644 --- a/failing_test.go +++ b/failing_test.go @@ -53,7 +53,7 @@ func TestServePauseSnapLoadServe(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test", false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0")) diff --git a/go.mod b/go.mod index 12fc4c1ab..9e281bfbf 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.13 // Workaround for github.com/containerd/containerd issue #3031 replace github.com/docker/distribution v2.7.1+incompatible => github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible -replace github.com/firecracker-microvm/firecracker-containerd => github.com/ustiugov/firecracker-containerd v0.0.0-20200710135524-67aece3e7f88 +replace github.com/firecracker-microvm/firecracker-containerd => github.com/ustiugov/firecracker-containerd v0.0.0-20200717101620-51bd25e6b3e9 replace github.com/firecracker-microvm/firecracker-go-sdk => github.com/ustiugov/firecracker-go-sdk v0.20.1-0.20200625102438-8edf287b0123 @@ -14,11 +14,12 @@ require ( github.com/golang/protobuf v1.3.3 github.com/sirupsen/logrus v1.6.0 github.com/stretchr/testify v1.5.1 - github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200714173637-bc269d5f4288 + github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200717112852-e54464c54909 github.com/ustiugov/fccd-orchestrator/helloworld v0.0.0-20200714162243-d6dc0c083e9e github.com/ustiugov/fccd-orchestrator/misc v0.0.0-20200714162243-d6dc0c083e9e // indirect github.com/ustiugov/fccd-orchestrator/proto v0.0.0-20200714162243-d6dc0c083e9e github.com/ustiugov/fccd-orchestrator/taps v0.0.0-20200714162243-d6dc0c083e9e // indirect golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 + golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6 // indirect google.golang.org/grpc v1.30.0 ) diff --git a/go.sum b/go.sum index c6219f367..e9c8d2a5d 100644 --- a/go.sum +++ b/go.sum @@ -357,6 +357,8 @@ github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200714132339-d6594ff6954 github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200714132339-d6594ff6954b/go.mod h1:y72oQ9E3hRbVmL4b9TWPuB4PXwJbP+A5ZH8D5oG8piI= github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200714173637-bc269d5f4288 h1:NXjU90vkHAUeANIAQ888FHIsOI+K8uepsO4VWb1u1GY= github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200714173637-bc269d5f4288/go.mod h1:y72oQ9E3hRbVmL4b9TWPuB4PXwJbP+A5ZH8D5oG8piI= +github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200717112852-e54464c54909 h1:mGYHO9kHWGW4eli5xuqAXq1jrMKLxvNTtIyCAkyAvwk= +github.com/ustiugov/fccd-orchestrator/ctriface v0.0.0-20200717112852-e54464c54909/go.mod h1:8PPjt6r9ZHN2bNeRf5ptiafNMI939RxwqmHBBx/IZro= github.com/ustiugov/fccd-orchestrator/helloworld v0.0.0-20200710144657-9fbec6857e48/go.mod h1:5dhCs/XynpQoQcrhd/YgUBjGahhNpTknQUcC1kHRCaA= github.com/ustiugov/fccd-orchestrator/helloworld v0.0.0-20200710145415-bb09d1a68889/go.mod h1:5dhCs/XynpQoQcrhd/YgUBjGahhNpTknQUcC1kHRCaA= github.com/ustiugov/fccd-orchestrator/helloworld v0.0.0-20200710150633-096cac68bd72 h1:r67pqykSYWZHFYfIKuT44PTXFJWu5lJcatkV16d3vKU= @@ -392,6 +394,8 @@ github.com/ustiugov/fccd-orchestrator/taps v0.0.0-20200714162243-d6dc0c083e9e h1 github.com/ustiugov/fccd-orchestrator/taps v0.0.0-20200714162243-d6dc0c083e9e/go.mod h1:yN9TMsFK41a/Xycej4RWPXuLM2MPKbyGKjlAez8gok8= github.com/ustiugov/firecracker-containerd v0.0.0-20200710135524-67aece3e7f88 h1:D8ly/oUfNCn+ldK3YQYZthT2CsKBj7pR1z8ufAL4D50= github.com/ustiugov/firecracker-containerd v0.0.0-20200710135524-67aece3e7f88/go.mod h1:4cfp/cHPGP+Hs2veZzY1cKrvEALiXBO9Fo6PDjTAq0s= +github.com/ustiugov/firecracker-containerd v0.0.0-20200717101620-51bd25e6b3e9 h1:anMkJ9ub73qhkROo3yHrs/te2Pd4buMacvZw38e7/+U= +github.com/ustiugov/firecracker-containerd v0.0.0-20200717101620-51bd25e6b3e9/go.mod h1:4cfp/cHPGP+Hs2veZzY1cKrvEALiXBO9Fo6PDjTAq0s= github.com/ustiugov/firecracker-go-sdk v0.20.1-0.20200625102438-8edf287b0123/go.mod h1:zyc9BrKGePpNLbQ5y2ZtdzXEfpMJeHPeFNVpyo0S1WQ= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= @@ -421,6 +425,7 @@ golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTk golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -496,7 +501,10 @@ golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200710042808-f1c4188a97a1/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200713235242-6acd2ab80ede h1:ItmFoZpZfJTYGsnON6247QuXEOKiKLBpieGcAgweGsk= golang.org/x/tools v0.0.0-20200713235242-6acd2ab80ede/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6 h1:nULzSsKgihxFGLnQFv2T7lE5vIhOtg8ZPpJHapEt7o0= +golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/manual_cleanup_test.go b/manual_cleanup_test.go index 4d7cef54c..fae5d7bd1 100644 --- a/manual_cleanup_test.go +++ b/manual_cleanup_test.go @@ -71,7 +71,7 @@ func TestParallelLoadServe(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), vmID, snapshotFilePath, memFilePath) + _, err = orch.LoadSnapshot(context.Background(), vmID, snapshotFilePath, memFilePath, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), vmID) @@ -94,6 +94,9 @@ func TestLoadServeMultiple1(t *testing.T) { imageName := "ustiugov/helloworld:runner_workload" funcPool = NewFuncPool(false, 0, 0, true) + snapshotFile := "/tmp/snap_test_" + fID + memFile := "/tmp/mem_test_" + fID + resp, err := funcPool.Serve(context.Background(), fID, imageName, "world") require.NoError(t, err, "Function returned error on 1st run") require.Equal(t, resp.IsColdStart, true) @@ -102,7 +105,7 @@ func TestLoadServeMultiple1(t *testing.T) { _, err = orch.PauseVM(context.Background(), fmt.Sprintf(fID+"_0")) require.NoError(t, err, "Error when pausing VM") - _, err = orch.CreateSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.CreateSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile) require.NoError(t, err, "Error when creating snapshot of VM") _, err = orch.Offload(context.Background(), fmt.Sprintf(fID+"_0")) @@ -110,7 +113,7 @@ func TestLoadServeMultiple1(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0")) @@ -125,7 +128,7 @@ func TestLoadServeMultiple1(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0")) @@ -145,6 +148,9 @@ func TestLoadServeMultiple2(t *testing.T) { imageName := "ustiugov/helloworld:runner_workload" funcPool = NewFuncPool(false, 0, 0, true) + snapshotFile := "/tmp/snap_test_" + fID + memFile := "/tmp/mem_test_" + fID + resp, err := funcPool.Serve(context.Background(), fID, imageName, "world") require.NoError(t, err, "Function returned error on 1st run") require.Equal(t, resp.IsColdStart, true) @@ -153,7 +159,7 @@ func TestLoadServeMultiple2(t *testing.T) { _, err = orch.PauseVM(context.Background(), fmt.Sprintf(fID+"_0")) require.NoError(t, err, "Error when pausing VM") - _, err = orch.CreateSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.CreateSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile) require.NoError(t, err, "Error when creating snapshot of VM") _, err = orch.Offload(context.Background(), fmt.Sprintf(fID+"_0")) @@ -161,7 +167,7 @@ func TestLoadServeMultiple2(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0")) @@ -180,7 +186,7 @@ func TestLoadServeMultiple2(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0")) @@ -199,6 +205,9 @@ func TestLoadServeMultiple3(t *testing.T) { imageName := "ustiugov/helloworld:runner_workload" funcPool = NewFuncPool(false, 0, 0, true) + snapshotFile := "/tmp/snap_test_" + fID + memFile := "/tmp/mem_test_" + fID + resp, err := funcPool.Serve(context.Background(), fID, imageName, "world") require.NoError(t, err, "Function returned error on 1st run") require.Equal(t, resp.IsColdStart, true) @@ -207,7 +216,7 @@ func TestLoadServeMultiple3(t *testing.T) { _, err = orch.PauseVM(context.Background(), fmt.Sprintf(fID+"_0")) require.NoError(t, err, "Error when pausing VM") - _, err = orch.CreateSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.CreateSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile) require.NoError(t, err, "Error when creating snapshot of VM") _, err = orch.Offload(context.Background(), fmt.Sprintf(fID+"_0")) @@ -215,7 +224,7 @@ func TestLoadServeMultiple3(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0")) @@ -226,7 +235,7 @@ func TestLoadServeMultiple3(t *testing.T) { time.Sleep(300 * time.Millisecond) - _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), "/tmp/snap_test", "/tmp/mem_test") + _, err = orch.LoadSnapshot(context.Background(), fmt.Sprintf(fID+"_0"), snapshotFile, memFile, false) require.NoError(t, err, "Failed to load snapshot of VM, "+"") _, err = orch.ResumeVM(context.Background(), fmt.Sprintf(fID+"_0"))