Revision 19930d75 lib/query.py

b/lib/query.py
2186 2186
  return _PrepareFieldList(fields, [])
2187 2187

  
2188 2188

  
2189
class ExtStorageInfo(objects.ConfigObject):
2190
  __slots__ = [
2191
    "name",
2192
    "node_status",
2193
    "nodegroup_status",
2194
    "parameters",
2195
    ]
2196

  
2197

  
2198
def _BuildExtStorageFields():
2199
  """Builds list of fields for extstorage provider queries.
2200

  
2201
  """
2202
  fields = [
2203
    (_MakeField("name", "Name", QFT_TEXT, "ExtStorage provider name"),
2204
     None, 0, _GetItemAttr("name")),
2205
    (_MakeField("node_status", "NodeStatus", QFT_OTHER,
2206
                "Status from node"),
2207
     None, 0, _GetItemAttr("node_status")),
2208
    (_MakeField("nodegroup_status", "NodegroupStatus", QFT_OTHER,
2209
                "Overall Nodegroup status"),
2210
     None, 0, _GetItemAttr("nodegroup_status")),
2211
    (_MakeField("parameters", "Parameters", QFT_OTHER,
2212
                "ExtStorage provider parameters"),
2213
     None, 0, _GetItemAttr("parameters")),
2214
    ]
2215

  
2216
  return _PrepareFieldList(fields, [])
2217

  
2218

  
2189 2219
def _JobUnavailInner(fn, ctx, (job_id, job)): # pylint: disable=W0613
2190 2220
  """Return L{_FS_UNAVAIL} if job is None.
2191 2221

  
......
2430 2460
#: Fields available for operating system queries
2431 2461
OS_FIELDS = _BuildOsFields()
2432 2462

  
2463
#: Fields available for extstorage provider queries
2464
EXTSTORAGE_FIELDS = _BuildExtStorageFields()
2465

  
2433 2466
#: Fields available for job queries
2434 2467
JOB_FIELDS = _BuildJobFields()
2435 2468

  
......
2444 2477
  constants.QR_LOCK: LOCK_FIELDS,
2445 2478
  constants.QR_GROUP: GROUP_FIELDS,
2446 2479
  constants.QR_OS: OS_FIELDS,
2480
  constants.QR_EXTSTORAGE: EXTSTORAGE_FIELDS,
2447 2481
  constants.QR_JOB: JOB_FIELDS,
2448 2482
  constants.QR_EXPORT: EXPORT_FIELDS,
2449 2483
  }

Also available in: Unified diff