Refactor method node_list in status.py
Extract same logics into one internal function, and call it when get one node's values or iterate some nodes' value. Change-Id: Idd536931a40f2369d3bfc4c623e94844c95f78a0
This commit is contained in:
parent
a2c2983407
commit
13ac2512ba
@ -54,75 +54,50 @@ def node_list(zk, node_id=None, detail=False):
|
|||||||
if detail:
|
if detail:
|
||||||
headers += detail_headers
|
headers += detail_headers
|
||||||
|
|
||||||
|
def _get_node_values(node):
|
||||||
|
locked = "unlocked"
|
||||||
|
try:
|
||||||
|
zk.lockNode(node, blocking=False)
|
||||||
|
except Exception:
|
||||||
|
locked = "locked"
|
||||||
|
else:
|
||||||
|
zk.unlockNode(node)
|
||||||
|
|
||||||
|
values = [
|
||||||
|
node.id,
|
||||||
|
node.provider,
|
||||||
|
node.type,
|
||||||
|
node.external_id,
|
||||||
|
node.public_ipv4,
|
||||||
|
node.public_ipv6,
|
||||||
|
node.state,
|
||||||
|
age(node.state_time),
|
||||||
|
locked
|
||||||
|
]
|
||||||
|
if detail:
|
||||||
|
values += [
|
||||||
|
node.hostname,
|
||||||
|
node.private_ipv4,
|
||||||
|
node.az,
|
||||||
|
node.connection_port,
|
||||||
|
node.launcher,
|
||||||
|
node.allocated_to,
|
||||||
|
node.hold_job,
|
||||||
|
node.comment
|
||||||
|
]
|
||||||
|
return values
|
||||||
|
|
||||||
t = PrettyTable(headers)
|
t = PrettyTable(headers)
|
||||||
t.align = 'l'
|
t.align = 'l'
|
||||||
|
|
||||||
if node_id:
|
if node_id:
|
||||||
node = zk.getNode(node_id)
|
node = zk.getNode(node_id)
|
||||||
if node:
|
if node:
|
||||||
locked = "unlocked"
|
values = _get_node_values(node)
|
||||||
try:
|
|
||||||
zk.lockNode(node, blocking=False)
|
|
||||||
except Exception:
|
|
||||||
locked = "locked"
|
|
||||||
else:
|
|
||||||
zk.unlockNode(node)
|
|
||||||
|
|
||||||
values = [
|
|
||||||
node.id,
|
|
||||||
node.provider,
|
|
||||||
node.type,
|
|
||||||
node.external_id,
|
|
||||||
node.public_ipv4,
|
|
||||||
node.public_ipv6,
|
|
||||||
node.state,
|
|
||||||
age(node.state_time),
|
|
||||||
locked
|
|
||||||
]
|
|
||||||
if detail:
|
|
||||||
values += [
|
|
||||||
node.hostname,
|
|
||||||
node.private_ipv4,
|
|
||||||
node.az,
|
|
||||||
node.connection_port,
|
|
||||||
node.launcher,
|
|
||||||
node.allocated_to,
|
|
||||||
node.hold_job,
|
|
||||||
node.comment
|
|
||||||
]
|
|
||||||
t.add_row(values)
|
t.add_row(values)
|
||||||
else:
|
else:
|
||||||
for node in zk.nodeIterator():
|
for node in zk.nodeIterator():
|
||||||
locked = "unlocked"
|
values = _get_node_values(node)
|
||||||
try:
|
|
||||||
zk.lockNode(node, blocking=False)
|
|
||||||
except Exception:
|
|
||||||
locked = "locked"
|
|
||||||
else:
|
|
||||||
zk.unlockNode(node)
|
|
||||||
|
|
||||||
values = [
|
|
||||||
node.id,
|
|
||||||
node.provider,
|
|
||||||
node.type,
|
|
||||||
node.external_id,
|
|
||||||
node.public_ipv4,
|
|
||||||
node.public_ipv6,
|
|
||||||
node.state,
|
|
||||||
age(node.state_time),
|
|
||||||
locked
|
|
||||||
]
|
|
||||||
if detail:
|
|
||||||
values += [
|
|
||||||
node.hostname,
|
|
||||||
node.private_ipv4,
|
|
||||||
node.az,
|
|
||||||
node.connection_port,
|
|
||||||
node.launcher,
|
|
||||||
node.allocated_to,
|
|
||||||
node.hold_job,
|
|
||||||
node.comment
|
|
||||||
]
|
|
||||||
t.add_row(values)
|
t.add_row(values)
|
||||||
return str(t)
|
return str(t)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user