commit e6d9224529de4cd62f901bad661abfa85bc08a53
Author: Ryan McCabe <rmccabe(a)redhat.com>
Date: Fri Feb 4 07:00:56 2011 -0500
Fix bz#616239: Need option to completely destroy cluster
luci/controllers/cluster.py | 19 +++++++++++++------
.../validate_create_cluster_form.py | 2 +-
2 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/luci/controllers/cluster.py b/luci/controllers/cluster.py
index 53f8913..524ceed 100644
--- a/luci/controllers/cluster.py
+++ b/luci/controllers/cluster.py
@@ -51,7 +51,6 @@ class ClusterController(BaseController):
@expose('luci.templates.cluster_list')
def delete_cmd(self, command=None, **kw):
- cur_list = []
if 'MultiAction' in kw:
command = kw['MultiAction']
for key, element in kw.items():
@@ -354,11 +353,19 @@ class IndividualClusterController(BaseController):
status='info')
rh.cluster_node_stop(self.name, cur_list)
elif command == 'Delete':
- log.info('User "%s" deleted nodes "%s" from cluster
"%s"'
- % (self.username, ', '.join(cur_list), self.name))
- flash(_("Deleting nodes: %s") % ', '.join(cur_list),
- status='info')
- rh.cluster_node_delete(self.name, self.model, cur_list)
+ if len(cur_list) == len(self.model.getNodes()):
+ log.info('User "%s" deleted cluster "%s"'
+ % (self.username, self.name))
+ flash(_("Deleting cluster: %s") % self.name,
status='info')
+ if rh.cluster_delete(self.name):
+ db_remove_cluster(self.name)
+ redirect('/cluster/')
+ else:
+ log.info('User "%s" deleted nodes "%s" from
cluster "%s"'
+ % (self.username, ', '.join(cur_list), self.name))
+ flash(_("Deleting nodes: %s") % ', '.join(cur_list),
+ status='info')
+ rh.cluster_node_delete(self.name, self.model, cur_list)
elif command == 'Update Attributes':
vret = vcp.validate_node_prop_settings_form(cur_list[0], self.model, **kw)
if vret[0] is True:
diff --git a/luci/widget_validators/validate_create_cluster_form.py
b/luci/widget_validators/validate_create_cluster_form.py
index 2f8867a..679e902 100644
--- a/luci/widget_validators/validate_create_cluster_form.py
+++ b/luci/widget_validators/validate_create_cluster_form.py
@@ -153,7 +153,7 @@ def validate_create_cluster_form(self, **kw):
cluster_db_obj.tasks = task_db_obj.values()
for i in node_db_obj.iterkeys():
cur_task_obj = task_db_obj.get(i)
- if cur_task:
+ if cur_task_obj:
node_db_obj[i].tasks = [ cur_task_obj ]
DBSession.add(cluster_db_obj)
except Exception, e:
Show replies by date