diff --git a/src/ceph-disk/ceph_disk/main.py b/src/ceph-disk/ceph_disk/main.py index 30e7e16b43bf4..4d010daac46e8 100755 --- a/src/ceph-disk/ceph_disk/main.py +++ b/src/ceph-disk/ceph_disk/main.py @@ -3311,6 +3311,13 @@ def main_activate(args): else: raise Error('%s is not a directory or block device' % args.path) + # exit with 0 if the journal device is not up, yet + # journal device will do the activation + osd_journal = '{path}/journal'.format(path=osd_data) + if os.path.islink(osd_journal) and not os.access(osd_journal, os.F_OK): + LOG.info("activate: Journal not present, not starting, yet") + return + if (not args.no_start_daemon and args.mark_init == 'none'): command_check_call( [ @@ -3318,7 +3325,7 @@ def main_activate(args): '--cluster={cluster}'.format(cluster=cluster), '--id={osd_id}'.format(osd_id=osd_id), '--osd-data={path}'.format(path=osd_data), - '--osd-journal={path}/journal'.format(path=osd_data), + '--osd-journal={journal}'.format(journal=osd_journal), ], ) @@ -3713,6 +3720,12 @@ def main_activate_space(name, args): LOG.info('suppressed activate request on %s', path) return + # warn and exit with 0 if the data device is not up, yet + # data device will do the activation + if not os.access(path, os.F_OK): + LOG.info("activate: OSD device not present, not starting, yet") + return + (cluster, osd_id) = mount_activate( dev=path, activate_key_template=args.activate_key_template,