]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: adopt: rename leveldb *.ldb -> *.sst
authorSage Weil <sage@redhat.com>
Thu, 30 Jan 2020 19:35:12 +0000 (13:35 -0600)
committerSage Weil <sage@redhat.com>
Fri, 31 Jan 2020 19:56:36 +0000 (13:56 -0600)
We may be adopting from ubuntu, which means we need to rename these files.

Signed-off-by: Sage Weil <sage@redhat.com>
src/cephadm/cephadm

index 5d8b0518ef5b3e64f06f55c210e05e29e5c452fe..c91c0ebbff8049626f9331beca6e8760ef3c8057 100755 (executable)
@@ -2296,13 +2296,30 @@ def command_adopt():
         move_files(glob(os.path.join(data_dir_src, '*')),
                    data_dir_dst,
                    uid=uid, gid=gid)
-        logger.info('Chowning content...')
-        call_throws(['chown', '-c', '-R', '%d.%d' % (uid, gid), data_dir_dst])
         logger.debug('Remove dir \'%s\'' % (data_dir_src))
         if os.path.ismount(data_dir_src):
             call_throws(['umount', data_dir_src])
         os.rmdir(data_dir_src)
 
+        logger.info('Chowning content...')
+        call_throws(['chown', '-c', '-R', '%d.%d' % (uid, gid), data_dir_dst])
+
+        if daemon_type == 'mon':
+            # rename *.ldb -> *.sst, in case they are coming from ubuntu
+            store = os.path.join(data_dir_dst, 'store.db')
+            num_renamed = 0
+            if os.path.exists(store):
+                for oldf in os.listdir(store):
+                    if oldf.endswith('.ldb'):
+                        newf = oldf.replace('.ldb', '.sst')
+                        oldp = os.path.join(store, oldf)
+                        newp = os.path.join(store, newf)
+                        logger.debug('Renaming %s -> %s' % (oldp, newp))
+                        os.rename(oldp, newp)
+            if num_renamed:
+                logger.info('Renamed %d leveldb *.ldb files to *.sst',
+                            num_renamed)
+
         # config
         config_src = '/etc/ceph/%s.conf' % (args.cluster)
         config_src = os.path.abspath(args.legacy_dir + config_src)