From beba3a90a942ef5f12e06cb95e9c96f1a09e6ae2 Mon Sep 17 00:00:00 2001 From: Megan Marsh Date: Thu, 7 Jan 2021 15:38:38 -0800 Subject: [PATCH] fix discover.go --- packer/plugin/discover.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packer/plugin/discover.go b/packer/plugin/discover.go index 3cf97b698..8b8c29fd7 100644 --- a/packer/plugin/discover.go +++ b/packer/plugin/discover.go @@ -236,7 +236,11 @@ func (c *Config) discoverMultiPlugin(pluginName, pluginPath string) error { for _, builderName := range desc.Builders { builderName := builderName // copy to avoid pointer overwrite issue - c.builders[pluginPrefix+builderName] = func() (packersdk.Builder, error) { + key := pluginPrefix + builderName + if builderName == pluginsdk.DEFAULT_NAME { + key = pluginName + } + c.builders[key] = func() (packersdk.Builder, error) { return c.Client(pluginPath, "start", "builder", builderName).Builder() } } @@ -247,7 +251,11 @@ func (c *Config) discoverMultiPlugin(pluginName, pluginPath string) error { for _, postProcessorName := range desc.PostProcessors { postProcessorName := postProcessorName // copy to avoid pointer overwrite issue - c.postProcessors[pluginPrefix+postProcessorName] = func() (packersdk.PostProcessor, error) { + key := pluginPrefix + postProcessorName + if postProcessorName == pluginsdk.DEFAULT_NAME { + key = pluginName + } + c.postProcessors[key] = func() (packersdk.PostProcessor, error) { return c.Client(pluginPath, "start", "post-processor", postProcessorName).PostProcessor() } } @@ -258,7 +266,11 @@ func (c *Config) discoverMultiPlugin(pluginName, pluginPath string) error { for _, provisionerName := range desc.Provisioners { provisionerName := provisionerName // copy to avoid pointer overwrite issue - c.provisioners[pluginPrefix+provisionerName] = func() (packersdk.Provisioner, error) { + key := pluginPrefix + provisionerName + if provisionerName == pluginsdk.DEFAULT_NAME { + key = pluginName + } + c.provisioners[key] = func() (packersdk.Provisioner, error) { return c.Client(pluginPath, "start", "provisioner", provisionerName).Provisioner() } }