Bug 834847 - Fails to RPM update from 3.2.1 to 3.3.0
Summary: Fails to RPM update from 3.2.1 to 3.3.0
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: GlusterFS
Classification: Community
Component: build
Version: 3.3.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-24 09:24 UTC by Etsuji Nakai
Modified: 2013-11-06 13:07 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-06 13:07:20 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 819130 0 medium CLOSED Merge in the Fedora spec changes to build one single unified spec 2021-02-22 00:41:40 UTC

Internal Links: 819130

Description Etsuji Nakai 2012-06-24 09:24:14 UTC
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:
glusterfs-core-3.2.1-1.x86_64.rpm
glusterfs-fuse-3.2.1-1.x86_64.rpm

Post update:
glusterfs-3.3.0-1.el6.x86_64.rpm
/glusterfs-server-3.3.0-1.el6.x86_64.rpm 
glusterfs-fuse-3.3.0-1.el6.x86_64.rpm


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 \
  http://download.gluster.org/pub/gluster/glusterfs/3.2/3.2.1/RHEL/glusterfs-fuse-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 \
  http://download.gluster.org/pub/gluster/glusterfs/LATEST/RHEL/glusterfs-fuse-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
fi

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 07:00:36 UTC
we made few changes to RPM spec file. Need to see if thats enough.

Comment 2 Kaleb KEITHLEY 2012-07-05 11:57:11 UTC
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.