From 806191451772ba1e0ba452c3d7c24764905db8e0 Mon Sep 17 00:00:00 2001 From: Steve Leon Date: Sat, 7 Mar 2015 21:46:12 -0800 Subject: [PATCH] Add delete cluster --- cuedashboard/api.py | 21 +++++++++++++-------- cuedashboard/queues/tables.py | 15 +++------------ 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/cuedashboard/api.py b/cuedashboard/api.py index 8f78207..f0edfc6 100644 --- a/cuedashboard/api.py +++ b/cuedashboard/api.py @@ -16,19 +16,15 @@ # Copyright [2014] Hewlett-Packard Development Company, L.P. # limitations under the License. -import logging - from django.conf import settings from cueclient.v1 import client from keystoneclient import session as ksc_session from keystoneclient.auth.identity import v2 - +from collections import namedtuple from openstack_dashboard.api import base from horizon.utils.memoized import memoized # noqa -LOG = logging.getLogger(__name__) - @memoized def cueclient(request): @@ -42,7 +38,16 @@ def cueclient(request): def clusters_list(request, marker=None): - return cueclient(request).clusters.list() + #todo + #This is needed because the cue client returns a dict + #instead of a cluster object. + clusters = [] + clusters_dict = cueclient(request).clusters.list() + for cluster_dict in clusters_dict: + clusters.append(namedtuple('Cluster', cluster_dict) + (**cluster_dict)) + return clusters -def delete_cluster(request, marker=None): - return cueclient(request).clusters.list() \ No newline at end of file + +def delete_cluster(request, cluster_id): + return cueclient(request).clusters.delete(cluster_id) \ No newline at end of file diff --git a/cuedashboard/queues/tables.py b/cuedashboard/queues/tables.py index 67bf2c4..ca9757a 100644 --- a/cuedashboard/queues/tables.py +++ b/cuedashboard/queues/tables.py @@ -16,16 +16,12 @@ # Copyright [2014] Hewlett-Packard Development Company, L.P. # limitations under the License. -import logging from django.utils.translation import ungettext_lazy from django.utils.translation import ugettext as _ from horizon import tables from cuedashboard import api -LOG = logging.getLogger(__name__) - - class CreateQueue(tables.LinkAction): name = "create" verbose_name = _("Create Cluster") @@ -56,7 +52,7 @@ class DeleteQueue(tables.BatchAction): icon = "off" def action(self, request, obj_id): - api.trove.instance_delete(request, obj_id) + api.delete_cluster(request, obj_id) class QueuesTable(tables.DataTable): @@ -67,13 +63,8 @@ class QueuesTable(tables.DataTable): flavor = tables.Column("flavor", verbose_name=_("Flavor"),) status = tables.Column("status", verbose_name=_("Status")) - def get_object_id(self, datum): - LOG.info(type(datum)) - LOG.info(dir(datum)) - return None - class Meta: - name = "queues" - verbose_name = _("Queues") + name = "clusters" + verbose_name = _("Clusters") table_actions = (CreateQueue, DeleteQueue,) row_actions = (DeleteQueue,)