Bug 834847 - Fails to RPM update from 3.2.1 to 3.3.0
Fails to RPM update from 3.2.1 to 3.3.0
Product: GlusterFS
Classification: Community
Component: build (Show other bugs)
Unspecified Unspecified
high Severity high
: ---
: ---
Assigned To: Kaleb KEITHLEY
Depends On:
  Show dependency treegraph
Reported: 2012-06-24 05:24 EDT by Etsuji Nakai
Modified: 2013-11-06 08:07 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-11-06 08:07:20 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Etsuji Nakai 2012-06-24 05:24:14 EDT
Description of problem:

RPM update using yum from 3.2.1 to 3.3.0 fails at post-script of glusterfs-server.

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

Pre update:

Post update:

How reproducible:

1. Install GlusterFS-3.2.1
# yum install http://download.gluster.org/pub/gluster/glusterfs/3.2/3.2.1/RHEL/glusterfs-core-3.2.1-1.x86_64.rpm \

2. Create volume
# service glusterd start
# gluster volume create vol01 myhost:/data
# service glusterd stop

3. Update to GlusterFS-3.3.0
# yum localinstall http://download.gluster.org/pub/gluster/glusterfs/LATEST/RHEL/glusterfs-3.3.0-1.el6.x86_64.rpm \
  http://download.gluster.org/pub/gluster/glusterfs/LATEST/RHEL/glusterfs-server-3.3.0-1.el6.x86_64.rpm \

Then, you see the following error.
Running Transaction
  Installing : glusterfs-3.3.0-1.el6.x86_64                        1/5 
  Updating   : glusterfs-fuse-3.3.0-1.el6.x86_64                   2/5 
  Installing : glusterfs-server-3.3.0-1.el6.x86_64                 3/5 
Non-fatal POSTIN scriptlet failure in rpm package glusterfs-server-3.3.0-1.el6.x86_64
mv: cannot move `/etc/glusterd' to `/var/lib/glusterd': Directory not empty
glusterd: symbol lookup error: glusterd: undefined symbol: xdr_gf_event_notify_rsp
warning: %post(glusterfs-server-3.3.0-1.el6.x86_64) scriptlet failed, exit status 127
  Cleanup    : glusterfs-fuse-3.2.1-1.x86_64                       4/5 
  Erasing    : glusterfs-core-3.2.1-1.x86_64                       5/5 

Additional info:
There are two problems in the post-script of glusterfs-server-3.3.0-1 here.

1. The following part presumes that /var/lib/glusterd doesn't exist. But because glusterfs-server provides directories and files in /var/lib/glusterd, the mv operation fails.

if [ -d /etc/glusterd ]; then
    mkdir -p /var/lib
    mv /etc/glusterd /var/lib/
    ln -sf /var/lib/glusterd /etc/glusterd

This should be easy to resolve...

2. The following command is executed *before* old glusterfs-core is erased in the yum transaction process (as seen in the above output.)

    glusterd --xlator-option *.upgrade=on -N

Because of that, glusterd uses the old libraries from glusterfs-core and fails with the error "glusterd: symbol lookup error: glusterd: undefined symbol: xdr_gf_event_notify_rsp".

So you need some trick to avoid referring to the old libraries at this step.
Comment 1 Amar Tumballi 2012-07-05 03:00:36 EDT
we made few changes to RPM spec file. Need to see if thats enough.
Comment 2 Kaleb KEITHLEY 2012-07-05 07:57:11 EDT
see https://bugzilla.redhat.com/show_bug.cgi?id=819130

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