summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadomir Dopieralski <openstack@sheep.art.pl>2013-10-23 09:23:14 +0200
committerRadomir Dopieralski <openstack@sheep.art.pl>2013-10-23 09:27:01 +0200
commitd72ad6e0c490f6cc46eab8f4b636854fd96f8cd0 (patch)
treecbc1762591adbcbd7f7f384852a300c08d54a956
parent887e7459fd9117b6d734f605d19b18e099e34b7d (diff)
downloadtuskar-ui-d72ad6e0c490f6cc46eab8f4b636854fd96f8cd0.tar.gz
Fail gracefully on node detail page when no overcloud
The node detail page retrieves the number of running instances from Nova Baremetal, which makes the page fail rendering when the overcloud nova is not accessible. I moved the query from template to get_context_data and added some basic error handling. Change-Id: Ie9919ba5ff6c3ae7b85f962d6fcecb5ef4e51c51 Closes-bug: #1237471
-rw-r--r--tuskar_ui/infrastructure/resource_management/nodes/tabs.py14
-rw-r--r--tuskar_ui/infrastructure/resource_management/templates/resource_management/nodes/_detail_overview.html2
2 files changed, 14 insertions, 2 deletions
diff --git a/tuskar_ui/infrastructure/resource_management/nodes/tabs.py b/tuskar_ui/infrastructure/resource_management/nodes/tabs.py
index 77399a14..5db0be8f 100644
--- a/tuskar_ui/infrastructure/resource_management/nodes/tabs.py
+++ b/tuskar_ui/infrastructure/resource_management/nodes/tabs.py
@@ -14,7 +14,9 @@
from django.utils.translation import ugettext_lazy as _ # noqa
+from horizon import messages
from horizon import tabs
+import requests
class OverviewTab(tabs.Tab):
@@ -25,7 +27,17 @@ class OverviewTab(tabs.Tab):
preload = False
def get_context_data(self, request):
- return {"node": self.tab_group.kwargs['node']}
+ node = self.tab_group.kwargs['node']
+ try:
+ running_instances = len(node.running_virtual_machines)
+ except requests.exceptions.ConnectionError:
+ running_instances = _("Unknown")
+ messages.warning(request,
+ _("Can't retrieve the running instances from the overcloud."))
+ return {
+ 'node': node,
+ 'running_instances': running_instances,
+ }
class NodeDetailTabs(tabs.TabGroup):
diff --git a/tuskar_ui/infrastructure/resource_management/templates/resource_management/nodes/_detail_overview.html b/tuskar_ui/infrastructure/resource_management/templates/resource_management/nodes/_detail_overview.html
index 29e70954..97809e39 100644
--- a/tuskar_ui/infrastructure/resource_management/templates/resource_management/nodes/_detail_overview.html
+++ b/tuskar_ui/infrastructure/resource_management/templates/resource_management/nodes/_detail_overview.html
@@ -36,7 +36,7 @@
<dt>{% trans "Provisioned Image" %}</dt>
<dd>{{ node.image|default:_("None") }}</dd>
<dt>{% trans "Running Instances" %}</dt>
- <dd>{{ node.running_virtual_machines|length }}</dd>
+ <dd>{{ running_instances }}</dd>
</dl>
</div>
<div class="span4">