When attempting to attach a cinder volume to a node, the node-controller-manager needs to first negotiate the API-version with cinder. As of Kubernetes v1.7, the controller appears unable to do so. Attempting to deploy a pod will fail with the error
FailedMount
AttachVolume.Attach failed for volume "myvolume" : Expected HTTP response code [200 204] when accessing [GET https://openstack.cern.ch:8776/], but got 300 instead
{"versions": [{"status": "DEPRECATED", "updated": "2016-05-02T20:25:19Z", "links": [{"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}, {"href": "http://openstack.cern.ch:8776/v1/", "rel": "self"}], "min_version": "", "version": "", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.volume+json;version=1"}], "id": "v1.0"}, {"status": "SUPPORTED", "updated": "2014-06-28T12:20:21Z", "links": [{"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}, {"href": "http://openstack.cern.ch:8776/v2/", "rel": "self"}], "min_version": "", "version": "", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.volume+json;version=1"}], "id": "v2.0"}, {"status": "CURRENT", "updated": "2016-02-08T12:20:21Z", "links": [{"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}, {"href": "http://openstack.cern.ch:8776/v3/", "rel": "self"}], "min_version": "3.0", "version": "3.27", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.volume+json;version=1"}], "id": "v3.0"}]}
As a workaround, one can force an API-version by adding the following to /etc/sysconfig/kube_openstack_config
[BlockStorage]
bs-version=v2
Fix proposed to branch: master /review. openstack. org/483970
Review: https:/