Bug 1567236

Summary: [GSS][RFE] heketi Node replacement and OCP endpoints
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Cal Calhoun <ccalhoun>
Component: kubernetesAssignee: Humble Chirammal <hchiramm>
Status: CLOSED DUPLICATE QA Contact: Prasanth <pprakash>
Severity: low Docs Contact:
Priority: unspecified    
Version: cns-3.6CC: acomabon, bkunal, hchiramm, jmulligan, madam, puebele, rhs-bugs, rtalur, sankarshan, storage-qa-internal
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-27 15:41:29 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:    
Bug Blocks: 1573420, 1622458    

Description Cal Calhoun 2018-04-13 15:47:57 UTC
Description of problem:

  Customer's Observation:

  "With heketi it is really easy and dynamic to replace a node (due to a failure or decommission), but we have seen that in Openshift the endpoints of heketi do not change and it can become a problem:

  [root@ocp]# oc get endpoints --all-namespaces
  NAMESPACE		NAME				  ENDPOINTS					AGE
  ...
  storage-project		heketi-storage-endpoints	10.10.10.10:1,10.10.10.20:1,10.10.10.30:1	54m
  testproject		glusterfs-dynamic-claim1	10.10.10.10:1,10.10.10.20:1,10.10.10.30:1	49m

  Now, with heketi-cli you can remove node 10.10.10.10 and add a new node 10.10.10.40. The endpoints will not change automatically in Openshift and you have to manually edit all the endpoints for every PV to reflect this change in heketi topology.

  Thinking in an edge case such as replacing all three gluster nodes, even though everything will work because the glusterfs daemon detect correctly the new volume graph, if the pods (or the entire host) restart, they will not know where the new endpoints are and will never connect to the gluster nodes.

  Is there an easy way to replace the endpoints for all pods in case a node replacement has been performed by heketi-cli?

  Is it possible to add functionality to update the endpoints of the pods in case the heketi topology has changed?"

  Please let me know if I can supply any additional information to assist in this effort.