diff --git a/CHANGELOG.md b/CHANGELOG.md index d82ed1c83..0a43aa279 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,7 +33,6 @@ IMPROVEMENTS: for broader compatibility. [GH-2913] * core: `target_path` for builder downloads can now be specified. [GH-2600] * core: WinRM communicator now supports HTTPS protocol [GH-3061] - * core: Local linux builds will attempt to verify that sufficient resources are available prior to starting the build [GH-3096] * builder/amazon: Add support for `ebs_optimized` [GH-2806] * builder/amazon: You can now specify `0` for `spot_price` to switch to on demand instances [GH-2845] diff --git a/Makefile b/Makefile index 9d95aa9a7..1e615127d 100644 --- a/Makefile +++ b/Makefile @@ -66,7 +66,6 @@ updatedeps: fi go get -u github.com/mitchellh/gox go get -u golang.org/x/tools/cmd/stringer - go get -u github.com/cloudfoundry/gosigar go list ./... \ | xargs go list -f '{{join .Deps "\n"}}' \ | grep -v github.com/mitchellh/packer \ diff --git a/builder/virtualbox/common/vboxmanage_config.go b/builder/virtualbox/common/vboxmanage_config.go index b243400a1..1670aee0d 100644 --- a/builder/virtualbox/common/vboxmanage_config.go +++ b/builder/virtualbox/common/vboxmanage_config.go @@ -1,10 +1,6 @@ package common import ( - "fmt" - "strconv" - - "github.com/mitchellh/packer/common" "github.com/mitchellh/packer/template/interpolate" ) @@ -15,25 +11,7 @@ type VBoxManageConfig struct { func (c *VBoxManageConfig) Prepare(ctx *interpolate.Context) []error { if c.VBoxManage == nil { c.VBoxManage = make([][]string, 0) - return nil - } - - var errs []error - var err error - var desiredMem uint64 - - for _, cmd := range c.VBoxManage { - if cmd[2] == "--memory" { - desiredMem, err = strconv.ParseUint(cmd[3], 10, 64) - if err != nil { - errs = append(errs, fmt.Errorf("Error parsing string: %s", err)) - } - } - } - - if err = common.AvailableMem(desiredMem); err != nil { - errs = append(errs, fmt.Errorf("Unavailable Resources: %s", err)) } - return errs + return nil } diff --git a/builder/virtualbox/iso/builder.go b/builder/virtualbox/iso/builder.go index c30fd83ee..b8b08959a 100644 --- a/builder/virtualbox/iso/builder.go +++ b/builder/virtualbox/iso/builder.go @@ -152,12 +152,6 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { b.config.GuestAdditionsSHA256 = strings.ToLower(b.config.GuestAdditionsSHA256) } - // Determine if DiskSize is able to be allocated - if err = common.AvailableDisk(uint64(b.config.DiskSize)); err != nil { - errs = packer.MultiErrorAppend(errs, - fmt.Errorf("Unavailable Resources: %s", err)) - } - // Warnings if b.config.ShutdownCommand == "" { warnings = append(warnings, diff --git a/builder/vmware/common/vmx_config.go b/builder/vmware/common/vmx_config.go index 9b3162382..aac16d1e0 100644 --- a/builder/vmware/common/vmx_config.go +++ b/builder/vmware/common/vmx_config.go @@ -1,10 +1,6 @@ package common import ( - "fmt" - "strconv" - - "github.com/mitchellh/packer/common" "github.com/mitchellh/packer/template/interpolate" ) @@ -13,26 +9,6 @@ type VMXConfig struct { VMXDataPost map[string]string `mapstructure:"vmx_data_post"` } -func (c *VMXConfig) Prepare(ctx *interpolate.Context, remoteType string) []error { - var errs []error - var err error - var desiredMem uint64 - - // Validate memory resources, only on local hosts - if remoteType == "" { - for k, v := range c.VMXData { - if k == "memsize" { - desiredMem, err = strconv.ParseUint(v, 10, 64) - if err != nil { - errs = append(errs, fmt.Errorf("Error parsing string: %s", err)) - } - } - } - } - - if err = common.AvailableMem(desiredMem); err != nil { - errs = append(errs, fmt.Errorf("Unavailable Resources: %s", err)) - } - - return errs +func (c *VMXConfig) Prepare(ctx *interpolate.Context) []error { + return nil } diff --git a/builder/vmware/common/vmx_config_test.go b/builder/vmware/common/vmx_config_test.go index 0278ae74c..4b8172cb0 100644 --- a/builder/vmware/common/vmx_config_test.go +++ b/builder/vmware/common/vmx_config_test.go @@ -11,7 +11,7 @@ func TestVMXConfigPrepare(t *testing.T) { "two": "bar", } - errs := c.Prepare(testConfigTemplate(t), "") + errs := c.Prepare(testConfigTemplate(t)) if len(errs) > 0 { t.Fatalf("bad: %#v", errs) } diff --git a/builder/vmware/iso/builder.go b/builder/vmware/iso/builder.go index 15ef41238..95395c73c 100755 --- a/builder/vmware/iso/builder.go +++ b/builder/vmware/iso/builder.go @@ -93,7 +93,7 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { errs = packer.MultiErrorAppend(errs, b.config.ShutdownConfig.Prepare(&b.config.ctx)...) errs = packer.MultiErrorAppend(errs, b.config.SSHConfig.Prepare(&b.config.ctx)...) errs = packer.MultiErrorAppend(errs, b.config.ToolsConfig.Prepare(&b.config.ctx)...) - errs = packer.MultiErrorAppend(errs, b.config.VMXConfig.Prepare(&b.config.ctx, b.config.RemoteType)...) + errs = packer.MultiErrorAppend(errs, b.config.VMXConfig.Prepare(&b.config.ctx)...) if b.config.DiskName == "" { b.config.DiskName = "disk" @@ -171,14 +171,6 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { } } - // Determine if DiskSize is able to be allocated, only when running locally - if b.config.RemoteType == "" { - if err = common.AvailableDisk(uint64(b.config.DiskSize)); err != nil { - errs = packer.MultiErrorAppend(errs, - fmt.Errorf("Unavailable Resources: %s", err)) - } - } - // Warnings if b.config.ShutdownCommand == "" { warnings = append(warnings, diff --git a/builder/vmware/vmx/config.go b/builder/vmware/vmx/config.go index 87aad7d59..4f93db9f3 100644 --- a/builder/vmware/vmx/config.go +++ b/builder/vmware/vmx/config.go @@ -63,7 +63,7 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) { errs = packer.MultiErrorAppend(errs, c.ShutdownConfig.Prepare(&c.ctx)...) errs = packer.MultiErrorAppend(errs, c.SSHConfig.Prepare(&c.ctx)...) errs = packer.MultiErrorAppend(errs, c.ToolsConfig.Prepare(&c.ctx)...) - errs = packer.MultiErrorAppend(errs, c.VMXConfig.Prepare(&c.ctx, c.RemoteType)...) + errs = packer.MultiErrorAppend(errs, c.VMXConfig.Prepare(&c.ctx)...) if c.SourcePath == "" { errs = packer.MultiErrorAppend(errs, fmt.Errorf("source_path is blank, but is required")) diff --git a/common/resources_linux.go b/common/resources_linux.go deleted file mode 100644 index fd9b0cf16..000000000 --- a/common/resources_linux.go +++ /dev/null @@ -1,37 +0,0 @@ -package common - -import ( - "fmt" - "os" - - sigar "github.com/cloudfoundry/gosigar" -) - -func AvailableMem(desired uint64) error { - free := freeMem() - if desired > free { - return fmt.Errorf("RAM - Requested - %dMB - Available %dMB", desired, free) - } - return nil -} - -func freeMem() uint64 { - mem := sigar.Mem{} - mem.Get() - return (mem.Free / 1024 / 1024) -} - -func AvailableDisk(desired uint64) error { - free := freeDisk() - if desired > free { - return fmt.Errorf("Disk - Requested - %dMB - Available %dMB", desired, free) - } - return nil -} - -func freeDisk() uint64 { - disk := sigar.FileSystemUsage{} - workingDirectory, _ := os.Getwd() - disk.Get(workingDirectory) - return (disk.Avail / 1024) -} diff --git a/common/resources_universal.go b/common/resources_universal.go deleted file mode 100644 index 3ecc7d2e8..000000000 --- a/common/resources_universal.go +++ /dev/null @@ -1,11 +0,0 @@ -// +build !linux - -package common - -func AvailableMem(desired uint64) error { - return nil -} - -func AvailableDisk(desired uint64) error { - return nil -}