"master_candidate",
"master",
"offline",
+ "drained",
)
def ExpandNames(self):
val = node.name == master_node
elif field == "offline":
val = node.offline
+ elif field == "drained":
+ val = node.drained
elif self._FIELDS_DYNAMIC.Matches(field):
val = live_data[node.name].get(field, None)
else:
"primary_ip": ninfo.primary_ip,
"secondary_ip": ninfo.secondary_ip,
"offline": ninfo.offline,
+ "drained": ninfo.drained,
"master_candidate": ninfo.master_candidate,
}
"oper_state", "oper_ram", "status",
"tags"]
-N_FIELDS = ["name", "offline", "master_candidate",
+N_FIELDS = ["name", "offline", "master_candidate", "drained",
"dtotal", "dfree",
"mtotal", "mnode", "mfree",
"pinst_cnt", "sinst_cnt", "tags",
"serial_no": "SerialNo",
"master_candidate": "MasterC",
"master": "IsMaster",
- "offline": "Offline",
+ "offline": "Offline", "drained": "Drained",
}
val = row[idx]
if field in list_type_fields:
val = ",".join(val)
- elif field in ('master', 'master_candidate', 'offline'):
+ elif field in ('master', 'master_candidate', 'offline', 'drained'):
if val:
val = 'Y'
else:
"""
cl = GetClient()
result = cl.QueryNodes(fields=["name", "pip", "sip",
- "pinst_list", "sinst_list"],
+ "pinst_list", "sinst_list",
+ "master_candidate", "drained", "offline"],
names=args, use_locking=True)
- for name, primary_ip, secondary_ip, pinst, sinst in result:
+ for (name, primary_ip, secondary_ip, pinst, sinst,
+ is_mc, drained, offline) in result:
ToStdout("Node name: %s", name)
ToStdout(" primary ip: %s", primary_ip)
ToStdout(" secondary ip: %s", secondary_ip)
+ ToStdout(" master candidate: %s", is_mc)
+ ToStdout(" drained: %s", drained)
+ ToStdout(" offline: %s", offline)
if pinst:
ToStdout(" primary for instances:")
for iname in pinst: