WIP: Host Inventory Panel
Change-Id: Ie91ca12223d745663cdf1ebff6d6b1798d630635
This commit is contained in:
parent
a4512acaad
commit
f44f7a24eb
|
@ -7,4 +7,53 @@
|
|||
from openstack_dashboard.api.nova import *
|
||||
|
||||
def server_group_create(request, **kwargs):
|
||||
return novaclient(request).server_groups.create(**kwargs)
|
||||
return novaclient(request).server_groups.create(**kwargs)
|
||||
|
||||
|
||||
# WRS: Nova extension for provider network.
|
||||
def provider_network_get(request, providernet_id):
|
||||
return wrs_providernets.ProviderNetsManager(novaclient(request)).get(
|
||||
providernet_id)
|
||||
|
||||
|
||||
# WRS: Nova extension for device usage
|
||||
class DeviceUsage(base.APIResourceWrapper):
|
||||
"""Wrapper for Inventory Device Usage
|
||||
"""
|
||||
_attrs = ['device_id', 'device_name', 'vendor_id',
|
||||
'pci_vfs_configured', 'pci_vfs_used',
|
||||
'pci_pfs_configured', 'pci_pfs_used']
|
||||
|
||||
|
||||
def get_device_usage_list(request):
|
||||
usages = wrs_pci.PciDevicesManager(novaclient(request)).list()
|
||||
return [DeviceUsage(n) for n in usages]
|
||||
|
||||
|
||||
def get_device_usage(request, device_id):
|
||||
if device_id is None:
|
||||
raise nova_exceptions.ResourceNotFound
|
||||
|
||||
usage = wrs_pci.PciDevicesManager(novaclient(request)).list(
|
||||
device_id=device_id)
|
||||
return DeviceUsage(usage[0])
|
||||
|
||||
|
||||
# WRS: Nova extension for detail device usage
|
||||
class DetailUsage(base.APIResourceWrapper):
|
||||
"""Wrapper for Inventory Device Usage
|
||||
"""
|
||||
_attrs = ['host',
|
||||
'pci_vfs_configured', 'pci_vfs_used',
|
||||
'pci_pfs_configured', 'pci_pfs_used']
|
||||
|
||||
|
||||
def get_detail_usage(request, device_id):
|
||||
usages = wrs_pci.PciDevicesManager(novaclient(request)).get(
|
||||
device_id)
|
||||
return [DetailUsage(n) for n in usages]
|
||||
|
||||
|
||||
def can_set_quotas():
|
||||
features = getattr(settings, 'OPENSTACK_HYPERVISOR_FEATURES', {})
|
||||
return features.get('enable_quotas', True)
|
||||
|
|
|
@ -16,11 +16,11 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from horizon import exceptions
|
||||
from horizon import forms
|
||||
from openstack_dashboard import api
|
||||
from openstack_dashboard.dashboards.admin.inventory.cpu_functions.forms \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.cpu_functions.forms \
|
||||
import AddCpuProfile
|
||||
from openstack_dashboard.dashboards.admin.inventory.cpu_functions.forms \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.cpu_functions.forms \
|
||||
import UpdateCpuFunctions
|
||||
from openstack_dashboard.dashboards.admin.inventory.cpu_functions \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.cpu_functions \
|
||||
import utils as cpufunctions_utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
|
|
@ -17,9 +17,10 @@ from horizon import tables
|
|||
from horizon.utils import memoized
|
||||
from horizon import views
|
||||
from openstack_dashboard import api
|
||||
from openstack_dashboard.dashboards.admin.inventory.devices.forms import \
|
||||
from starlingx_dashboard import api as stx_api
|
||||
from starlingx_dashboard.dashboards.admin.inventory.devices.forms import \
|
||||
UpdateDevice
|
||||
from openstack_dashboard.dashboards.admin.inventory.devices.tables import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.devices.tables import \
|
||||
UsageTable
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
@ -40,7 +41,7 @@ class UpdateView(forms.ModalFormView):
|
|||
device_uuid = self.kwargs['device_uuid']
|
||||
host_id = self.kwargs['host_id']
|
||||
try:
|
||||
self._object = api.sysinv.host_device_get(self.request,
|
||||
self._object = stx_api.sysinv.host_device_get(self.request,
|
||||
device_uuid)
|
||||
self._object.host_id = host_id
|
||||
except Exception:
|
||||
|
@ -83,7 +84,7 @@ class DetailView(views.HorizonTemplateView):
|
|||
device_uuid = self.kwargs['device_uuid']
|
||||
host_id = self.kwargs['host_id']
|
||||
try:
|
||||
self._object = api.sysinv.host_device_get(self.request,
|
||||
self._object = stx_apl.sysinv.host_device_get(self.request,
|
||||
device_uuid)
|
||||
self._object.host_id = host_id
|
||||
|
||||
|
@ -98,7 +99,7 @@ class DetailView(views.HorizonTemplateView):
|
|||
@memoized.memoized_method
|
||||
def get_hostname(self, host_uuid):
|
||||
try:
|
||||
host = api.sysinv.host_get(self.request, host_uuid)
|
||||
host = stx_apl.sysinv.host_get(self.request, host_uuid)
|
||||
except Exception:
|
||||
host = {}
|
||||
msg = _('Unable to retrieve hostname details.')
|
||||
|
@ -137,7 +138,7 @@ class UsageView(tables.MultiTableView):
|
|||
if not hasattr(self, "_detail_object"):
|
||||
dev_id = self.kwargs['device_id']
|
||||
try:
|
||||
_object = api.nova.get_detail_usage(self.request, dev_id)
|
||||
_object = stx_apl.nova.get_detail_usage(self.request, dev_id)
|
||||
_object.sort(key=lambda f: (f.host))
|
||||
id = 0
|
||||
for u in _object:
|
||||
|
|
|
@ -9,36 +9,36 @@
|
|||
from django.conf.urls import include # noqa
|
||||
from django.conf.urls import url
|
||||
|
||||
from openstack_dashboard.dashboards.admin.inventory.cpu_functions import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.cpu_functions import \
|
||||
views as cpu_functions_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.devices import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.devices import \
|
||||
views as device_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.interfaces.address import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.interfaces.address import \
|
||||
views as address_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.interfaces.route import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.interfaces.route import \
|
||||
views as route_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.interfaces import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.interfaces import \
|
||||
views as interface_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.lldp import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.lldp import \
|
||||
views as lldp_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.memorys import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.memorys import \
|
||||
views as memory_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.ports import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.ports import \
|
||||
views as port_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.sensors import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.sensors import \
|
||||
views as sensor_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.storages import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.storages import \
|
||||
views as storage_views
|
||||
from openstack_dashboard.dashboards.admin.inventory.views import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.views import \
|
||||
AddView
|
||||
from openstack_dashboard.dashboards.admin.inventory.views import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.views import \
|
||||
DetailView
|
||||
from openstack_dashboard.dashboards.admin.inventory.views import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.views import \
|
||||
IndexView
|
||||
from openstack_dashboard.dashboards.admin.inventory.views import \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.views import \
|
||||
UpdateView
|
||||
|
||||
from openstack_dashboard.dashboards.admin.inventory.storages \
|
||||
from starlingx_dashboard.dashboards.admin.inventory.storages \
|
||||
import urls as storages_urls
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue