summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-08-25 18:56:03 +0000
committerGerrit Code Review <review@openstack.org>2015-08-25 18:56:03 +0000
commit6d9d5419ea3ca71918c4e7cfdbaaaeac4dbd6b70 (patch)
treeecceead98736634a4c89b6c50f30134a6e559c3f
parent16f80e78c0aa9f9d00e9414011a497518a090e12 (diff)
parent64eeb59c725efbfd4d20c078c5aaea2963ddde6c (diff)
downloadtuskar-ui-6d9d5419ea3ca71918c4e7cfdbaaaeac4dbd6b70.tar.gz
Merge "Add discovery on demand"
-rw-r--r--tuskar_ui/infrastructure/nodes/tables.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/tuskar_ui/infrastructure/nodes/tables.py b/tuskar_ui/infrastructure/nodes/tables.py
index 65a5cf56..898bd76e 100644
--- a/tuskar_ui/infrastructure/nodes/tables.py
+++ b/tuskar_ui/infrastructure/nodes/tables.py
@@ -128,6 +128,27 @@ class NodeFilterAction(tables.FilterAction):
return filter(comp, nodes)
+class DiscoverNode(tables.BatchAction):
+ name = "discover_nodes"
+ action_present = _("Discover")
+ action_past = _("Discovered")
+ data_type_singular = _("Node")
+ data_type_plural = _("Nodes")
+
+ def allowed(self, request, obj=None):
+ if not obj:
+ # this is necessary because table actions use this function
+ # with obj=None
+ return True
+ return obj.state == api.node.MAINTENANCE_STATE
+
+ def action(self, request, obj_id):
+ if obj_id is None:
+ messages.error(request, _("Select some nodes to discover."))
+ return
+ api.node.Node.discover(request, [obj_id])
+
+
@memoized.memoized
def _get_role_link(role_id):
if role_id:
@@ -242,7 +263,7 @@ class MaintenanceNodesTable(BaseNodesTable):
columns = ('node', 'cpus', 'memory_mb', 'local_gb', 'power_status',
'state')
table_actions = (NodeFilterAction, ActivateNode, SetPowerStateOn,
- SetPowerStateOff, DeleteNode)
+ SetPowerStateOff, DiscoverNode, DeleteNode)
row_actions = (ActivateNode, SetPowerStateOn, SetPowerStateOff,
DeleteNode)
template = "horizon/common/_enhanced_data_table.html"