def do_node_list(cc, args): """List the nodes which are registered with the Ironic service.""" params = {} if args.associated is not None: params['associated'] = utils.bool_argument_value("--associated", args.associated) if args.maintenance is not None: params['maintenance'] = utils.bool_argument_value("--maintenance", args.maintenance) if args.provision_state is not None: params['provision_state'] = args.provision_state if args.detail: fields = res_fields.NODE_DETAILED_RESOURCE.fields field_labels = res_fields.NODE_DETAILED_RESOURCE.labels elif args.fields: utils.check_for_invalid_fields( args.fields[0], res_fields.NODE_DETAILED_RESOURCE.fields) resource = res_fields.Resource(args.fields[0]) fields = resource.fields field_labels = resource.labels else: fields = res_fields.NODE_RESOURCE.fields field_labels = res_fields.NODE_RESOURCE.labels sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels params.update(utils.common_params_for_list(args, sort_fields, sort_field_labels)) nodes = cc.node.list(**params) cliutils.print_list(nodes, fields, field_labels=field_labels, sortby_index=None)
def do_node_list(cc, args): """List the nodes which are registered with the Ironic service.""" params = {} if args.associated is not None: params['associated'] = utils.bool_argument_value( "--associated", args.associated) if args.maintenance is not None: params['maintenance'] = utils.bool_argument_value( "--maintenance", args.maintenance) params['detail'] = args.detail if args.detail: fields = res_fields.NODE_DETAILED_RESOURCE.fields field_labels = res_fields.NODE_DETAILED_RESOURCE.labels sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels else: fields = res_fields.NODE_RESOURCE.fields field_labels = res_fields.NODE_RESOURCE.labels sort_fields = fields sort_field_labels = field_labels params.update( utils.common_params_for_list(args, sort_fields, sort_field_labels)) nodes = cc.node.list(**params) cliutils.print_list(nodes, fields, field_labels=field_labels, sortby_index=None)
def do_node_set_maintenance(cc, args): """Enable or disable maintenance mode for a node.""" maintenance_mode = utils.bool_argument_value("<maintenance-mode>", args.maintenance_mode) if args.reason and not maintenance_mode: raise exceptions.CommandError(_('Cannot set "reason" when turning off ' 'maintenance mode.')) cc.node.set_maintenance(args.node, maintenance_mode, maint_reason=args.reason)
def do_node_list(cc, args): """List the nodes which are registered with the Ironic service.""" params = {} if args.associated is not None: params['associated'] = utils.bool_argument_value("--associated", args.associated) if args.maintenance is not None: params['maintenance'] = utils.bool_argument_value("--maintenance", args.maintenance) if args.provision_state is not None: params['provision_state'] = args.provision_state if args.driver is not None: params['driver'] = args.driver if args.resource_class is not None: params['resource_class'] = args.resource_class if args.detail: fields = res_fields.NODE_DETAILED_RESOURCE.fields field_labels = res_fields.NODE_DETAILED_RESOURCE.labels elif args.fields: utils.check_for_invalid_fields( args.fields[0], res_fields.NODE_DETAILED_RESOURCE.fields) resource = res_fields.Resource(args.fields[0]) fields = resource.fields field_labels = resource.labels else: fields = res_fields.NODE_RESOURCE.fields field_labels = res_fields.NODE_RESOURCE.labels sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels params.update(utils.common_params_for_list(args, sort_fields, sort_field_labels)) nodes = cc.node.list(**params) cliutils.print_list(nodes, fields, field_labels=field_labels, sortby_index=None, json_flag=args.json)
def test_bool_arg_value(self): self.assertTrue(utils.bool_argument_value('arg', 'y', strict=True)) self.assertTrue(utils.bool_argument_value('arg', 'TrUe', strict=True)) self.assertTrue(utils.bool_argument_value('arg', '1', strict=True)) self.assertTrue(utils.bool_argument_value('arg', 1, strict=True)) self.assertFalse(utils.bool_argument_value('arg', '0', strict=True)) self.assertFalse(utils.bool_argument_value('arg', 'No', strict=True)) self.assertRaises(exc.CommandError, utils.bool_argument_value, 'arg', 'ee', strict=True) self.assertFalse(utils.bool_argument_value('arg', 'ee', strict=False)) self.assertTrue(utils.bool_argument_value('arg', 'ee', strict=False, default=True)) # No check that default is a Boolean... self.assertEqual('foo', utils.bool_argument_value('arg', 'ee', strict=False, default='foo'))
def do_chassis_node_list(cc, args): """List the nodes contained in a chassis.""" params = {} if args.associated is not None: params['associated'] = utils.bool_argument_value( "--associated", args.associated) if args.maintenance is not None: params['maintenance'] = utils.bool_argument_value( "--maintenance", args.maintenance) if args.provision_state is not None: params['provision_state'] = args.provision_state if args.detail: fields = res_fields.NODE_DETAILED_RESOURCE.fields field_labels = res_fields.NODE_DETAILED_RESOURCE.labels elif args.fields: utils.check_for_invalid_fields( args.fields[0], res_fields.NODE_DETAILED_RESOURCE.fields) resource = res_fields.Resource(args.fields[0]) fields = resource.fields field_labels = resource.labels else: fields = res_fields.NODE_RESOURCE.fields field_labels = res_fields.NODE_RESOURCE.labels sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels params.update( utils.common_params_for_list(args, sort_fields, sort_field_labels)) nodes = cc.chassis.list_nodes(args.chassis, **params) cliutils.print_list(nodes, fields, field_labels=field_labels, sortby_index=None, json_flag=args.json)
def do_node_set_console_mode(cc, args): """Enable or disable serial console access for a node.""" enable = utils.bool_argument_value("<enabled>", args.enabled) cc.node.set_console_mode(args.node, enable)