diff --git a/pkg/mcclient/token2.go b/pkg/mcclient/token2.go index f64d045014..81645b4396 100644 --- a/pkg/mcclient/token2.go +++ b/pkg/mcclient/token2.go @@ -191,7 +191,7 @@ func (catalog KeystoneServiceCatalogV2) getRegions() []string { func (catalog KeystoneServiceCatalogV2) getServiceEndpoint(service, region, zone string) (KeystoneEndpointV2, error) { var selected KeystoneEndpointV2 for i := 0; i < len(catalog); i++ { - if service == catalog[i].Type { + if service == catalog[i].Type && len(catalog[i].Endpoints) > 0 { if len(region) == 0 { if len(catalog[i].Endpoints) >= 1 { selected = catalog[i].Endpoints[0] diff --git a/pkg/mcclient/token3.go b/pkg/mcclient/token3.go index 38e962b119..3f943397e2 100644 --- a/pkg/mcclient/token3.go +++ b/pkg/mcclient/token3.go @@ -270,7 +270,7 @@ func (catalog KeystoneServiceCatalogV3) GetServiceURLs(service, region, zone, en endpointType = "internalURL" } for i := 0; i < len(catalog); i++ { - if service == catalog[i].Type { + if service == catalog[i].Type && len(catalog[i].Endpoints) > 0 { var selected []string regeps := make(map[string][]string) regionzone := ""