The branch, develop has been updated
Old revision: 5e02398ae5189d5ae4826379138ea2135c72812f, new revision: e7bdd7f5626aebb8e8e6a4783122d90918052ff6.
via e7bdd7f5626aebb8e8e6a4783122d90918052ff6 (commit)
via 5ba2cd989f1d2359a659ea0710e02c98e143b8e3 (commit)
from 5e02398ae5189d5ae4826379138ea2135c72812f (commit)
- Log -----------------------------------------------------------------
commit e7bdd7f5626aebb8e8e6a4783122d90918052ff6
Merge: 5e02398 5ba2cd9
Author: Chance Zibolski <
chance....@gmail.com>
Date: Fri Dec 27 14:26:43 2013 -0800
Merge branch 'bug/15513' into develop
* bug/15513:
Cluster Refresh Page: Catch GanetiAPIErrors
Summary of changes:
ganeti_webmgr/clusters/models.py | 2 +-
ganeti_webmgr/clusters/views.py | 13 +++++++++----
ganeti_webmgr/templates/base.html | 9 +++++++++
ganeti_webmgr/templates/ganeti/cluster/detail.html | 4 ----
4 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/ganeti_webmgr/clusters/models.py b/ganeti_webmgr/clusters/models.py
index aa34d9d..6d0a02a 100644
--- a/ganeti_webmgr/clusters/models.py
+++ b/ganeti_webmgr/clusters/models.py
@@ -173,7 +173,7 @@ class CachedClusterObject(models.Model):
self.error = msg
else:
msg = str(e)
- self.error = str(e)
+ self.error = msg
GanetiError.store_error(msg, obj=self, code=e.code)
else:
diff --git a/ganeti_webmgr/clusters/views.py b/ganeti_webmgr/clusters/views.py
index 9802241..96a9365 100644
--- a/ganeti_webmgr/clusters/views.py
+++ b/ganeti_webmgr/clusters/views.py
@@ -18,6 +18,7 @@
from django.conf import settings
+from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
@@ -274,10 +275,14 @@ def refresh(request, cluster_slug):
"""
cluster = get_object_or_404(Cluster, slug=cluster_slug)
- cluster.refresh()
- cluster.sync_nodes(remove=True)
- cluster.sync_virtual_machines(remove=True)
-
+ try:
+ cluster.refresh()
+ cluster.sync_nodes(remove=True)
+ cluster.sync_virtual_machines(remove=True)
+ except GanetiApiError as e:
+ msg = str(e)
+ msg = "<p>%s</p>" % msg
+ messages.error(request, msg)
url = reverse('cluster-detail', args=[cluster.slug])
return redirect(url)
diff --git a/ganeti_webmgr/templates/base.html b/ganeti_webmgr/templates/base.html
index 15df152..d15a589 100644
--- a/ganeti_webmgr/templates/base.html
+++ b/ganeti_webmgr/templates/base.html
@@ -46,6 +46,15 @@
<div id="content_column">
{% block navigation %}{% endblock %}
<div id="content">
+ {% block messages %}
+ <ul id="messages">
+ {% if messages %}
+ {% for message in messages %}
+ <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{% trans "Error" %}: {{ message|safe }}</li>
+ {% endfor %}
+ {% endif %}
+ </ul>
+ {% endblock %}
{% block content %}{% endblock %}
</div>
<div class="floatfix"></div>
diff --git a/ganeti_webmgr/templates/ganeti/cluster/detail.html b/ganeti_webmgr/templates/ganeti/cluster/detail.html
index bbd5e6b..b449a72 100644
--- a/ganeti_webmgr/templates/ganeti/cluster/detail.html
+++ b/ganeti_webmgr/templates/ganeti/cluster/detail.html
@@ -120,12 +120,8 @@
{% if not cluster.username %}
{% trans " - READ ONLY" %}
{% endif %}
-
</h1>
-<ul id="messages">
- {%if cluster.error%}<li class="error">{% trans "Error in Ganeti API" %}:<p>{{cluster.error}}</p></li>{%endif%}
-</ul>
<div id="tabs">
<ul>
<li><a href="#overview"><span>{% trans "Overview" %}</span></a></li>