From 48968016b7058758b2c3f4d7872b8908c3a5bbe3 Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Tue, 19 Nov 2013 19:39:05 +0400 Subject: [PATCH] Resolved issue with details-page Change-Id: I53883d40b00998386cad0a7fccce9c264f229276 --- muranodashboard/panel/tabs.py | 45 ++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/muranodashboard/panel/tabs.py b/muranodashboard/panel/tabs.py index b7982a7e7..d20a38052 100644 --- a/muranodashboard/panel/tabs.py +++ b/muranodashboard/panel/tabs.py @@ -72,32 +72,33 @@ class OverviewTab(tabs.Tab): #check for deployed services so additional information can be added units = [] - instance_name = None for unit in service_data.units: - if hasattr(unit, 'state'): - # unit_detail = {'Name': unit.name} - unit_detail = SortedDict() - instance_hostname = unit.state.hostname - if 'Hostname template' in detail_info: - del detail_info['Hostname template'] - unit_detail['Hostname'] = instance_hostname - instances = nova_api.server_list(request) + if not hasattr(unit, 'state'): + continue - # HEAT always adds e before instance name - instance_name = 'e' + environment_id + '.' + instance_hostname + unit_detail = SortedDict() + instance_hostname = unit.state.hostname + if 'Hostname template' in detail_info: + del detail_info['Hostname template'] - for instance in instances: - if instance._apiresource.name == instance_name: - unit_detail['instance'] = { - 'id': instance._apiresource.id, - 'name': instance_name - } - break + unit_detail['Hostname'] = instance_hostname + instances = nova_api.server_list(request)[0] - if len(service_data.units) > 1: - units.append(unit_detail) - else: - detail_info.update(unit_detail) + # HEAT always adds e before instance name + instance_name = 'e' + environment_id + '.' + instance_hostname + + for instance in instances: + if instance.name == instance_name: + unit_detail['instance'] = { + 'id': instance.id, + 'name': instance_name + } + break + + if len(service_data.units) > 1: + units.append(unit_detail) + else: + detail_info.update(unit_detail) return {'service': detail_info, 'units': units}