Bug 1447653 - Pods failed after update and restart of Gluster storage nodes
Summary: Pods failed after update and restart of Gluster storage nodes
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: CNS-deployment
Version: cns-3.6
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: OCS 3.11
Assignee: Michael Adam
QA Contact: Rachael
URL:
Whiteboard:
Depends On:
Blocks: 1543779 1622458 1629577
TreeView+ depends on / blocked
 
Reported: 2017-05-03 12:09 UTC by Jaspreet Kaur
Modified: 2021-12-10 15:02 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-10-24 04:50:56 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:2985 0 None None None 2018-10-24 04:51:27 UTC

Description Jaspreet Kaur 2017-05-03 12:09:06 UTC
After upgrading Gluster storage nodes from glusterfs-3.8.10-1.el7 to glusterfs-3.8.11-1.el7 (this is the community build) followed by a system reboot. All storage nodes were updated and rebooted without waiting for Gluster to recover. The latter is a failure in our procedure and to be adressed separately. Shortly after the reboot pods started to report failure events:

    mkdir /var/lib/origin/openshift.local.volumes/pods/…/volumes/kubernetes.io~glusterfs/gluster-…: file exists

Only a pod restart brought them back into working order.

The logs written by the Gluster client started for the affected pods by OpenShift/K8s, /var/lib/origin/openshift.local.volumes/plugins/kubernetes.io/glusterfs/gluster-*/*.log, contained a single line:

    E [glusterfsd-mgmt.c:1908:mgmt_rpc_notify] 0-glusterfsd-mgmt: failed to connect with remote-host: 172.16.110.… (No data available)

Digging this we see Kubernetes uses a single endpoint IP address[1] when mounting a volume. The "backup-volfile-server" option was only added in commit 43c0a686, to be shipped with Kubernetes 1.7 . This effectively makes every Gluster server a single point of failure for pods using it as a volume server. Should that server fail permanently or become unreachable for longer periods of time services running in pods will be impacted.

Gluster client option "backup-volfile-server" should be implemented from [2] and backported to 3.4/3.5

[1] https://github.com/kubernetes/kubernetes/blob/v1.6.2/pkg/volume/glusterfs/glusterfs.go#L336
[2] https://github.com/kubernetes/kubernetes/commit/43c0a6869d35eaa8f762ee1e223f3e14c507120c

Comment 18 errata-xmlrpc 2018-10-24 04:50:56 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/RHBA-2018:2985


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