From 825f69c64d738a2944bcfbaea20e0491e0aea6c7 Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Thu, 9 Feb 2017 23:37:35 -0800 Subject: [PATCH] provisioner/chef-client: only upload knife config if we're cleaning --- provisioner/chef-client/provisioner.go | 31 +++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/provisioner/chef-client/provisioner.go b/provisioner/chef-client/provisioner.go index 8fc8de4c3..aeac7d274 100644 --- a/provisioner/chef-client/provisioner.go +++ b/provisioner/chef-client/provisioner.go @@ -280,20 +280,25 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { err = p.executeChef(ui, comm, configPath, jsonPath) - knifeConfigPath, err2 := p.createKnifeConfig( - ui, comm, nodeName, serverUrl, p.config.ClientKey, p.config.SslVerifyMode) - if err2 != nil { - return fmt.Errorf("Error creating knife config on node: %s", err2) - } - if !p.config.SkipCleanNode { - if err2 := p.cleanNode(ui, comm, nodeName, knifeConfigPath); err2 != nil { - return fmt.Errorf("Error cleaning up chef node: %s", err2) - } - } + if !(p.config.SkipCleanNode && p.config.SkipCleanClient) { - if !p.config.SkipCleanClient { - if err2 := p.cleanClient(ui, comm, nodeName, knifeConfigPath); err2 != nil { - return fmt.Errorf("Error cleaning up chef client: %s", err2) + knifeConfigPath, knifeErr := p.createKnifeConfig( + ui, comm, nodeName, serverUrl, p.config.ClientKey, p.config.SslVerifyMode) + + if knifeErr != nil { + return fmt.Errorf("Error creating knife config on node: %s", knifeErr) + } + + if !p.config.SkipCleanNode { + if err := p.cleanNode(ui, comm, nodeName, knifeConfigPath); err != nil { + return fmt.Errorf("Error cleaning up chef node: %s", err) + } + } + + if !p.config.SkipCleanClient { + if err := p.cleanClient(ui, comm, nodeName, knifeConfigPath); err != nil { + return fmt.Errorf("Error cleaning up chef client: %s", err) + } } }