24
22
from openstack_dashboard.api import neutron
25
23
from openstack_dashboard.api import nova
25
from openstack_dashboard.dashboards.admin.info import constants
27
26
from openstack_dashboard.dashboards.admin.info import tables
31
30
table_classes = (tables.ServicesTable,)
32
31
name = _("Services")
34
template_name = ("horizon/common/_detail_table.html")
33
template_name = constants.INFO_DETAIL_TEMPLATE_NAME
36
35
def get_services_data(self):
37
36
request = self.tab_group.request
46
class ZonesTab(tabs.TableTab):
47
table_classes = (tables.ZonesTable,)
48
name = _("Availability Zones")
50
template_name = ("horizon/common/_detail_table.html")
52
def get_zones_data(self):
53
request = self.tab_group.request
56
zones = nova.availability_zone_list(request, detailed=True)
58
msg = _('Unable to retrieve availability zone data.')
59
exceptions.handle(request, msg)
63
class HostAggregatesTab(tabs.TableTab):
64
table_classes = (tables.AggregatesTable,)
65
name = _("Host Aggregates")
67
template_name = ("horizon/common/_detail_table.html")
69
def get_aggregates_data(self):
72
aggregates = nova.aggregate_list(self.tab_group.request)
74
exceptions.handle(self.request,
75
_('Unable to retrieve host aggregates list.'))
79
45
class NovaServicesTab(tabs.TableTab):
80
46
table_classes = (tables.NovaServicesTable,)
81
47
name = _("Compute Services")
82
48
slug = "nova_services"
83
template_name = ("horizon/common/_detail_table.html")
49
template_name = constants.INFO_DETAIL_TEMPLATE_NAME
85
51
def get_nova_services_data(self):
87
53
services = nova.service_list(self.tab_group.request)
90
55
msg = _('Unable to get nova services list.')
91
56
exceptions.check_message(["Connection", "refused"], msg)
98
63
table_classes = (tables.NetworkAgentsTable,)
99
64
name = _("Network Agents")
100
65
slug = "network_agents"
101
template_name = ("horizon/common/_detail_table.html")
66
template_name = constants.INFO_DETAIL_TEMPLATE_NAME
103
68
def allowed(self, request):
104
69
return base.is_service_enabled(request, 'network')
118
82
class SystemInfoTabs(tabs.TabGroup):
119
83
slug = "system_info"
120
84
tabs = (ServicesTab, NovaServicesTab,
121
ZonesTab, HostAggregatesTab,