Move openAsStreamOptimizedVmdk() into importable package

so it can be used later within tests
This commit is contained in:
Alexander Todorov 2020-08-24 08:51:01 -04:00 committed by Ondřej Budai
parent 5803abfeee
commit e7aa9c10c2
2 changed files with 28 additions and 22 deletions

View file

@ -0,0 +1,26 @@
package vmware
import (
"os"
"os/exec"
)
func OpenAsStreamOptimizedVmdk(imagePath string) (*os.File, error) {
newPath := imagePath + ".stream"
cmd := exec.Command(
"/usr/bin/qemu-img", "convert", "-O", "vmdk", "-o", "subformat=streamOptimized",
imagePath, newPath)
err := cmd.Run()
if err != nil {
return nil, err
}
f, err := os.Open(newPath)
if err != nil {
return nil, err
}
err = os.Remove(newPath)
if err != nil {
return nil, err
}
return f, err
}