Revision 54ac87c0

b/lib/query.py
1140 1140
    return _FS_UNAVAIL
1141 1141

  
1142 1142

  
1143
def _GetNodeHvState(_, node):
1144
  """Converts node's hypervisor state for query result.
1145

  
1146
  """
1147
  hv_state = node.hv_state
1148

  
1149
  if hv_state is None:
1150
    return _FS_UNAVAIL
1151

  
1152
  return dict((name, value.ToDict()) for (name, value) in hv_state.items())
1153

  
1154

  
1155
def _GetNodeDiskState(_, node):
1156
  """Converts node's disk state for query result.
1157

  
1158
  """
1159
  disk_state = node.disk_state
1160

  
1161
  if disk_state is None:
1162
    return _FS_UNAVAIL
1163

  
1164
  return dict((disk_kind, dict((name, value.ToDict())
1165
                               for (name, value) in kind_state.items()))
1166
              for (disk_kind, kind_state) in disk_state.items())
1167

  
1168

  
1143 1169
def _BuildNodeFields():
1144 1170
  """Builds list of fields for node queries.
1145 1171

  
......
1166 1192
    (_MakeField("custom_ndparams", "CustomNodeParameters", QFT_OTHER,
1167 1193
                "Custom node parameters"),
1168 1194
      NQ_GROUP, 0, _GetItemAttr("ndparams")),
1195
    (_MakeField("hv_state", "HypervisorState", QFT_OTHER, "Hypervisor state"),
1196
     NQ_CONFIG, 0, _GetNodeHvState),
1197
    (_MakeField("disk_state", "DiskState", QFT_OTHER, "Disk state"),
1198
     NQ_CONFIG, 0, _GetNodeDiskState),
1169 1199
    ]
1170 1200

  
1171 1201
  # Node role

Also available in: Unified diff