Bug 1678817

Summary: [DOCS] upgrading gluster/OCS pods from 3.9 to 3.10 section has wrong/none existing option in it
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: daniel <dmoessne>
Component: doc-Container_Native_Storage_with_OpenShiftAssignee: Chandrakanth Pai <chpai>
Status: CLOSED NOTABUG QA Contact: storage-qa-internal <storage-qa-internal>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: cns-3.10CC: asriram, bkunal, chpai, clichybi, knarra, madam, puebele, rhs-bugs, rtalur, sankarshan, storage-doc, storage-qa-internal
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-24 02:19:47 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: 1694089    

Description daniel 2019-02-19 16:27:48 UTC
Document URL: 
- https://access.redhat.com/documentation/en-us/red_hat_openshift_container_storage/3.10/html/deployment_guide/chap-documentation-red_hat_gluster_storage_container_native_with_openshift_platform-upgrade-gluster_pods


This is OCS 3.10 deployment guide


Section Number and Name: 

- 6.4. Upgrading the Red Hat Gluster Storage Pods


Describe the issue: 

In step 
2. Execute the following steps to enable server.tcp-user-timeout on all volumes. 
iii.  Execute the following command: 
# for eachVolume in `gluster volume list`; do echo $eachVolume; gluster volume set $eachVolume server.tcp-user-timeout 42 ; done


But doing this on my CNS 3.9 pod I do get:

sh-4.2# for eachVolume in `gluster volume list`; do echo $eachVolume;gluster volume set $eachVolume server.tcp-user-timeout 42 ; done
heketidbstorage
volume set: failed: option : server.tcp-user-timeout does not exist
Did you mean server.gid-timeout?
vol_8cb775018fb022dbc194039a46796a4c
volume set: failed: option : server.tcp-user-timeout does not exist
Did you mean server.gid-timeout?
vol_99ff0e4cb681f7051716f27a089ad087
volume set: failed: option : server.tcp-user-timeout does not exist
Did you mean server.gid-timeout?
sh-4.2# 



so it seems that option is not there:

sh-4.2# gluster volume get heketidbstorage all|grep tcp
network.tcp-window-size                 (null)                                  
network.tcp-window-size                 (null)                                  
sh-4.2# gluster volume get heketidbstorage all|grep user
sh-4.2# gluster volume get heketidbstorage all|grep server
server.allow-insecure                   (null)                                  
server.root-squash                      off                                     
server.anonuid                          65534                                   
server.anongid                          65534                                   
server.statedump-path                   /var/run/gluster                        
server.outstanding-rpc-limit            64                                      
server.ssl                              (null)                                  
server.manage-gids                      off                                     
server.dynamic-auth                     on                                      
server.gid-timeout                      300                                     
server.own-thread                       (null)                                  
server.event-threads                    1                                       
nfs.server-aux-gids                     off                                     
cluster.server-quorum-type              off                                     
cluster.server-quorum-ratio             0                                       
sh-4.2# 


Suggestions for improvement: 

- correct this step and either provide the correct settings or remove them 

Additional information: 

sh-4.2# rpm -qa |grep gluster
glusterfs-libs-3.8.4-54.10.el7rhgs.x86_64
glusterfs-3.8.4-54.10.el7rhgs.x86_64
glusterfs-api-3.8.4-54.10.el7rhgs.x86_64
glusterfs-server-3.8.4-54.10.el7rhgs.x86_64
glusterfs-client-xlators-3.8.4-54.10.el7rhgs.x86_64
glusterfs-cli-3.8.4-54.10.el7rhgs.x86_64
glusterfs-fuse-3.8.4-54.10.el7rhgs.x86_64
glusterfs-geo-replication-3.8.4-54.10.el7rhgs.x86_64
gluster-block-0.2.1-14.1.el7rhgs.x86_64
sh-4.2# 


Image I am using pre upgrade

# oc get po -o yaml glusterfs-storage-754nf |grep -i image
    image: registry.access.redhat.com/rhgs3/rhgs-server-rhel7:v3.9
    imagePullPolicy: IfNotPresent
  imagePullSecrets:
    image: registry.access.redhat.com/rhgs3/rhgs-server-rhel7:v3.9
    imageID: docker-pullable://registry.access.redhat.com/rhgs3/rhgs-server-rhel7@sha256:e87f07b5ab5a6848894d6acbd8ca2b1241d2ba5b041327ee7bd2a91456006c42
#

Comment 1 daniel 2019-02-20 07:33:25 UTC
However it workse once update to OCS 3.10:

sh-4.2# for eachVolume in `gluster volume list`; do echo $eachVolume; gluster volume set $eachVolume server.tcp-user-timeout 42 ; done
heketidbstorage
volume set: success
vol_8cb775018fb022dbc194039a46796a4c
volume set: success
vol_99ff0e4cb681f7051716f27a089ad087
volume set: success
sh-4.2# 

sh-4.2# rpm -qa |grep gluster
glusterfs-client-xlators-3.12.2-18.el7rhgs.x86_64
glusterfs-cli-3.12.2-18.el7rhgs.x86_64
python2-gluster-3.12.2-18.el7rhgs.x86_64
glusterfs-geo-replication-3.12.2-18.el7rhgs.x86_64
glusterfs-libs-3.12.2-18.el7rhgs.x86_64
glusterfs-3.12.2-18.el7rhgs.x86_64
glusterfs-api-3.12.2-18.el7rhgs.x86_64
glusterfs-fuse-3.12.2-18.el7rhgs.x86_64
glusterfs-server-3.12.2-18.el7rhgs.x86_64
gluster-block-0.2.1-26.el7rhgs.x86_64
sh-4.2# 

sh-4.2# gluster volume get heketidbstorage all|grep tcp
network.tcp-window-size                 (null)                                  
client.tcp-user-timeout                 0                                       
network.tcp-window-size                 (null)                                  
server.tcp-user-timeout                 42                                      
sh-4.2# 

# oc get -n app-storage -o yaml po glusterfs-storage-czjrt|grep image
    image: rhgs3/rhgs-server-rhel7:v3.10
    imagePullPolicy: IfNotPresent
  imagePullSecrets:
    image: registry.access.redhat.com/rhgs3/rhgs-server-rhel7:v3.10
    imageID: docker-pullable://registry.access.redhat.com/rhgs3/rhgs-server-rhel7@sha256:03b0f6694deb978bfb0a47bdd91211c9606dab5d6db3e77e7566df5d180968f5
#

Comment 3 RamaKasturi 2019-04-05 10:24:42 UTC
Acking this for 3.11.3 as this needs to be fixed.

Comment 4 Chandrakanth Pai 2019-04-08 05:12:01 UTC
(In reply to daniel from comment #0)
> Document URL: 
> -
> https://access.redhat.com/documentation/en-us/
> red_hat_openshift_container_storage/3.10/html/deployment_guide/chap-
> documentation-
> red_hat_gluster_storage_container_native_with_openshift_platform-upgrade-
> gluster_pods
> 
> 
> This is OCS 3.10 deployment guide
> 
> 
> Section Number and Name: 
> 
> - 6.4. Upgrading the Red Hat Gluster Storage Pods
> 
> 
> Describe the issue: 
> 
> In step 
> 2. Execute the following steps to enable server.tcp-user-timeout on all
> volumes. 
> iii.  Execute the following command: 
> # for eachVolume in `gluster volume list`; do echo $eachVolume; gluster
> volume set $eachVolume server.tcp-user-timeout 42 ; done
> 
> 
> But doing this on my CNS 3.9 pod I do get:
> 
> sh-4.2# for eachVolume in `gluster volume list`; do echo $eachVolume;gluster
> volume set $eachVolume server.tcp-user-timeout 42 ; done
> heketidbstorage
> volume set: failed: option : server.tcp-user-timeout does not exist
> Did you mean server.gid-timeout?
> vol_8cb775018fb022dbc194039a46796a4c
> volume set: failed: option : server.tcp-user-timeout does not exist
> Did you mean server.gid-timeout?
> vol_99ff0e4cb681f7051716f27a089ad087
> volume set: failed: option : server.tcp-user-timeout does not exist
> Did you mean server.gid-timeout?
> sh-4.2# 
> 
> 
> 
> so it seems that option is not there:
> 
> sh-4.2# gluster volume get heketidbstorage all|grep tcp
> network.tcp-window-size                 (null)                              
> 
> network.tcp-window-size                 (null)                              
> 
> sh-4.2# gluster volume get heketidbstorage all|grep user
> sh-4.2# gluster volume get heketidbstorage all|grep server
> server.allow-insecure                   (null)                              
> 
> server.root-squash                      off                                 
> 
> server.anonuid                          65534                               
> 
> server.anongid                          65534                               
> 
> server.statedump-path                   /var/run/gluster                    
> 
> server.outstanding-rpc-limit            64                                  
> 
> server.ssl                              (null)                              
> 
> server.manage-gids                      off                                 
> 
> server.dynamic-auth                     on                                  
> 
> server.gid-timeout                      300                                 
> 
> server.own-thread                       (null)                              
> 
> server.event-threads                    1                                   
> 
> nfs.server-aux-gids                     off                                 
> 
> cluster.server-quorum-type              off                                 
> 
> cluster.server-quorum-ratio             0                                   
> 
> sh-4.2# 
> 
> 
> Suggestions for improvement: 
> 
> - correct this step and either provide the correct settings or remove them 
> 
> Additional information: 
> 
> sh-4.2# rpm -qa |grep gluster
> glusterfs-libs-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-api-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-server-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-client-xlators-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-cli-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-fuse-3.8.4-54.10.el7rhgs.x86_64
> glusterfs-geo-replication-3.8.4-54.10.el7rhgs.x86_64
> gluster-block-0.2.1-14.1.el7rhgs.x86_64
> sh-4.2# 
> 
> 
> Image I am using pre upgrade
> 
> # oc get po -o yaml glusterfs-storage-754nf |grep -i image
>     image: registry.access.redhat.com/rhgs3/rhgs-server-rhel7:v3.9
>     imagePullPolicy: IfNotPresent
>   imagePullSecrets:
>     image: registry.access.redhat.com/rhgs3/rhgs-server-rhel7:v3.9
>     imageID:
> docker-pullable://registry.access.redhat.com/rhgs3/rhgs-server-rhel7@sha256:
> e87f07b5ab5a6848894d6acbd8ca2b1241d2ba5b041327ee7bd2a91456006c42
> #

Hi Daniel,

If my understanding is right, server.tcp-user-timeout option is not available in CNS 3.9 and once you update to OCS 3.10 this option is available.
So you want the doc to be updated in CNS 3.9?

-Chandrakanth

Comment 5 daniel 2019-04-08 05:50:45 UTC
> Hi Daniel,
> 
> If my understanding is right, server.tcp-user-timeout option is not
> available in CNS 3.9 and once you update to OCS 3.10 this option is
> available.
> So you want the doc to be updated in CNS 3.9?
> 
> -Chandrakanth

Hey Chandrakanth,

actually I want an update in the OCS 3.10 (upgrade part) docs: 

https://access.redhat.com/documentation/en-us/red_hat_openshift_container_storage/3.10/html/deployment_guide/chap-documentation-red_hat_gluster_storage_container_native_with_openshift_platform-upgrade-gluster_pods

there in 2) "Execute the following steps to enable server.tcp-user-timeout on all volumes"

we ask for setting server.tcp-user-timeout at a time the gluster pods are still on CNS 3.9 and the gluster version does not support that very setting.
I suppose there is a reason why we want this setting, however at this stage it is simply not available. So (but this needs to be clarified with eng) we
need to move it after the gluster pods are upgraded and on a OCS 3.10 image.

Please let me know if you do have further questions

thanks,
daniel