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': {
},
}
+try:
+ # see https://bugs.python.org/issue23098
+ os.major(0x80002b00)
+except OverflowError:
+ os.major = lambda devid: ((devid >> 8) & 0xfff) | ((devid >> 32) & ~0xfff)
+ os.minor = lambda devid: (devid & 0xff) | ((devid >> 12) & ~0xff)
+
class Ptype(object):
:return: The fsid or raises Error.
"""
fsid = get_conf_with_default(cluster=cluster, variable='fsid')
- if fsid is None:
+ # uuids from boost always default to 'the empty uuid'
+ if fsid == '00000000-0000-0000-0000-000000000000':
raise Error('getting cluster uuid from configuration failed')
return fsid.lower()
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:
- 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
-
+ args.func(args)
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(