示例#1
0
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)
示例#4
0
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 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))
示例#7
0
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)
示例#10
0
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)
示例#16
0
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)
示例#17
0
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)
示例#18
0
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)
示例#19
0
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)
示例#20
0
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)
示例#22
0
    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(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_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_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)
示例#28
0
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)
示例#29
0
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)
示例#32
0
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)
示例#33
0
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)
示例#34
0
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)
示例#35
0
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)
示例#40
0
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)
示例#41
0
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_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)
示例#43
0
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)
示例#44
0
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)
示例#45
0
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 _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 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)
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)