diff --git a/tests/metrics/storage/fio-k8s/pkg/env/Makefile b/tests/metrics/storage/fio-k8s/pkg/env/Makefile new file mode 100644 index 0000000000..01e0d92098 --- /dev/null +++ b/tests/metrics/storage/fio-k8s/pkg/env/Makefile @@ -0,0 +1,9 @@ +# +# Copyright (c) 2021 Intel Corporation +# +# SPDX-License-Identifier: Apache-2.0 +# + +gomod: + GO111MODULE=on go mod edit -replace=github.com/kata-containers/tests/metrics/exec=../exec + GO111MODULE=on go mod tidy diff --git a/tests/metrics/storage/fio-k8s/pkg/env/env.go b/tests/metrics/storage/fio-k8s/pkg/env/env.go new file mode 100644 index 0000000000..e5deb29e4a --- /dev/null +++ b/tests/metrics/storage/fio-k8s/pkg/env/env.go @@ -0,0 +1,39 @@ +// Copyright (c) 2021 Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 +// +package env + +import ( + exec "github.com/kata-containers/tests/metrics/exec" +) + +//logger interface for pkg +var log logger +var Debug bool = false + +type logger interface { + Infof(string, ...interface{}) + Debugf(string, ...interface{}) + Errorf(string, ...interface{}) +} + +func SetLogger(l logger) { + log = l +} + +var sysDropCachesPath = "/proc/sys/vm/drop_caches" + +func DropCaches() (err error) { + log.Infof("drop caches") + _, err = exec.ExecCmd("sync", Debug) + if err != nil { + return err + } + + _, err = exec.ExecCmd("echo 3 | sudo tee "+sysDropCachesPath, Debug) + if err != nil { + return err + } + return nil +}