From fafac513334b1bd24f8c66104bc8afd472276e62 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Thu, 18 Dec 2014 10:07:02 +0100 Subject: [PATCH] Nodes boxes did not display in ajax updates on progress Make them show Change-Id: Idccfe7dbbc27fa643e89b70c1b7df1c7d947e1d2 --- tuskar_boxes/overview/views.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/tuskar_boxes/overview/views.py b/tuskar_boxes/overview/views.py index 88b7973..540bc40 100644 --- a/tuskar_boxes/overview/views.py +++ b/tuskar_boxes/overview/views.py @@ -97,54 +97,53 @@ class IndexView(views.IndexView): template_name = "tuskar_boxes/overview/index.html" form_class = forms.EditPlan - def get_context_data(self, *args, **kwargs): - context = super(IndexView, self).get_context_data(*args, **kwargs) - if not context['stack']: - roles = context['roles'] + def get_data(self, request, context, *args, **kwargs): + data = super(IndexView, self).get_data(request, context, + *args, **kwargs) + if not data['stack']: + roles = data['roles'] free_roles = [] flavor_roles = {} for role in roles: - role['flavor_field'] = context['form'][role['id'] + '-flavor'] - flavor = role['role'].flavor(context['plan']) + role['flavor_field'] = data['form'][role['id'] + '-flavor'] + flavor = role['role'].flavor(data['plan']) if flavor: role['flavor_name'] = flavor.name flavor_roles.setdefault(flavor.name, []).append(role) else: role['flavor_name'] = '' free_roles.append(role) - context['free_roles'] = free_roles + data['free_roles'] = free_roles flavors = api.flavor.Flavor.list(self.request) flavors.sort(key=lambda np: (np.vcpus, np.ram, np.disk)) - context['flavors'] = list( + data['flavors'] = list( _flavor_data(self.request, flavors, flavor_roles)) else: nodes = list(_node_data( - self.request, - api.node.Node.list(self.request, maintenance=False), + request, api.node.Node.list(request, maintenance=False), )) nodes.sort(key=lambda node: node.get('role_name')) nodes.reverse() - - context['nodes'] = nodes + data['nodes'] = nodes distribution = collections.Counter() for node in nodes: distribution[node['role_name']] += 1 - for role in context['roles']: + for role in data['roles']: role['distribution'] = int(float(distribution[role['name']]) / len(nodes) * 100) - if api_base.is_service_enabled(self.request, 'metering'): - for role in context['roles']: + if api_base.is_service_enabled(request, 'metering'): + for role in data['roles']: role['graph_url'] = ( reverse('horizon:infrastructure:roles:performance', args=[role['id']]) + '?' + metering.url_part('hardware.cpu.load.1min', False) + '&date_options=0.041666' ) - return context + return data def get_progress_update(self, request, data): out = super(IndexView, self).get_progress_update(request, data)