diff --git a/CHANGELOG.md b/CHANGELOG.md index 02dbc56ed..71ad528e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,11 @@ IMPROVEMENTS: * virtualbox: Delete the packer-made SSH port forwarding prior to exporting the VM. +BUG FIXES: + +* vagrant: Properly configure the provider-specific post-processors so + things like `vagrantfile_template` work. [GH-129] + ## 0.1.4 (July 2, 2013) FEATURES: diff --git a/post-processor/vagrant/post-processor.go b/post-processor/vagrant/post-processor.go index 3b6c8cd47..8446b9a5c 100644 --- a/post-processor/vagrant/post-processor.go +++ b/post-processor/vagrant/post-processor.go @@ -24,11 +24,15 @@ type Config struct { } type PostProcessor struct { - config Config - premade map[string]packer.PostProcessor + config Config + premade map[string]packer.PostProcessor + rawConfigs []interface{} } func (p *PostProcessor) Configure(raws ...interface{}) error { + // Store the raw configs for usage later + p.rawConfigs = raws + for _, raw := range raws { err := mapstructure.Decode(raw, &p.config) if err != nil { @@ -93,8 +97,7 @@ func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (pac return nil, false, fmt.Errorf("Vagrant box post-processor not found: %s", ppName) } - config := map[string]string{"output": p.config.OutputPath} - if err := pp.Configure(config); err != nil { + if err := pp.Configure(p.rawConfigs...); err != nil { return nil, false, err } }