Move CalculateDiskSizeInMB to utils to use in kvm

pull/1828/head
Matt Rickard 2017-08-22 15:31:54 -07:00
parent 3c9603ad64
commit 1052dda37a
3 changed files with 24 additions and 10 deletions

View File

@ -275,3 +275,16 @@ $(ISO_BUILD_IMAGE): deploy/iso/minikube-iso/Dockerfile
release-iso: minikube_iso checksum release-iso: minikube_iso checksum
gsutil cp out/minikube.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso gsutil cp out/minikube.iso gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso
gsutil cp out/minikube.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso.sha256 gsutil cp out/minikube.iso.sha256 gs://$(ISO_BUCKET)/minikube-$(ISO_VERSION).iso.sha256
out/docker-machine-driver-kvm: $(KVM_DRIVER_FILES)
go build \
-installsuffix "static" \
-ldflags "-X k8s.io/minikube/pkg/drivers/kvm/version.VERSION=$(VERSION)" \
-tags libvirt.1.2.2 \
-o $(BUILD_DIR)/docker-machine-driver-kvm \
k8s.io/minikube/cmd/drivers/kvm
chmod +X $@
.PHONY: install-kvm
install-kvm: out/docker-machine-driver-kvm
cp out/docker-machine-driver-kvm $(GOBIN)/docker-machine-driver-kvm

View File

@ -28,7 +28,6 @@ import (
"time" "time"
"github.com/blang/semver" "github.com/blang/semver"
units "github.com/docker/go-units"
"github.com/docker/machine/libmachine/host" "github.com/docker/machine/libmachine/host"
"github.com/golang/glog" "github.com/golang/glog"
"github.com/spf13/cobra" "github.com/spf13/cobra"
@ -93,7 +92,7 @@ func runStart(cmd *cobra.Command, args []string) {
defer api.Close() defer api.Close()
diskSize := viper.GetString(humanReadableDiskSize) diskSize := viper.GetString(humanReadableDiskSize)
diskSizeMB := calculateDiskSizeInMB(diskSize) diskSizeMB := util.CalculateDiskSizeInMB(diskSize)
if diskSizeMB < constants.MinimumDiskSizeMB { if diskSizeMB < constants.MinimumDiskSizeMB {
err := fmt.Errorf("Disk Size %dMB (%s) is too small, the minimum disk size is %dMB", diskSizeMB, diskSize, constants.MinimumDiskSizeMB) err := fmt.Errorf("Disk Size %dMB (%s) is too small, the minimum disk size is %dMB", diskSizeMB, diskSize, constants.MinimumDiskSizeMB)
@ -317,14 +316,6 @@ func validateK8sVersion(version string) {
} }
} }
func calculateDiskSizeInMB(humanReadableDiskSize string) int {
diskSize, err := units.FromHumanSize(humanReadableDiskSize)
if err != nil {
glog.Errorf("Invalid disk size: %s", err)
}
return int(diskSize / units.MB)
}
func init() { func init() {
startCmd.Flags().Bool(keepContext, constants.DefaultKeepContext, "This will keep the existing kubectl context and will create a minikube context.") startCmd.Flags().Bool(keepContext, constants.DefaultKeepContext, "This will keep the existing kubectl context and will create a minikube context.")
startCmd.Flags().Bool(createMount, false, "This will start the mount daemon and automatically mount files into minikube") startCmd.Flags().Bool(createMount, false, "This will start the mount daemon and automatically mount files into minikube")

View File

@ -30,6 +30,8 @@ import (
"time" "time"
"github.com/blang/semver" "github.com/blang/semver"
units "github.com/docker/go-units"
"github.com/golang/glog"
"github.com/pkg/errors" "github.com/pkg/errors"
"k8s.io/minikube/pkg/minikube/constants" "k8s.io/minikube/pkg/minikube/constants"
"k8s.io/minikube/pkg/minikube/kubernetes_versions" "k8s.io/minikube/pkg/minikube/kubernetes_versions"
@ -42,6 +44,14 @@ type RetriableError struct {
func (r RetriableError) Error() string { return "Temporary Error: " + r.Err.Error() } func (r RetriableError) Error() string { return "Temporary Error: " + r.Err.Error() }
func CalculateDiskSizeInMB(humanReadableDiskSize string) int {
diskSize, err := units.FromHumanSize(humanReadableDiskSize)
if err != nil {
glog.Errorf("Invalid disk size: %s", err)
}
return int(diskSize / units.MB)
}
// Until endlessly loops the provided function until a message is received on the done channel. // Until endlessly loops the provided function until a message is received on the done channel.
// The function will wait the duration provided in sleep between function calls. Errors will be sent on provider Writer. // The function will wait the duration provided in sleep between function calls. Errors will be sent on provider Writer.
func Until(fn func() error, w io.Writer, name string, sleep time.Duration, done <-chan struct{}) { func Until(fn func() error, w io.Writer, name string, sleep time.Duration, done <-chan struct{}) {