def do_driver_raid_logical_disk_properties(cc, args): """Get RAID logical disk properties for a driver.""" properties = cc.driver.raid_logical_disk_properties(args.driver_name) cliutils.print_dict( properties, wrap=args.wrap, dict_value='Description')
def do_driver_properties(cc, args): """Get properties of a driver.""" properties = cc.driver.properties(args.driver_name) cliutils.print_dict( properties, wrap=args.wrap, dict_value='Description')
def _print_node_show(node, fields=None): if fields is None: fields = res_fields.NODE_DETAILED_RESOURCE.fields data = dict( [(f, getattr(node, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72)
def _print_node_show(node, fields=None, json=False): if fields is None: fields = res_fields.NODE_DETAILED_RESOURCE.fields data = dict( [(f, getattr(node, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def test_print_dict_string_json(self): orig = sys.stdout sys.stdout = six.StringIO() cliutils.print_dict({"K": "k", "Key": "Value"}, json_flag=True) out = sys.stdout.getvalue() sys.stdout.close() sys.stdout = orig expected = {"K": "k", "Key": "Value"} self.assertEqual(expected, json.loads(out))
def do_port_create(cc, args): """Create a new port.""" field_list = ['address', 'extra', 'node_uuid', 'uuid'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'extra') port = cc.port.create(**fields) data = dict([(f, getattr(port, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72)
def do_volume_connector_create(cc, args): """Create a new volume connector.""" field_list = ['extra', 'type', 'connector_id', 'node_uuid', 'uuid'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'extra') volume_connector = cc.volume_connector.create(**fields) data = dict([(f, getattr(volume_connector, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_chassis_create(cc, args): """Create a new chassis.""" field_list = ['description', 'extra', 'uuid'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'extra') chassis = cc.chassis.create(**fields) data = dict([(f, getattr(chassis, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72)
def test_print_dict(self): cliutils.print_dict({"K": "k", "Key": "Value"}) cliutils.print_dict({"K": "k", "Key": "Long\\nValue"}) self.mock_add_row.assert_has_calls([ mock.call(["K", "k"]), mock.call(["Key", "Value"]), mock.call(["K", "k"]), mock.call(["Key", "Long"]), mock.call(["", "Value"])], any_order=True)
def test_print_dict(self): cliutils.print_dict({"K": "k", "Key": "Value"}) cliutils.print_dict({"K": "k", "Key": "Long\\nValue"}) self.mock_add_row.assert_has_calls([ mock.call(["K", "k"]), mock.call(["Key", "Value"]), mock.call(["K", "k"]), mock.call(["Key", "Long"]), mock.call(["", "Value"]) ], any_order=True)
def do_volume_target_create(cc, args): """Create a new volume target.""" field_list = ['extra', 'volume_type', 'properties', 'boot_index', 'node_uuid', 'volume_id', 'uuid'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'properties') fields = utils.args_array_to_dict(fields, 'extra') volume_target = cc.volume_target.create(**fields) data = dict([(f, getattr(volume_target, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_node_create(cc, args): """Register a new node with the Ironic service.""" field_list = ['chassis_uuid', 'driver', 'driver_info', 'properties', 'extra', 'uuid', 'name'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'driver_info') fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'properties') node = cc.node.create(**fields) data = dict([(f, getattr(node, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_node_create(cc, args): """Register a new node with the Ironic service.""" field_list = ['chassis_uuid', 'driver', 'driver_info', 'properties', 'extra', 'uuid', 'name'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'driver_info') fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'properties') node = cc.node.create(**fields) data = dict([(f, getattr(node, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72)
def do_port_create(cc, args): """Create a new port.""" field_list = ['address', 'extra', 'node_uuid', 'uuid', 'local_link_connection', 'portgroup_uuid', 'pxe_enabled', 'physical_network'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'local_link_connection') port = cc.port.create(**fields) data = dict([(f, getattr(port, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_port_create(cc, args): """Create a new port.""" field_list = [ 'address', 'extra', 'node_uuid', 'uuid', 'local_link_connection', 'portgroup_uuid', 'pxe_enabled', 'physical_network' ] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'local_link_connection') port = cc.port.create(**fields) data = dict([(f, getattr(port, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_portgroup_create(cc, args): """Create a new portgroup.""" field_list = [ 'address', 'extra', 'node_uuid', 'name', 'uuid', 'standalone_ports_supported', 'mode', 'properties' ] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'properties') portgroup = cc.portgroup.create(**fields) data = dict([(f, getattr(portgroup, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_volume_target_create(cc, args): """Create a new volume target.""" field_list = [ 'extra', 'volume_type', 'properties', 'boot_index', 'node_uuid', 'volume_id', 'uuid' ] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'properties') fields = utils.args_array_to_dict(fields, 'extra') volume_target = cc.volume_target.create(**fields) data = dict([(f, getattr(volume_target, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def test_print_dict_string_json(self): orig = sys.stdout sys.stdout = six.StringIO() cliutils.print_dict({"K": "k", "Key": "Value"}, json_flag=True) out = sys.stdout.getvalue() sys.stdout.close() sys.stdout = orig expected = [ '''\ {"K": "k", "Key": "Value"} ''', '''\ {"Key": "Value", "K": "k"} ''' ] self.assertIn(out, expected)
def test_print_dict_string_sorted(self): orig = sys.stdout sys.stdout = six.StringIO() cliutils.print_dict({"Foo": "k", "Bar": "Value"}) out = sys.stdout.getvalue() sys.stdout.close() sys.stdout = orig expected = '''\ +----------+-------+ | Property | Value | +----------+-------+ | Bar | Value | | Foo | k | +----------+-------+ ''' self.assertEqual(expected, out)
def test_print_dict_string(self): orig = sys.stdout sys.stdout = six.StringIO() cliutils.print_dict({"K": "k", "Key": "Value"}) out = sys.stdout.getvalue() sys.stdout.close() sys.stdout = orig expected = '''\ +----------+-------+ | Property | Value | +----------+-------+ | K | k | | Key | Value | +----------+-------+ ''' self.assertEqual(expected, out)
def test_print_dict_string_custom_headers(self): orig = sys.stdout sys.stdout = six.StringIO() cliutils.print_dict({"K": "k", "Key": "Value"}, dict_property='Foo', dict_value='Bar') out = sys.stdout.getvalue() sys.stdout.close() sys.stdout = orig expected = '''\ +-----+-------+ | Foo | Bar | +-----+-------+ | K | k | | Key | Value | +-----+-------+ ''' self.assertEqual(expected, out)
def do_node_create(cc, args): """Register a new node with the Ironic service.""" field_list = ['chassis_uuid', 'driver', 'driver_info', 'properties', 'extra', 'uuid', 'name', 'boot_interface', 'console_interface', 'deploy_interface', 'inspect_interface', 'management_interface', 'network_interface', 'power_interface', 'raid_interface', 'vendor_interface', 'resource_class'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'driver_info') fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'properties') node = cc.node.create(**fields) data = dict([(f, getattr(node, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def do_node_create(cc, args): """Register a new node with the Ironic service.""" field_list = ['chassis_uuid', 'driver', 'driver_info', 'properties', 'extra', 'uuid', 'name', 'boot_interface', 'console_interface', 'deploy_interface', 'inspect_interface', 'management_interface', 'network_interface', 'power_interface', 'raid_interface', 'storage_interface', 'vendor_interface', 'resource_class'] fields = dict((k, v) for (k, v) in vars(args).items() if k in field_list and not (v is None)) fields = utils.args_array_to_dict(fields, 'driver_info') fields = utils.args_array_to_dict(fields, 'extra') fields = utils.args_array_to_dict(fields, 'properties') node = cc.node.create(**fields) data = dict([(f, getattr(node, f, '')) for f in field_list]) cliutils.print_dict(data, wrap=72, json_flag=args.json)
def test_print_dict_string_custom_headers(self): orig = sys.stdout sys.stdout = six.StringIO() cliutils.print_dict({ "K": "k", "Key": "Value" }, dict_property='Foo', dict_value='Bar') out = sys.stdout.getvalue() sys.stdout.close() sys.stdout = orig expected = '''\ +-----+-------+ | Foo | Bar | +-----+-------+ | K | k | | Key | Value | +-----+-------+ ''' self.assertEqual(expected, out)
def _print_volume_target_show(volume_target, fields=None, json=False): if fields is None: fields = res_fields.VOLUME_TARGET_DETAILED_RESOURCE.fields data = dict([(f, getattr(volume_target, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def do_node_get_supported_boot_devices(cc, args): """Get the supported boot devices for a node.""" boot_devices = cc.node.get_supported_boot_devices(args.node) boot_device_list = boot_devices.get('supported_boot_devices', []) boot_devices['supported_boot_devices'] = ', '.join(boot_device_list) cliutils.print_dict(boot_devices, wrap=72, json_flag=args.json)
def do_node_show_states(cc, args): """Show information about the node's states.""" states = cc.node.states(args.node) cliutils.print_dict(states.to_dict(), wrap=72, json_flag=args.json)
def do_node_get_console(cc, args): """Get the connection information for a node's console, if enabled.""" info = cc.node.get_console(args.node) cliutils.print_dict(info, wrap=72, json_flag=args.json)
def do_node_get_boot_device(cc, args): """Get the current boot device for a node.""" boot_device = cc.node.get_boot_device(args.node) cliutils.print_dict(boot_device, wrap=72, json_flag=args.json)
def _print_volume_connector_show(volume_connector, fields=None, json=False): if fields is None: fields = res_fields.VOLUME_CONNECTOR_DETAILED_RESOURCE.fields data = dict([(f, getattr(volume_connector, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def _print_chassis_show(chassis, fields=None): if fields is None: fields = res_fields.CHASSIS_DETAILED_RESOURCE.fields data = dict([(f, getattr(chassis, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72)
def do_node_show_states(cc, args): """Show information about the node's states.""" states = cc.node.states(args.node) cliutils.print_dict(states.to_dict(), wrap=72)
def _print_portgroup_show(portgroup, fields=None): if fields is None: fields = res_fields.PORTGROUP_DETAILED_RESOURCE.fields data = dict([(f, getattr(portgroup, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72)
def _print_portgroup_show(portgroup, fields=None, json=False): if fields is None: fields = res_fields.PORTGROUP_DETAILED_RESOURCE.fields data = dict([(f, getattr(portgroup, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def _print_port_show(port, fields=None, json=False): if fields is None: fields = res_fields.PORT_DETAILED_RESOURCE.fields data = dict([(f, getattr(port, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def _print_driver_show(driver, json=False): fields = ['name', 'hosts'] data = dict([(f, getattr(driver, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def _print_port_show(port, fields=None): if fields is None: fields = res_fields.PORT_DETAILED_RESOURCE.fields data = dict([(f, getattr(port, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72)
def _print_driver_show(driver, json=False): fields = res_fields.DRIVER_DETAILED_RESOURCE.fields data = dict([(f, getattr(driver, f, '')) for f in fields]) cliutils.print_dict(data, wrap=72, json_flag=json)
def do_node_get_console(cc, args): """Get the connection information for a node's console, if enabled.""" info = cc.node.get_console(args.node) cliutils.print_dict(info, wrap=72)
def do_node_get_boot_device(cc, args): """Get the current boot device for a node.""" boot_device = cc.node.get_boot_device(args.node) cliutils.print_dict(boot_device, wrap=72)
def do_node_get_supported_boot_devices(cc, args): """Get the supported boot devices for a node.""" boot_devices = cc.node.get_supported_boot_devices(args.node) boot_device_list = boot_devices.get('supported_boot_devices', []) boot_devices['supported_boot_devices'] = ', '.join(boot_device_list) cliutils.print_dict(boot_devices, wrap=72)