Merge pull request #49318 from dims/bail-on-block-storage-api-detection

Automatic merge from submit-queue (batch tested with PRs 49081, 49318, 49219, 48989, 48486)

Better message if we dont find appropriate BlockStorage API

**What this PR does / why we need it**:

With latest devstack, v1 and v2 are DEPRECATED and v3 is marked
as CURRENT. So we fail to attach the disk, the error message is
shown when one does "kubectl describe pod" but the operator has
to dig into find the problem.

So log a better message if we can't find the appropriate version
of the API that we support with an explicit error message that
the operator can see how to fix the situation.

Note support for v3 block storage API is being added to gophercloud
and will take a bit of time before we can support it.


**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
pull/6/head
Kubernetes Submit Queue 2017-07-28 04:03:38 -07:00 committed by GitHub
commit c9842a2145
1 changed files with 4 additions and 2 deletions

View File

@ -652,8 +652,10 @@ func (os *OpenStack) volumeService(forceVersion string) (volumeService, error) {
if autodetectedVersion := doBsApiVersionAutodetect(availableApiVersions); autodetectedVersion != "" { if autodetectedVersion := doBsApiVersionAutodetect(availableApiVersions); autodetectedVersion != "" {
return os.volumeService(autodetectedVersion) return os.volumeService(autodetectedVersion)
} else { } else {
// Nothing suitable found, failed autodetection // Nothing suitable found, failed autodetection, just exit with appropriate message
return nil, errors.New("BS API version autodetection failed.") err_txt := "BlockStorage API version autodetection failed. " +
"Please set it explicitly in cloud.conf in section [BlockStorage] with key `bs-version`"
return nil, errors.New(err_txt)
} }
default: default: