@@ -715,10 +715,12 @@ def test_fs_rename(self):
715715 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
716716 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
717717 sleep (5 )
718+
718719 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
720+
719721 self .run_ceph_cmd (f'fs set { new_fs_name } joinable true' )
720722 self .run_ceph_cmd (f'fs set { new_fs_name } refuse_client_session false' )
721- sleep ( 5 )
723+ self . fs . wait_for_daemons ( )
722724
723725 # authorize a cephx ID access to the renamed file system.
724726 # use the ID to write to the file system.
@@ -754,11 +756,13 @@ def test_fs_rename_idempotency(self):
754756 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
755757 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
756758 sleep (5 )
759+
757760 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
758761 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
762+
759763 self .run_ceph_cmd (f'fs set { new_fs_name } joinable true' )
760764 self .run_ceph_cmd (f'fs set { new_fs_name } refuse_client_session false' )
761- sleep ( 5 )
765+ self . fs . wait_for_daemons ( )
762766
763767 # original file system name does not appear in `fs ls` command
764768 self .assertFalse (self .fs .exists ())
@@ -777,13 +781,16 @@ def test_fs_rename_fs_new_fails_with_old_fsname_existing_pools(self):
777781 new_fs_name = 'new_cephfs'
778782 data_pool = self .fs .get_data_pool_name ()
779783 metadata_pool = self .fs .get_metadata_pool_name ()
784+
780785 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
781786 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
782787 sleep (5 )
788+
783789 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
790+
784791 self .run_ceph_cmd (f'fs set { new_fs_name } joinable true' )
785792 self .run_ceph_cmd (f'fs set { new_fs_name } refuse_client_session false' )
786- sleep ( 5 )
793+ self . fs . wait_for_daemons ( )
787794
788795 try :
789796 self .run_ceph_cmd (f"fs new { orig_fs_name } { metadata_pool } { data_pool } " )
@@ -823,6 +830,7 @@ def test_fs_rename_fails_without_yes_i_really_mean_it_flag(self):
823830 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
824831 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
825832 sleep (5 )
833+
826834 try :
827835 self .run_ceph_cmd (f"fs rename { self .fs .name } new_fs" )
828836 except CommandFailedError as ce :
@@ -832,8 +840,10 @@ def test_fs_rename_fails_without_yes_i_really_mean_it_flag(self):
832840 else :
833841 self .fail ("expected renaming of file system without the "
834842 "'--yes-i-really-mean-it' flag to fail " )
843+
835844 self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
836845 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
846+ self .fs .wait_for_daemons ()
837847
838848 def test_fs_rename_fails_for_non_existent_fs (self ):
839849 """
@@ -842,6 +852,7 @@ def test_fs_rename_fails_for_non_existent_fs(self):
842852 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
843853 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
844854 sleep (5 )
855+
845856 try :
846857 self .run_ceph_cmd ("fs rename non_existent_fs new_fs --yes-i-really-mean-it" )
847858 except CommandFailedError as ce :
@@ -861,15 +872,18 @@ def test_fs_rename_fails_new_name_already_in_use(self):
861872 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
862873 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
863874 sleep (5 )
875+
864876 try :
865877 self .run_ceph_cmd (f"fs rename { self .fs .name } { self .fs2 .name } --yes-i-really-mean-it" )
866878 except CommandFailedError as ce :
867879 self .assertEqual (ce .exitstatus , errno .EINVAL ,
868880 "invalid error code on renaming to a fs name that is already in use" )
869881 else :
870882 self .fail ("expected renaming to a new file system name that is already in use to fail." )
883+
871884 self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
872885 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
886+ self .fs .wait_for_daemons ()
873887
874888 def test_fs_rename_fails_with_mirroring_enabled (self ):
875889 """
@@ -882,15 +896,18 @@ def test_fs_rename_fails_with_mirroring_enabled(self):
882896 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
883897 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
884898 sleep (5 )
899+
885900 try :
886901 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
887902 except CommandFailedError as ce :
888903 self .assertEqual (ce .exitstatus , errno .EPERM , "invalid error code on renaming a mirrored file system" )
889904 else :
890905 self .fail ("expected renaming of a mirrored file system to fail" )
906+
891907 self .run_ceph_cmd (f'fs mirror disable { orig_fs_name } ' )
892908 self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
893909 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
910+ self .fs .wait_for_daemons ()
894911
895912 def test_rename_when_fs_is_online (self ):
896913 '''
@@ -901,13 +918,15 @@ def test_rename_when_fs_is_online(self):
901918 new_fs_name = 'new_cephfs'
902919
903920 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
921+
904922 self .negtest_ceph_cmd (
905923 args = (f'fs rename { self .fs .name } { new_fs_name } '
906924 '--yes-i-really-mean-it' ),
907925 errmsgs = (f"CephFS '{ self .fs .name } ' is not offline. Before "
908926 "renaming a CephFS, it must be marked as down. See "
909927 "`ceph fs fail`." ),
910928 retval = errno .EPERM )
929+
911930 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
912931
913932 self .fs .getinfo ()
@@ -932,13 +951,15 @@ def test_rename_when_clients_not_refused(self):
932951 self .mount_a .umount_wait (require_clean = True )
933952
934953 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
954+
935955 self .negtest_ceph_cmd (
936956 args = f"fs rename { self .fs .name } new_fs --yes-i-really-mean-it" ,
937957 errmsgs = (f"CephFS '{ self .fs .name } ' doesn't refuse clients. "
938958 "Before renaming a CephFS, flag "
939959 "'refuse_client_session' must be set. See "
940960 "`ceph fs set`." ),
941961 retval = errno .EPERM )
962+
942963 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
943964
944965
0 commit comments