Merge pull request #3145 from mitchellh/b-resource-check
Reverting resouce constraint checking
This commit is contained in:
commit
6fd6156fd9
|
@ -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]
|
||||
|
|
1
Makefile
1
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 \
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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)
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
// +build !linux
|
||||
|
||||
package common
|
||||
|
||||
func AvailableMem(desired uint64) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func AvailableDisk(desired uint64) error {
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue