Marco
2015-May-25 22:55 UTC
[Gluster-users] AttributeError: python: undefined symbol: gf_changelog_register
Hello all.
I have an issue when I'm trying to populate a geo-replication volume:
[2015-05-25 23:59:26.666712] I [monitor(monitor):129:monitor] Monitor:
------------------------------------------------------------
[2015-05-25 23:59:26.667079] I [monitor(monitor):130:monitor] Monitor:
starting gsyncd worker
[2015-05-25 23:59:26.762124] I [gsyncd(/gluster):532:main_i] <top>:
syncing: gluster://localhost:volume1 ->
ssh://root at gluster3.marcobaldo.ch:gluster://localhost:volume1_slave
[2015-05-25 23:59:29.611541] I [master(/gluster):58:gmaster_builder]
<top>: setting up xsync change detection mode
[2015-05-25 23:59:29.612349] I [master(/gluster):357:__init__] _GMaster:
using 'rsync' as the sync engine
[2015-05-25 23:59:29.613812] I [master(/gluster):58:gmaster_builder]
<top>: setting up changelog change detection mode
[2015-05-25 23:59:29.614294] I [master(/gluster):357:__init__] _GMaster:
using 'rsync' as the sync engine
[2015-05-25 23:59:29.616271] I [master(/gluster):1103:register]
_GMaster: xsync temp directory:
/var/run/gluster/volume1/ssh%3A%2F%2Froot%40192.168.178.233%3Agluster%3A%2F%2F127.0.0.1%3Avolume1_slave/1077eb0027f1f616115bcb74a330d1c2/xsync
[2015-05-25 23:59:29.648611] E
[syncdutils(/gluster):240:log_raise_exception] <top>: FAIL:
Traceback (most recent call last):
File "/usr/lib/glusterfs/python/syncdaemon/gsyncd.py", line 150, in
main
main_i()
File "/usr/lib/glusterfs/python/syncdaemon/gsyncd.py", line 542, in
main_i
local.service_loop(*[r for r in [remote] if r])
File "/usr/lib/glusterfs/python/syncdaemon/resource.py", line 1175,
in
service_loop
g2.register()
File "/usr/lib/glusterfs/python/syncdaemon/master.py", line 1077, in
register
workdir, logfile, 9, 5)
File "/usr/lib/glusterfs/python/syncdaemon/resource.py", line 614,
in
changelog_register
Changes.cl_register(cl_brick, cl_dir, cl_log, cl_level, retries)
File "/usr/lib/glusterfs/python/syncdaemon/libgfchangelog.py", line
23,
in cl_register
ret = cls._get_api('gf_changelog_register')(brick, path,
File "/usr/lib/glusterfs/python/syncdaemon/libgfchangelog.py", line
19, in _get_api
return getattr(cls.libgfc, call)
File "/usr/lib64/python2.7/ctypes/__init__.py", line 378, in
__getattr__
func = self.__getitem__(name)
File "/usr/lib64/python2.7/ctypes/__init__.py", line 383, in
__getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: python: undefined symbol: gf_changelog_register
[2015-05-25 23:59:29.650513] I [syncdutils(/gluster):192:finalize]
<top>: exiting.
[2015-05-25 23:59:30.613435] I [monitor(monitor):157:monitor] Monitor:
worker(/gluster) died in startup phase
COMMANDS
************
# gluster volume geo-replication volume1
gluster3.marcobaldo.ch::volume1_slave start
Starting geo-replication session between volume1 &
gluster3.marcobaldo.ch::volume1_slave has been successful
# gluster volume geo-replication volume1
gluster3.marcobaldo.ch::volume1_slave status
MASTER NODE MASTER VOL MASTER BRICK
SLAVE STATUS CHECKPOINT
STATUS CRAWL STATUS
-------------------------------------------------------------------------------------------------------------------------------------------
fs2 volume1 /gluster
gluster3.marcobaldo.ch::volume1_slave Initializing...
N/A N/A
fs1 volume1 /gluster
gluster3.marcobaldo.ch::volume1_slave Initializing...
N/A N/A
and after a few seconds
# gluster volume geo-replication volume1
gluster3.marcobaldo.ch::volume1_slave status
MASTER NODE MASTER VOL MASTER BRICK
SLAVE STATUS CHECKPOINT STATUS
CRAWL STATUS
----------------------------------------------------------------------------------------------------------------------------------
fs2 volume1 /gluster
gluster3.marcobaldo.ch::volume1_slave faulty N/A
N/A
fs1 volume1 /gluster
gluster3.marcobaldo.ch::volume1_slave faulty N/A N/A
VOLUMES
**********
Volume Name: volume1
Type: Replicate
Volume ID: 0952d1ce-f62c-40b6-809a-4e193db0f1f9
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gluster1.marcobaldo.ch:/gluster
Brick2: gluster2.marcobaldo.ch:/gluster
Options Reconfigured:
changelog.changelog: on
geo-replication.ignore-pid-check: on
geo-replication.indexing: on
nfs.disable: off
Volume Name: volume1_slave
Type: Distribute
Volume ID: b0b161d8-a642-4d41-808e-2bb076989f78
Status: Started
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: gluster3.marcobaldo.ch:/gluster_slave
VERSION
*********
# glusterd -V
glusterfs 3.5.2 built on *bleep*
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.
I'm running OpenSuSE 13.2 and I have installed Glusterfs from the
standard OpenSuSE repos. Currently I don't have any known problem with
"Replicate" volumes.
May I ask for your help? I have been googling but I could not find any
input.
Tnx in advance and have a nice day
Marco
Kotresh Hiremath Ravishankar
2015-May-26 06:21 UTC
[Gluster-users] AttributeError: python: undefined symbol: gf_changelog_register
Hi Marco, 'gf_changelog_register' is an API exposed from the shared library 'libgfchangelog.so'. Please check whether 'libgfchangelog.so' is available to linker by using following command. #ldconfig -p | grep libgfchangelog If it is not found, please find where the libgfchangelog.so is installed and run ldconfig on it. e.g., If found at /usr/local/lib/libgfchangelog.so, #ldconfig /usr/local/lib After this, confirm whether the library is cached by using first command above and try restarting geo-replication. Let us know if the library is cached and still you face this issue. Hope this helps! Thanks and Regards, Kotresh H R ----- Original Message -----> From: "Marco" <marco.brignoli at marcobaldo.ch> > To: Gluster-users at gluster.org > Sent: Tuesday, May 26, 2015 4:25:26 AM > Subject: [Gluster-users] AttributeError: python: undefined symbol: gf_changelog_register > > Hello all. > > I have an issue when I'm trying to populate a geo-replication volume: > > [2015-05-25 23:59:26.666712] I [monitor(monitor):129:monitor] Monitor: > ------------------------------------------------------------ > [2015-05-25 23:59:26.667079] I [monitor(monitor):130:monitor] Monitor: > starting gsyncd worker > [2015-05-25 23:59:26.762124] I [gsyncd(/gluster):532:main_i] <top>: > syncing: gluster://localhost:volume1 -> > ssh://root at gluster3.marcobaldo.ch:gluster://localhost:volume1_slave > [2015-05-25 23:59:29.611541] I [master(/gluster):58:gmaster_builder] > <top>: setting up xsync change detection mode > [2015-05-25 23:59:29.612349] I [master(/gluster):357:__init__] _GMaster: > using 'rsync' as the sync engine > [2015-05-25 23:59:29.613812] I [master(/gluster):58:gmaster_builder] > <top>: setting up changelog change detection mode > [2015-05-25 23:59:29.614294] I [master(/gluster):357:__init__] _GMaster: > using 'rsync' as the sync engine > [2015-05-25 23:59:29.616271] I [master(/gluster):1103:register] > _GMaster: xsync temp directory: > /var/run/gluster/volume1/ssh%3A%2F%2Froot%40192.168.178.233%3Agluster%3A%2F%2F127.0.0.1%3Avolume1_slave/1077eb0027f1f616115bcb74a330d1c2/xsync > [2015-05-25 23:59:29.648611] E > [syncdutils(/gluster):240:log_raise_exception] <top>: FAIL: > Traceback (most recent call last): > File "/usr/lib/glusterfs/python/syncdaemon/gsyncd.py", line 150, in main > main_i() > File "/usr/lib/glusterfs/python/syncdaemon/gsyncd.py", line 542, in main_i > local.service_loop(*[r for r in [remote] if r]) > File "/usr/lib/glusterfs/python/syncdaemon/resource.py", line 1175, in > service_loop > g2.register() > File "/usr/lib/glusterfs/python/syncdaemon/master.py", line 1077, in > register > workdir, logfile, 9, 5) > File "/usr/lib/glusterfs/python/syncdaemon/resource.py", line 614, in > changelog_register > Changes.cl_register(cl_brick, cl_dir, cl_log, cl_level, retries) > File "/usr/lib/glusterfs/python/syncdaemon/libgfchangelog.py", line 23, > in cl_register > ret = cls._get_api('gf_changelog_register')(brick, path, > File "/usr/lib/glusterfs/python/syncdaemon/libgfchangelog.py", line > 19, in _get_api > return getattr(cls.libgfc, call) > File "/usr/lib64/python2.7/ctypes/__init__.py", line 378, in __getattr__ > func = self.__getitem__(name) > File "/usr/lib64/python2.7/ctypes/__init__.py", line 383, in __getitem__ > func = self._FuncPtr((name_or_ordinal, self)) > AttributeError: python: undefined symbol: gf_changelog_register > [2015-05-25 23:59:29.650513] I [syncdutils(/gluster):192:finalize] > <top>: exiting. > [2015-05-25 23:59:30.613435] I [monitor(monitor):157:monitor] Monitor: > worker(/gluster) died in startup phase > > > COMMANDS > ************ > # gluster volume geo-replication volume1 > gluster3.marcobaldo.ch::volume1_slave start > Starting geo-replication session between volume1 & > gluster3.marcobaldo.ch::volume1_slave has been successful > > # gluster volume geo-replication volume1 > gluster3.marcobaldo.ch::volume1_slave status > > MASTER NODE MASTER VOL MASTER BRICK > SLAVE STATUS CHECKPOINT > STATUS CRAWL STATUS > ------------------------------------------------------------------------------------------------------------------------------------------- > fs2 volume1 /gluster > gluster3.marcobaldo.ch::volume1_slave Initializing... > N/A N/A > fs1 volume1 /gluster > gluster3.marcobaldo.ch::volume1_slave Initializing... > N/A N/A > > and after a few seconds > > # gluster volume geo-replication volume1 > gluster3.marcobaldo.ch::volume1_slave status > > MASTER NODE MASTER VOL MASTER BRICK > SLAVE STATUS CHECKPOINT STATUS > CRAWL STATUS > ---------------------------------------------------------------------------------------------------------------------------------- > fs2 volume1 /gluster > gluster3.marcobaldo.ch::volume1_slave faulty N/A > N/A > fs1 volume1 /gluster > gluster3.marcobaldo.ch::volume1_slave faulty N/A N/A > > > VOLUMES > ********** > > Volume Name: volume1 > Type: Replicate > Volume ID: 0952d1ce-f62c-40b6-809a-4e193db0f1f9 > Status: Started > Number of Bricks: 1 x 2 = 2 > Transport-type: tcp > Bricks: > Brick1: gluster1.marcobaldo.ch:/gluster > Brick2: gluster2.marcobaldo.ch:/gluster > Options Reconfigured: > changelog.changelog: on > geo-replication.ignore-pid-check: on > geo-replication.indexing: on > nfs.disable: off > > Volume Name: volume1_slave > Type: Distribute > Volume ID: b0b161d8-a642-4d41-808e-2bb076989f78 > Status: Started > Number of Bricks: 1 > Transport-type: tcp > Bricks: > Brick1: gluster3.marcobaldo.ch:/gluster_slave > > > VERSION > ********* > > # glusterd -V > glusterfs 3.5.2 built on *bleep* > Repository revision: git://git.gluster.com/glusterfs.git > Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/> > GlusterFS comes with ABSOLUTELY NO WARRANTY. > It is licensed to you under your choice of the GNU Lesser > General Public License, version 3 or any later version (LGPLv3 > or later), or the GNU General Public License, version 2 (GPLv2), > in all cases as published by the Free Software Foundation. > > > I'm running OpenSuSE 13.2 and I have installed Glusterfs from the > standard OpenSuSE repos. Currently I don't have any known problem with > "Replicate" volumes. > > May I ask for your help? I have been googling but I could not find any > input. > > Tnx in advance and have a nice day > > Marco > > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://www.gluster.org/mailman/listinfo/gluster-users >