From 7ad2104c7ff08ebcfefcb1d082e39cb92c61a89e Mon Sep 17 00:00:00 2001 From: Chris Bednarski Date: Tue, 2 Feb 2016 12:41:37 -0800 Subject: [PATCH 1/5] Revert "Correctly call prepare function in test" This reverts commit 6e8bfd3ce99a272be59589ab204831a9addb3f67. --- builder/vmware/common/vmx_config_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) } From 6504f4f777ab9a0c13c980d172fa9a57770c53e3 Mon Sep 17 00:00:00 2001 From: Chris Bednarski Date: Tue, 2 Feb 2016 12:41:42 -0800 Subject: [PATCH 2/5] Revert "Only validate vmware resources on local hosts" This reverts commit f01578c91e140f67a0b56773be2b3f7d08d8faa9. --- builder/vmware/common/vmx_config.go | 15 ++++++--------- builder/vmware/iso/builder.go | 12 +++++------- builder/vmware/vmx/config.go | 2 +- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/builder/vmware/common/vmx_config.go b/builder/vmware/common/vmx_config.go index 9b3162382..6a707abe0 100644 --- a/builder/vmware/common/vmx_config.go +++ b/builder/vmware/common/vmx_config.go @@ -13,19 +13,16 @@ type VMXConfig struct { VMXDataPost map[string]string `mapstructure:"vmx_data_post"` } -func (c *VMXConfig) Prepare(ctx *interpolate.Context, remoteType string) []error { +func (c *VMXConfig) Prepare(ctx *interpolate.Context) []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)) - } + 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)) } } } diff --git a/builder/vmware/iso/builder.go b/builder/vmware/iso/builder.go index 15ef41238..d62c0eff7 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,12 +171,10 @@ 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)) - } + // 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 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")) From 24dc798cfb1c40bad34de0cb1515a45b153105d6 Mon Sep 17 00:00:00 2001 From: Chris Bednarski Date: Tue, 2 Feb 2016 12:41:43 -0800 Subject: [PATCH 3/5] Revert "Prevalidate Hardware Specs on Linux" This reverts commit eda84cb2d38dc0edc53b705661e9f680d104273e. --- .../virtualbox/common/vboxmanage_config.go | 24 +----------- builder/virtualbox/iso/builder.go | 6 --- builder/vmware/common/vmx_config.go | 23 +----------- builder/vmware/iso/builder.go | 6 --- common/resources_linux.go | 37 ------------------- common/resources_universal.go | 11 ------ 6 files changed, 2 insertions(+), 105 deletions(-) delete mode 100644 common/resources_linux.go delete mode 100644 common/resources_universal.go 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 6a707abe0..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" ) @@ -14,22 +10,5 @@ type VMXConfig struct { } func (c *VMXConfig) Prepare(ctx *interpolate.Context) []error { - var errs []error - var err error - var desiredMem uint64 - - 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 + return nil } diff --git a/builder/vmware/iso/builder.go b/builder/vmware/iso/builder.go index d62c0eff7..95395c73c 100755 --- a/builder/vmware/iso/builder.go +++ b/builder/vmware/iso/builder.go @@ -171,12 +171,6 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { } } - // 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/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 -} From c6b9d2a318b7d672d55ed80543739d7ea58a1c4c Mon Sep 17 00:00:00 2001 From: Chris Bednarski Date: Tue, 2 Feb 2016 12:44:41 -0800 Subject: [PATCH 4/5] Revert "Added gosigar to the makefile so x-compile works" This reverts commit a2b1f0518c885dc1ac81381989dcae50cc6384dc. --- Makefile | 1 - 1 file changed, 1 deletion(-) 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 \ From b33e46a568945fdc9a3362b817c38fcc41c83a61 Mon Sep 17 00:00:00 2001 From: Chris Bednarski Date: Tue, 2 Feb 2016 12:45:18 -0800 Subject: [PATCH 5/5] Remove resource constraint checking from the changelog --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) 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]