Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1444828 - Regression: OpenStack Cinder StorageClass Ignores Availability Zone
Regression: OpenStack Cinder StorageClass Ignores Availability Zone
Status: CLOSED ERRATA
Product: OpenShift Container Platform
Classification: Red Hat
Component: Storage (Show other bugs)
3.6.0
All All
unspecified Severity high
: ---
: ---
Assigned To: hchen
Jianwei Hou
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-04-24 07:51 EDT by Pavel Pospisil
Modified: 2018-02-21 11:32 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-08-10 01:21:25 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2017:1716 normal SHIPPED_LIVE Red Hat OpenShift Container Platform 3.6 RPM Release Advisory 2017-08-10 05:02:50 EDT

  None (edit)
Description Pavel Pospisil 2017-04-24 07:51:29 EDT
Description of problem:
Kubernetes versions up to 1.5 used rackspace/gophercloud library [2] to communicate with OpenStack Cinder API. However, Kubernetes 1.6 uses gophercloud/gophercloud library [3] instead of rackspace/gophercloud and the gophercloud/gophercloud library contains a bug [4] that is not present in rackspace/gophercloud library.

Note: the bug [4] is fixed in gophercloud/gophercloud library by pull request [5] that is already merged.
However, Kubernetes 1.6 uses an old version of gophercloud/gophercloud library that contains the bug [4].
The bug is fixed in Kubernetes 1.7 by pull request [6].

So as soon as OpenShift 3.6 Origin is rebased on top of Kubernetes 1.6 by pull request [1] and the pull request [1] is merged into OpenShift 3.6 Origin this regression will show up.

[1] https://github.com/openshift/origin/pull/13653
[2] https://github.com/rackspace/gophercloud
[3] https://github.com/gophercloud/gophercloud
[4] https://github.com/gophercloud/gophercloud/issues/245
[5] https://github.com/gophercloud/gophercloud/pull/246
[6] https://github.com/kubernetes/kubernetes/pull/44082

Version-Release number of selected component (if applicable):
The regression is present in Kubernetes 1.6 and is fixed in Kubernetes 1.7.

How reproducible: 100%

Steps to Reproduce:
1. Have OpenStack with at least 2 different availability zones and Cinder v1 API available.
2. Have OpenShift 3.6 installed into the OpenStack and integrated.
3. Create an OpenStack Cinder StorageClass that requests a particular availability zone, e.g.
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: zone1
provisioner: kubernetes.io/cinder
parameters:
  availability: zone-1
4. Create a PVC that uses the above StorageClass and have a Cinder volume provisioned. The volume is not provisioned in the requested availability zone, e.g. "zone-1" but in availability zone "nova". This is incorrect.

Actual results:
Volume provisioned in availability zone "nova".

Expected results:
Volume provisioned in availability zone "zone-1".

Master Log: N/A

Node Log (of failed PODs): N/A

PV Dump: N/A

PVC Dump: N/A

StorageClass Dump (if StorageClass used by PV/PVC): N/A

Additional info:
Solution: OpenShift 3.6 uses a newer version of the gophercloud/gophercloud library that has the bug [4] fixed.
Comment 1 Pavel Pospisil 2017-04-28 11:17:54 EDT
Created pull request: https://github.com/openshift/origin/pull/13954
Comment 2 Pavel Pospisil 2017-05-03 07:21:21 EDT
The PR [1] is a subset of the PR [2]. That's why the PR [1] was closed without merge. This bug will be fixed by PR [2].

[1] https://github.com/openshift/origin/pull/13954
[2] https://github.com/openshift/origin/pull/14005
Comment 7 Jianwei Hou 2017-06-27 05:22:36 EDT
Tested on openshift v3.6.122

Currently we could not find an OpenStack that supports cinder volume in multiple availability zones, so the followings are tested:
- Volume could provision in target availability zone.
- Use a different zone name, volume will not be created in the 'nova' zone, pvc will stay pending.

Mark as verified because the regression testing passed.
Comment 9 errata-xmlrpc 2017-08-10 01:21:25 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:1716
Comment 10 hchen 2018-02-21 11:32:28 EST
*** Bug 1537150 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.