import grp
import textwrap
import glob
+import warnings
CEPH_OSD_ONDISK_MAGIC = 'ceph osd volume v026'
CEPH_LOCKBOX_ONDISK_MAGIC = 'ceph lockbox volume v001'
KEY_MANAGEMENT_MODE_V1 = 'ceph-mon v1'
+DEPRECATION_WARNING = """
+*******************************************************************************
+This tool is now deprecated in favor of ceph-volume.
+It is recommended to use ceph-volume for OSD deployments. For details see:
+
+ http://docs.ceph.com/docs/master/ceph-volume/#migrating
+
+*******************************************************************************
+"""
+
PTYPE = {
'regular': {
'journal': {
def main(argv):
+ # Deprecate from the very beginning
+ warnings.warn(DEPRECATION_WARNING)
args = parse_args(argv)
setup_logging(args.verbose, args.log_stdout)
CEPH_PREF_GROUP = args.setgroup
if args.verbose:
- args.func(args)
+ try:
+ args.func(args)
+ except Exception:
+ # warn on any exception when running with verbosity
+ warnings.warn(DEPRECATION_WARNING)
+ # but still raise the original issue
+ raise
+
else:
main_catch(args.func, args)
+ # if there aren't any errors, still log again at the very bottom
+ warnings.warn(DEPRECATION_WARNING)
+
def setup_logging(verbose, log_stdout):
loglevel = logging.WARNING
func(args)
except Error as e:
+ # warn on generic 'error' exceptions
+ warnings.warn(DEPRECATION_WARNING)
raise SystemExit(
'{prog}: {msg}'.format(
prog=args.prog,
)
except CephDiskException as error:
+ # warn on ceph-disk exceptions
+ warnings.warn(DEPRECATION_WARNING)
exc_name = error.__class__.__name__
raise SystemExit(
'{prog} {exc_name}: {msg}'.format(