Add node transition state to table
Change-Id: I21f2c161521766048ad74f961a0bf29ef66b248a
This commit is contained in:
parent
7d16f7d30e
commit
c4175bad8f
@ -63,7 +63,8 @@ def image_get(request, image_id):
|
||||
|
||||
class IronicNode(base.APIResourceWrapper):
|
||||
_attrs = ('id', 'uuid', 'instance_uuid', 'driver', 'driver_info',
|
||||
'properties', 'power_state', 'maintenance')
|
||||
'properties', 'power_state', 'target_power_state',
|
||||
'maintenance')
|
||||
|
||||
def __init__(self, apiresource, request=None):
|
||||
super(IronicNode, self).__init__(apiresource)
|
||||
@ -390,6 +391,10 @@ class BareMetalNode(base.APIResourceWrapper):
|
||||
}
|
||||
return task_state_dict.get(self.task_state, 'off')
|
||||
|
||||
@cached_property
|
||||
def target_power_state(self):
|
||||
return None
|
||||
|
||||
@cached_property
|
||||
def driver(self):
|
||||
"""Return driver for this BareMetalNode
|
||||
@ -444,8 +449,8 @@ class NodeClient(object):
|
||||
|
||||
class Node(base.APIResourceWrapper):
|
||||
_attrs = ('id', 'uuid', 'instance_uuid', 'driver', 'driver_info',
|
||||
'power_state', 'addresses', 'maintenance', 'cpus',
|
||||
'memory_mb', 'local_gb', 'cpu_arch')
|
||||
'power_state', 'target_power_state', 'addresses', 'maintenance',
|
||||
'cpus', 'memory_mb', 'local_gb', 'cpu_arch')
|
||||
|
||||
def __init__(self, apiresource, request=None, **kwargs):
|
||||
"""Initialize a Node
|
||||
|
@ -109,6 +109,14 @@ def get_role_link(datum):
|
||||
kwargs={'role_id': datum.role_id})
|
||||
|
||||
|
||||
def get_power_state_with_transition(node):
|
||||
if node.target_power_state and (
|
||||
node.power_state != node.target_power_state):
|
||||
return "{0} -> {1}".format(
|
||||
node.power_state, node.target_power_state)
|
||||
return node.power_state
|
||||
|
||||
|
||||
class RegisteredNodesTable(tables.DataTable):
|
||||
node = tables.Column('uuid',
|
||||
link="horizon:infrastructure:nodes:detail",
|
||||
@ -121,14 +129,8 @@ class RegisteredNodesTable(tables.DataTable):
|
||||
role_name = tables.Column('role_name',
|
||||
link=get_role_link,
|
||||
verbose_name=_("Deployment Role"))
|
||||
power_state = tables.Column("power_state",
|
||||
verbose_name=_("Power"),
|
||||
status=True,
|
||||
status_choices=(
|
||||
('on', True),
|
||||
('off', False),
|
||||
('rebooting', None)
|
||||
))
|
||||
power_state = tables.Column(get_power_state_with_transition,
|
||||
verbose_name=_("Power"))
|
||||
|
||||
class Meta:
|
||||
name = "nodes_table"
|
||||
|
@ -134,6 +134,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'on',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': None,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -156,6 +157,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'on',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': None,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -178,6 +180,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'rebooting',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': None,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -200,6 +203,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'on',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': None,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -222,6 +226,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'error',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': None,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -244,6 +249,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'on',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': None,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -266,6 +272,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'off',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': True,
|
||||
'newly_discovered': None,
|
||||
})
|
||||
@ -288,6 +295,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'on',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': True,
|
||||
'newly_discovered': True,
|
||||
})
|
||||
@ -310,6 +318,7 @@ def data(TEST):
|
||||
'cpu_arch': 'x86_64',
|
||||
},
|
||||
'power_state': 'on',
|
||||
'target_power_state': 'on',
|
||||
'maintenance': True,
|
||||
'newly_discovered': True,
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user