Project

General

Profile

Bug #55976

Updated by Kotresh Hiremath Ravishankar almost 2 years ago

Clone operations are failing with Assertion Error. 
 When we create more clone in my case i have created 130[root@ceph-amk-bz-2-qa3ps0-node7 _nogroup]# ceph fs clone status cephfs clone_status_142 

 <pre> 

 
 Error EINVAL: Traceback (most recent call last): 
   File "/usr/share/ceph/mgr/volumes/fs/operations/versions/__init__.py", line 96, in get_subvolume_object 
     self.upgrade_to_v2_subvolume(subvolume) 
   File "/usr/share/ceph/mgr/volumes/fs/operations/versions/__init__.py", line 57, in upgrade_to_v2_subvolume 
     version = int(subvolume.metadata_mgr.get_global_option('version')) 
   File "/usr/share/ceph/mgr/volumes/fs/operations/versions/metadata_manager.py", line 144, in get_global_option 
     return self.get_option(MetadataManager.GLOBAL_SECTION, key) 
   File "/usr/share/ceph/mgr/volumes/fs/operations/versions/metadata_manager.py", line 138, in get_option 
     raise MetadataMgrException(-errno.ENOENT, "section '{0}' does not exist".format(section)) 
 volumes.fs.exception.MetadataMgrException: -2 (section 'GLOBAL' does not exist) 

 During handling of the above exception, another exception occurred: 

 Traceback (most recent call last): 
   File "/usr/share/ceph/mgr/mgr_module.py", line 1446, in _handle_command 
     return self.handle_command(inbuf, cmd) 
   File "/usr/share/ceph/mgr/volumes/module.py", line 437, in handle_command 
     return handler(inbuf, cmd) 
   File "/usr/share/ceph/mgr/volumes/module.py", line 34, in wrap 
     return f(self, inbuf, cmd) 
   File "/usr/share/ceph/mgr/volumes/module.py", line 682, in _cmd_fs_clone_status 
     vol_name=cmd['vol_name'], clone_name=cmd['clone_name'],    group_name=cmd.get('group_name', None)) 
   File "/usr/share/ceph/mgr/volumes/fs/volume.py", line 622, in clone_status 
     with open_subvol(self.mgr, fs_handle, self.volspec, group, clonename, SubvolumeOpType.CLONE_STATUS) as subvolume: 
   File "/lib64/python3.6/contextlib.py", line 81, in __enter__ 
     return next(self.gen) 
   File "/usr/share/ceph/mgr/volumes/fs/operations/subvolume.py", line 72, in open_subvol 
     subvolume = loaded_subvolumes.get_subvolume_object(mgr, fs, vol_spec, group, subvolname) 
   File "/usr/share/ceph/mgr/volumes/fs/operations/versions/__init__.py", line 101, in get_subvolume_object 
     self.upgrade_legacy_subvolume(fs, subvolume) 
   File "/usr/share/ceph/mgr/volumes/fs/operations/versions/__init__.py", line 78, in upgrade_legacy_subvolume 
     assert subvolume.legacy_mode 
 AssertionError 


 </pre> 

 Steps to Reproduce: 

 Create Subvolumegroup 
     ceph fs subvolumegroup create cephfs subvolgroup_clone_status_1 
 Create Subvolume 
     ceph fs subvolume create cephfs subvol_clone_status --size 5368706371 --group_name subvolgroup_clone_status_1 
 Kernel mount the volume and fill data 
 Create Snapshot 
     ceph fs subvolume snapshot create cephfs subvol_clone_status snap_1 --group_name subvolgroup_clone_status_1 
 Create 200 Clones out of the above subvolume until the cluster is full 
     ceph fs subvolume snapshot clone cephfs subvol_clone_status snap_1 clone_status_1 --group_name subvolgroup_clone_status_1 

Back