Revision 19bed813

b/lib/cmdlib.py
2279 2279
  """
2280 2280
  _OP_REQP = ["output_fields", "names", "use_locking"]
2281 2281
  REQ_BGL = False
2282

  
2283
  _SIMPLE_FIELDS = ["name", "serial_no", "ctime", "mtime", "uuid",
2284
                    "master_candidate", "offline", "drained"]
2285

  
2282 2286
  _FIELDS_DYNAMIC = utils.FieldSet(
2283 2287
    "dtotal", "dfree",
2284 2288
    "mtotal", "mnode", "mfree",
......
2286 2290
    "ctotal", "cnodes", "csockets",
2287 2291
    )
2288 2292

  
2289
  _FIELDS_STATIC = utils.FieldSet(
2290
    "name", "pinst_cnt", "sinst_cnt",
2293
  _FIELDS_STATIC = utils.FieldSet(*[
2294
    "pinst_cnt", "sinst_cnt",
2291 2295
    "pinst_list", "sinst_list",
2292 2296
    "pip", "sip", "tags",
2293
    "serial_no", "ctime", "mtime",
2294
    "master_candidate",
2295 2297
    "master",
2296
    "offline",
2297
    "drained",
2298
    "role",
2298
    "role"] + _SIMPLE_FIELDS
2299 2299
    )
2300 2300

  
2301 2301
  def ExpandNames(self):
......
2396 2396
    for node in nodelist:
2397 2397
      node_output = []
2398 2398
      for field in self.op.output_fields:
2399
        if field == "name":
2400
          val = node.name
2399
        if field in self._SIMPLE_FIELDS:
2400
          val = getattr(node, field)
2401 2401
        elif field == "pinst_list":
2402 2402
          val = list(node_to_primary[node.name])
2403 2403
        elif field == "sinst_list":
......
2412 2412
          val = node.secondary_ip
2413 2413
        elif field == "tags":
2414 2414
          val = list(node.GetTags())
2415
        elif field == "serial_no":
2416
          val = node.serial_no
2417
        elif field == "ctime":
2418
          val = node.ctime
2419
        elif field == "mtime":
2420
          val = node.mtime
2421
        elif field == "master_candidate":
2422
          val = node.master_candidate
2423 2415
        elif field == "master":
2424 2416
          val = node.name == master_node
2425
        elif field == "offline":
2426
          val = node.offline
2427
        elif field == "drained":
2428
          val = node.drained
2429 2417
        elif self._FIELDS_DYNAMIC.Matches(field):
2430 2418
          val = live_data[node.name].get(field, None)
2431 2419
        elif field == "role":
......
3983 3971
  """
3984 3972
  _OP_REQP = ["output_fields", "names", "use_locking"]
3985 3973
  REQ_BGL = False
3974
  _SIMPLE_FIELDS = ["name", "os", "network_port", "hypervisor",
3975
                    "serial_no", "ctime", "mtime", "uuid"]
3986 3976
  _FIELDS_STATIC = utils.FieldSet(*["name", "os", "pnode", "snodes",
3987 3977
                                    "admin_state",
3988 3978
                                    "disk_template", "ip", "mac", "bridge",
......
3995 3985
                                    r"(nic)\.(bridge)/([0-9]+)",
3996 3986
                                    r"(nic)\.(macs|ips|modes|links|bridges)",
3997 3987
                                    r"(disk|nic)\.(count)",
3998
                                    "serial_no", "hypervisor", "hvparams",
3999
                                    "ctime", "mtime",
4000
                                    ] +
3988
                                    "hvparams",
3989
                                    ] + _SIMPLE_FIELDS +
4001 3990
                                  ["hv/%s" % name
4002 3991
                                   for name in constants.HVS_PARAMETERS] +
4003 3992
                                  ["be/%s" % name
......
4100 4089
                                 nic.nicparams) for nic in instance.nics]
4101 4090
      for field in self.op.output_fields:
4102 4091
        st_match = self._FIELDS_STATIC.Matches(field)
4103
        if field == "name":
4104
          val = instance.name
4105
        elif field == "os":
4106
          val = instance.os
4092
        if field in self._SIMPLE_FIELDS:
4093
          val = getattr(instance, field)
4107 4094
        elif field == "pnode":
4108 4095
          val = instance.primary_node
4109 4096
        elif field == "snodes":
......
4180 4167
          val = _ComputeDiskSize(instance.disk_template, disk_sizes)
4181 4168
        elif field == "tags":
4182 4169
          val = list(instance.GetTags())
4183
        elif field == "serial_no":
4184
          val = instance.serial_no
4185
        elif field == "ctime":
4186
          val = instance.ctime
4187
        elif field == "mtime":
4188
          val = instance.mtime
4189
        elif field == "network_port":
4190
          val = instance.network_port
4191
        elif field == "hypervisor":
4192
          val = instance.hypervisor
4193 4170
        elif field == "hvparams":
4194 4171
          val = i_hv
4195 4172
        elif (field.startswith(HVPREFIX) and

Also available in: Unified diff