From 0da1660653b82d433cd92c6ba2b79df5d51b7bf8 Mon Sep 17 00:00:00 2001 From: FengyunPan2 Date: Sat, 10 Mar 2018 10:57:37 +0800 Subject: [PATCH] IsNotFound should check ErrDefault404 and ErrUnexpectedResponseCode Related to: #60658 #60976 Refer to: https://github.com/gophercloud/gophercloud/pull/103 --- pkg/cloudprovider/providers/openstack/openstack.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkg/cloudprovider/providers/openstack/openstack.go b/pkg/cloudprovider/providers/openstack/openstack.go index 56eb351b8bb..c69df4dd160 100644 --- a/pkg/cloudprovider/providers/openstack/openstack.go +++ b/pkg/cloudprovider/providers/openstack/openstack.go @@ -605,8 +605,17 @@ func (os *OpenStack) LoadBalancer() (cloudprovider.LoadBalancer, bool) { } func isNotFound(err error) bool { - e, ok := err.(*gophercloud.ErrUnexpectedResponseCode) - return ok && e.Actual == http.StatusNotFound + if _, ok := err.(gophercloud.ErrDefault404); ok { + return true + } + + if errCode, ok := err.(gophercloud.ErrUnexpectedResponseCode); ok { + if errCode.Actual == http.StatusNotFound { + return true + } + } + + return false } // Zones indicates that we support zones