@@ -891,10 +891,12 @@ def test_fs_rename(self):
891891 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
892892 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
893893 sleep (5 )
894+
894895 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
896+
895897 self .run_ceph_cmd (f'fs set { new_fs_name } joinable true' )
896898 self .run_ceph_cmd (f'fs set { new_fs_name } refuse_client_session false' )
897- sleep ( 5 )
899+ self . fs . wait_for_daemons ( )
898900
899901 # authorize a cephx ID access to the renamed file system.
900902 # use the ID to write to the file system.
@@ -930,11 +932,13 @@ def test_fs_rename_idempotency(self):
930932 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
931933 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
932934 sleep (5 )
935+
933936 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
934937 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
938+
935939 self .run_ceph_cmd (f'fs set { new_fs_name } joinable true' )
936940 self .run_ceph_cmd (f'fs set { new_fs_name } refuse_client_session false' )
937- sleep ( 5 )
941+ self . fs . wait_for_daemons ( )
938942
939943 # original file system name does not appear in `fs ls` command
940944 self .assertFalse (self .fs .exists ())
@@ -953,13 +957,16 @@ def test_fs_rename_fs_new_fails_with_old_fsname_existing_pools(self):
953957 new_fs_name = 'new_cephfs'
954958 data_pool = self .fs .get_data_pool_name ()
955959 metadata_pool = self .fs .get_metadata_pool_name ()
960+
956961 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
957962 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
958963 sleep (5 )
964+
959965 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
966+
960967 self .run_ceph_cmd (f'fs set { new_fs_name } joinable true' )
961968 self .run_ceph_cmd (f'fs set { new_fs_name } refuse_client_session false' )
962- sleep ( 5 )
969+ self . fs . wait_for_daemons ( )
963970
964971 try :
965972 self .run_ceph_cmd (f"fs new { orig_fs_name } { metadata_pool } { data_pool } " )
@@ -999,6 +1006,7 @@ def test_fs_rename_fails_without_yes_i_really_mean_it_flag(self):
9991006 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
10001007 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
10011008 sleep (5 )
1009+
10021010 try :
10031011 self .run_ceph_cmd (f"fs rename { self .fs .name } new_fs" )
10041012 except CommandFailedError as ce :
@@ -1008,25 +1016,28 @@ def test_fs_rename_fails_without_yes_i_really_mean_it_flag(self):
10081016 else :
10091017 self .fail ("expected renaming of file system without the "
10101018 "'--yes-i-really-mean-it' flag to fail " )
1019+
10111020 self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
10121021 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
1022+ self .fs .wait_for_daemons ()
10131023
10141024 def test_fs_rename_fails_for_non_existent_fs (self ):
10151025 """
10161026 That renaming a non-existent file system fails.
10171027 """
1018- self .skipTest ('This test is broken ATM; see '
1019- 'https://tracker.ceph.com/issues/66088' )
1020-
10211028 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
10221029 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
10231030 sleep (5 )
1031+
10241032 try :
10251033 self .run_ceph_cmd ("fs rename non_existent_fs new_fs --yes-i-really-mean-it" )
10261034 except CommandFailedError as ce :
10271035 self .assertEqual (ce .exitstatus , errno .ENOENT , "invalid error code on renaming a non-existent fs" )
10281036 else :
10291037 self .fail ("expected renaming of a non-existent file system to fail" )
1038+ self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
1039+ self .fs .wait_for_daemons ()
1040+ self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
10301041
10311042 def test_fs_rename_fails_new_name_already_in_use (self ):
10321043 """
@@ -1037,15 +1048,18 @@ def test_fs_rename_fails_new_name_already_in_use(self):
10371048 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
10381049 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
10391050 sleep (5 )
1051+
10401052 try :
10411053 self .run_ceph_cmd (f"fs rename { self .fs .name } { self .fs2 .name } --yes-i-really-mean-it" )
10421054 except CommandFailedError as ce :
10431055 self .assertEqual (ce .exitstatus , errno .EINVAL ,
10441056 "invalid error code on renaming to a fs name that is already in use" )
10451057 else :
10461058 self .fail ("expected renaming to a new file system name that is already in use to fail." )
1059+
10471060 self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
10481061 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
1062+ self .fs .wait_for_daemons ()
10491063
10501064 def test_fs_rename_fails_with_mirroring_enabled (self ):
10511065 """
@@ -1058,15 +1072,18 @@ def test_fs_rename_fails_with_mirroring_enabled(self):
10581072 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
10591073 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
10601074 sleep (5 )
1075+
10611076 try :
10621077 self .run_ceph_cmd (f'fs rename { orig_fs_name } { new_fs_name } --yes-i-really-mean-it' )
10631078 except CommandFailedError as ce :
10641079 self .assertEqual (ce .exitstatus , errno .EPERM , "invalid error code on renaming a mirrored file system" )
10651080 else :
10661081 self .fail ("expected renaming of a mirrored file system to fail" )
1082+
10671083 self .run_ceph_cmd (f'fs mirror disable { orig_fs_name } ' )
10681084 self .run_ceph_cmd (f'fs set { self .fs .name } joinable true' )
10691085 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
1086+ self .fs .wait_for_daemons ()
10701087
10711088 def test_rename_when_fs_is_online (self ):
10721089 '''
@@ -1077,13 +1094,15 @@ def test_rename_when_fs_is_online(self):
10771094 new_fs_name = 'new_cephfs'
10781095
10791096 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session true' )
1097+
10801098 self .negtest_ceph_cmd (
10811099 args = (f'fs rename { self .fs .name } { new_fs_name } '
10821100 '--yes-i-really-mean-it' ),
10831101 errmsgs = (f"CephFS '{ self .fs .name } ' is not offline. Before "
10841102 "renaming a CephFS, it must be marked as down. See "
10851103 "`ceph fs fail`." ),
10861104 retval = errno .EPERM )
1105+
10871106 self .run_ceph_cmd (f'fs set { self .fs .name } refuse_client_session false' )
10881107
10891108 self .fs .getinfo ()
@@ -1108,13 +1127,15 @@ def test_rename_when_clients_not_refused(self):
11081127 self .mount_a .umount_wait (require_clean = True )
11091128
11101129 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
1130+
11111131 self .negtest_ceph_cmd (
11121132 args = f"fs rename { self .fs .name } new_fs --yes-i-really-mean-it" ,
11131133 errmsgs = (f"CephFS '{ self .fs .name } ' doesn't refuse clients. "
11141134 "Before renaming a CephFS, flag "
11151135 "'refuse_client_session' must be set. See "
11161136 "`ceph fs set`." ),
11171137 retval = errno .EPERM )
1138+
11181139 self .run_ceph_cmd (f'fs fail { self .fs .name } ' )
11191140
11201141
0 commit comments