post-processor/vagrant: properly forward config into provider [GH-129]

This commit is contained in:
Mitchell Hashimoto 2013-07-05 10:50:57 -07:00
parent 534c923a44
commit f5003c4e19
2 changed files with 12 additions and 4 deletions

View File

@ -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:

View File

@ -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
}
}