Bug 1447568

Summary: cinder storageclass does not support multi-AZ statefulsets
Product: OpenShift Container Platform Reporter: Vladislav Walek <vwalek>
Component: StorageAssignee: Pavel Pospisil <ppospisi>
Status: CLOSED ERRATA QA Contact: Jianwei Hou <jhou>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.5.0CC: aos-bugs, eparis, fshaikh, ppospisi, smunilla
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In case a kubernetes.io/cinder provisioner Storage Class does not contain the availability optional parameter all Persistent Volumes provisioned for Persistent Volume Claims that used the Storage Class are provisioned in the nova zone. This is incorrect. Now, such Persistent Volumes are provisioned in an active zone where OpenShift has a node.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-10 05:21:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1457092    
Bug Blocks:    

Description Vladislav Walek 2017-05-03 08:37:21 UTC
Description of problem:

Problem description https://github.com/kubernetes/kubernetes/issues/44735

If I understood correctly fixing this is one of the goals in 3.6, 3.7 and 3.8 openshift.

One solution possibilities for this is available in https://github.com/kubernetes/kubernetes/pull/44798 I hope that you could include this pr already to 3.6

Version-Release number of selected component (if applicable):
Openshift Container Platform 3.5

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:


Description of problem:

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:

Master Log:

Node Log (of failed PODs):

PV Dump:

PVC Dump:

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

Additional info:

Maybe related to https://bugzilla.redhat.com/show_bug.cgi?id=1444828

Comment 8 Jianwei Hou 2017-07-05 02:50:35 UTC
Tested on v3.6.131.

Currently we do not have an OpenStack that supports creating cinder volumes in multiple AZs. This bug is verified in this way:

1. Create an OCP cluster with 3 nodes.
2. For each node, label that node with a fake availability zone name, eg: 
oc label node $nodename1 failure-domain.beta.kubernetes.io/zone=zone1 --overwrite=true
oc label node $nodename2 failure-domain.beta.kubernetes.io/zone=zone2 --overwrite=true
oc label node $nodename3 failure-domain.beta.kubernetes.io/zone=zone3 --overwrite=true
3. Create StorageClass that has no parameters:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cinder
provisioner: kubernetes.io/cinder
4. Use PVC to provision PV, verify that master tries to select zone from the 3 zones instead of the default 'nova':

Jul  4 22:43:44 host-8-172-177 atomic-openshift-master: I0704 22:43:44.978819   17138 util.go:360] Creating volume for PVC "cinderc"; chose zone="zone1" from zones=["zone1" "zone2" "zone3"]
Jul  4 22:43:44 host-8-172-177 atomic-openshift-master: I0704 22:43:44.977990   17138 util.go:360] Creating volume for PVC "cinderc1"; chose zone="zone3" from zones=["zone1" "zone2" "zone3"]

At this point the availability zone is tested and I think this bug is verified.

Comment 10 errata-xmlrpc 2017-08-10 05:21:25 UTC
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