+++ /dev/null
-import argparse
-from textwrap import dedent
-from ceph_volume import terminal, decorators
-from ceph_volume.util import disk
-
-
-device_list_template = """
- * {path: <25} {size: <10} {state}"""
-
-
-def device_formatter(devices):
- lines = []
- for path, details in devices:
- lines.append(device_list_template.format(
- path=path, size=details['human_readable_size'],
- state='solid' if details['rotational'] == '0' else 'rotational')
- )
-
- return ''.join(lines)
-
-
-class Auto(object):
-
- help = 'Auto-detect devices for multi-OSD provisioning with minimal interaction'
-
- _help = dedent("""
- Automatically detect devices ready for OSD provisioning based on configurable strategies.
-
- Detected devices:
- {detected_devices}
-
- Current strategy: {strategy_name}
- Path: {strategy_path}
-
- """)
-
- # TODO: add the reporting sub-command here (list?)
- mapper = {
- }
-
- def __init__(self, argv):
- self.argv = argv
-
- def get_devices(self):
- all_devices = disk.get_devices()
- # remove devices with partitions
- # XXX Should be optional when getting device info
- for device, detail in all_devices.items():
- if detail.get('partitions') != {}:
- del all_devices[device]
- devices = sorted(all_devices.items(), key=lambda x: (x[0], x[1]['size']))
- return device_formatter(devices)
-
- def print_help(self, sub_help):
- return self._help.format(
- detected_devices=self.get_devices(),
- strategy_name='default',
- strategy_path='/etc/ceph/osd/strategies/default')
-
- @decorators.needs_root
- def main(self):
- terminal.dispatch(self.mapper, self.argv)
- parser = argparse.ArgumentParser(
- prog='ceph-volume auto',
- formatter_class=argparse.RawDescriptionHelpFormatter,
- description=self.print_help(terminal.subhelp(self.mapper)),
- )
- parser.parse_args(self.argv)
- if len(self.argv) <= 1:
- return parser.print_help()
--- /dev/null
+import argparse
+from textwrap import dedent
+from ceph_volume import terminal, decorators
+from ceph_volume.util import disk
+
+
+device_list_template = """
+ * {path: <25} {size: <10} {state}"""
+
+
+def device_formatter(devices):
+ lines = []
+ for path, details in devices:
+ lines.append(device_list_template.format(
+ path=path, size=details['human_readable_size'],
+ state='solid' if details['rotational'] == '0' else 'rotational')
+ )
+
+ return ''.join(lines)
+
+
+class Auto(object):
+
+ help = 'Auto-detect devices for multi-OSD provisioning with minimal interaction'
+
+ _help = dedent("""
+ Automatically detect devices ready for OSD provisioning based on configurable strategies.
+
+ Detected devices:
+ {detected_devices}
+
+ Current strategy: {strategy_name}
+ Path: {strategy_path}
+
+ """)
+
+ # TODO: add the reporting sub-command here (list?)
+ mapper = {
+ }
+
+ def __init__(self, argv):
+ self.argv = argv
+
+ def get_devices(self):
+ all_devices = disk.get_devices()
+ # remove devices with partitions
+ # XXX Should be optional when getting device info
+ for device, detail in all_devices.items():
+ if detail.get('partitions') != {}:
+ del all_devices[device]
+ devices = sorted(all_devices.items(), key=lambda x: (x[0], x[1]['size']))
+ return device_formatter(devices)
+
+ def print_help(self, sub_help):
+ return self._help.format(
+ detected_devices=self.get_devices(),
+ strategy_name='default',
+ strategy_path='/etc/ceph/osd/strategies/default')
+
+ @decorators.needs_root
+ def main(self):
+ terminal.dispatch(self.mapper, self.argv)
+ parser = argparse.ArgumentParser(
+ prog='ceph-volume auto',
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ description=self.print_help(terminal.subhelp(self.mapper)),
+ )
+ parser.parse_args(self.argv)
+ if len(self.argv) <= 1:
+ return parser.print_help()