[Gluster-devel] Release 4.0: Unable to complete rolling upgrade tests

Ravishankar N ravishankar at redhat.com
Fri Mar 2 05:31:06 UTC 2018


On 03/02/2018 10:11 AM, Ravishankar N wrote:
> + Anoop.
>
> It looks like clients on the old (3.12) nodes are not able to talk to 
> the upgraded (4.0) node. I see messages like these on the old clients:
>
>  [2018-03-02 03:49:13.483458] W [MSGID: 114007] 
> [client-handshake.c:1197:client_setvolume_cbk] 0-testvol-client-2: 
> failed to find key 'clnt-lk-version' in the options
>
I see this in a 2x1 plain distribute also. I see ENOTCONN for the 
upgraded brick on the old client:

[2018-03-02 04:58:54.559446] E [MSGID: 114058] 
[client-handshake.c:1571:client_query_portmap_cbk] 0-testvol-client-1: 
failed to get the port number for remote subvolume. Please run 'gluster 
volume status' on server to see if brick process is running.
[2018-03-02 04:58:54.559618] I [MSGID: 114018] 
[client.c:2285:client_rpc_notify] 0-testvol-client-1: disconnected from 
testvol-client-1. Client process will keep trying to connect to glusterd 
until brick's port is available
[2018-03-02 04:58:56.973199] I [rpc-clnt.c:1994:rpc_clnt_reconfig] 
0-testvol-client-1: changing port to 49152 (from 0)
[2018-03-02 04:58:56.975844] I [MSGID: 114057] 
[client-handshake.c:1484:select_server_supported_programs] 
0-testvol-client-1: Using Program GlusterFS 3.3, Num (1298437), Version 
(330)
[2018-03-02 04:58:56.978114] W [MSGID: 114007] 
[client-handshake.c:1197:client_setvolume_cbk] 0-testvol-client-1: 
failed to find key 'clnt-lk-version' in the options
[2018-03-02 04:58:46.618036] E [MSGID: 114031] 
[client-rpc-fops.c:2768:client3_3_opendir_cbk] 0-testvol-client-1: 
remote operation failed. Path: / (00000000-0000-0000-0000-000000000001) 
[Transport endpoint is not connected]
The message "W [MSGID: 114031] 
[client-rpc-fops.c:2577:client3_3_readdirp_cbk] 0-testvol-client-1: 
remote operation failed [Transport endpoint is not connected]" repeated 
3 times between [2018-03-02 04:58:46.609529] and [2018-03-02 
04:58:46.618683]

Also, mkdir fails on the old mount with EIO, though physically 
succeeding on both bricks. Can the rpc folks offer a helping hand?

-Ravi
> Is there something more to be done on BZ 1544366?
>
> -Ravi
> On 03/02/2018 08:44 AM, Ravishankar N wrote:
>>
>> On 03/02/2018 07:26 AM, Shyam Ranganathan wrote:
>>> Hi Pranith/Ravi,
>>>
>>> So, to keep a long story short, post upgrading 1 node in a 3 node 3.13
>>> cluster, self-heal is not able to catch the heal backlog and this is a
>>> very simple synthetic test anyway, but the end result is that upgrade
>>> testing is failing.
>>
>> Let me try this now and get back. I had done some thing similar when 
>> testing the FIPS patch and the rolling upgrade had worked.
>> Thanks,
>> Ravi
>>>
>>> Here are the details,
>>>
>>> - Using
>>> https://hackmd.io/GYIwTADCDsDMCGBaArAUxAY0QFhBAbIgJwCMySIwJmAJvGMBvNEA#
>>> I setup 3 server containers to install 3.13 first as follows (within 
>>> the
>>> containers)
>>>
>>> (inside the 3 server containers)
>>> yum -y update; yum -y install centos-release-gluster313; yum install
>>> glusterfs-server; glusterd
>>>
>>> (inside centos-glfs-server1)
>>> gluster peer probe centos-glfs-server2
>>> gluster peer probe centos-glfs-server3
>>> gluster peer status
>>> gluster v create patchy replica 3 centos-glfs-server1:/d/brick1
>>> centos-glfs-server2:/d/brick2 centos-glfs-server3:/d/brick3
>>> centos-glfs-server1:/d/brick4 centos-glfs-server2:/d/brick5
>>> centos-glfs-server3:/d/brick6 force
>>> gluster v start patchy
>>> gluster v status
>>>
>>> Create a client container as per the document above, and mount the 
>>> above
>>> volume and create 1 file, 1 directory and a file within that directory.
>>>
>>> Now we start the upgrade process (as laid out for 3.13 here
>>> http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_3.13/ ):
>>> - killall glusterfs glusterfsd glusterd
>>> - yum install
>>> http://cbs.centos.org/kojifiles/work/tasks/1548/311548/centos-release-gluster40-0.9-1.el7.centos.x86_64.rpm 
>>>
>>> - yum upgrade --enablerepo=centos-gluster40-test glusterfs-server
>>>
>>> < Go back to the client and edit the contents of one of the files and
>>> change the permissions of a directory, so that there are things to heal
>>> when we bring up the newly upgraded server>
>>>
>>> - gluster --version
>>> - glusterd
>>> - gluster v status
>>> - gluster v heal patchy
>>>
>>> The above starts failing as follows,
>>> [root at centos-glfs-server1 /]# gluster v heal patchy
>>> Launching heal operation to perform index self heal on volume patchy 
>>> has
>>> been unsuccessful:
>>> Commit failed on centos-glfs-server2.glfstest20. Please check log file
>>> for details.
>>> Commit failed on centos-glfs-server3. Please check log file for 
>>> details.
>>>
>>>  From here, if further files or directories are created from the 
>>> client,
>>> they just get added to the heal backlog, and heal does not catchup.
>>>
>>> As is obvious, I cannot proceed, as the upgrade procedure is broken. 
>>> The
>>> issue itself may not be selfheal deamon, but something around
>>> connections, but as the process fails here, looking to you guys to
>>> unblock this as soon as possible, as we are already running a day's 
>>> slip
>>> in the release.
>>>
>>> Thanks,
>>> Shyam
>>
>



More information about the Gluster-devel mailing list