From 4b9c4cc3e6ec4f949b1747a89f6905db42ecf12c Mon Sep 17 00:00:00 2001 From: Marc Abramowitz Date: Fri, 18 Dec 2015 10:37:31 -0800 Subject: [PATCH] openstack: WaitForImage: treat 404 as retryable Addresses comment at https://github.com/mitchellh/packer/issues/1415#issuecomment-165739549 --- builder/openstack/step_create_image.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builder/openstack/step_create_image.go b/builder/openstack/step_create_image.go index 425e88bb6..5c39b0ffc 100644 --- a/builder/openstack/step_create_image.go +++ b/builder/openstack/step_create_image.go @@ -69,13 +69,13 @@ func WaitForImage(client *gophercloud.ServiceClient, imageId string) error { image, err := images.Get(client, imageId).Extract() if err != nil { errCode, ok := err.(*gophercloud.UnexpectedResponseCodeError) - if ok && errCode.Actual == 500 { + if ok && (errCode.Actual == 500 || errCode.Actual == 404) { numErrors++ if numErrors >= maxNumErrors { log.Printf("[ERROR] Maximum number of errors (%d) reached; failing with: %s", numErrors, err) return err } - log.Printf("[ERROR] 500 error received, will ignore and retry: %s", err) + log.Printf("[ERROR] %d error received, will ignore and retry: %s", errCode.Actual, err) time.Sleep(2 * time.Second) continue }