I have installed two HCI platforms.
On source platform I did :
# gluster volume set all cluster.enable-shared-storage enable
# gluster system:: execute gsec_create
# gluster volume geo-replication
source gnodesen2-01.example.com::dest create push-pem
# gluster volume geo-replication
source gnodesen2-01.example.com::dest config use_meta_volume true
On target platform I did :
# gluster volume set
dest features.shard enable
I then realized these two tests :
1 - Sync data using the schedule_georep.py a - Use the : "python3 /usr/share/glusterfs/scripts/schedule_georep.py source
gnodesen2-01.example.com dest " command to sync data between the volumes
b - After the sync is complete, execute "gluster volume dest set features.read-only off"
c - Execute
import (not create)
dest volume on the target platform manually through the Admin-UI, Result : The domain could not be added and I get this error on vdsm log :
"
2020-08-24 10:18:05,644+0100 ERROR (jsonrpc/5) [storage.HSM] Unexpected error (hsm:2843)
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/storage/sd.py", line 456, in getVersion
version = self.getMetaParam(DMDK_VERSION)
File "/usr/lib/python3.6/site-packages/vdsm/storage/sd.py", line 452, in getMetaParam
return self._metadata[key]
File "/usr/lib/python3.6/site-packages/vdsm/storage/persistent.py", line 114, in __getitem__
return dec(self._dict[key])
File "/usr/lib/python3.6/site-packages/vdsm/storage/persistent.py", line 225, in __getitem__
return self._metadata[key]
KeyError: 'VERSION'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/storage/hsm.py", line 2829, in getStorageDomainsList
dom = sdCache.produce(sdUUID=sdUUID)
File "/usr/lib/python3.6/site-packages/vdsm/storage/sdc.py", line 115, in produce
domain.getRealDomain()
File "/usr/lib/python3.6/site-packages/vdsm/storage/sdc.py", line 51, in getRealDomain
return self._cache._realProduce(self._sdUUID)
File "/usr/lib/python3.6/site-packages/vdsm/storage/sdc.py", line 139, in _realProduce
domain = self._findDomain(sdUUID)
File "/usr/lib/python3.6/site-packages/vdsm/storage/sdc.py", line 156, in _findDomain
return findMethod(sdUUID)
File "/usr/lib/python3.6/site-packages/vdsm/storage/glusterSD.py", line 62, in findDomain
return GlusterStorageDomain(GlusterStorageDomain.findDomainPath(sdUUID))
File "/usr/lib/python3.6/site-packages/vdsm/storage/fileSD.py", line 385, in __init__
manifest = self.manifestClass(domainPath)
File "/usr/lib/python3.6/site-packages/vdsm/storage/fileSD.py", line 162, in __init__
sd.StorageDomainManifest.__init__(self, sdUUID, domaindir, metadata)
File "/usr/lib/python3.6/site-packages/vdsm/storage/sd.py", line 352, in __init__
version = self.getVersion()
File "/usr/lib/python3.6/site-packages/vdsm/storage/sd.py", line 458, in getVersion
raise se.MetaDataKeyNotFoundError("key={}".format(DMDK_VERSION))
vdsm.storage.exception.MetaDataKeyNotFoundError: Meta Data key not found error: ('key=VERSION',)2020-08-24 10:18:05,644+0100 INFO (jsonrpc/5) [vdsm.api] FINISH getStorageDomainsList return={'domlist': []} from=::ffff:10.80.101.27,48282, flow_id=5209d576-ee09-4de3-bc46-0c186c6ad52a, task_id=bc93aaae-5449-4d0d-9884-f47ea542a963 (api:54)
2020-08-24 10:18:05,645+0100 INFO (jsonrpc/5) [jsonrpc.JsonRpcServer] RPC call Host.getStorageDomains succeeded in 3.01 seconds (__init__:312)
2020-08-24 10:18:05,754+0100 INFO (jsonrpc/4) [vdsm.api] START disconnectStorageServer(domType=7, spUUID='00000000-0000-0000-0000-000000000000', conList=[{'password': '********', 'vfs_type': 'glusterfs', 'port': '', 'mnt_options': 'backup-volfile-servers=10.90.101.23:10.90.101.25', 'iqn': '', 'connection': '10.90.101.21:/dest', 'ipv6_enabled': 'false', 'id': 'cc24df41-19b0-41ed-ae85-e091e40cc612', 'user': '', 'tpgt': '1'}], options=None) from=::ffff:10.80.101.27,48282, flow_id=5fcaf7d7-d3b6-4430-b5f9-28e6bd95656a, task_id=73654a43-c86b-4250-95d7-3e3399e5bc72 (api:48)
2020-08-24 10:18:05,754+0100 INFO (jsonrpc/4) [storage.Mount] unmounting /rhev/data-center/mnt/glusterSD/10.90.101.21:_dest (mount:215)
"
Note : I had to modify the line 105 from /usr/share/glusterfs/scripts/schedule_georep.py to be able to use it with python3 :
- ey = "_".join([func.func_name] + list(args))
+ key = "_".join([func.__name__] + list(args))
Regards.