Fix the remaining issues

This fixes the imports plus some timeouts waiting for nova baremetal.

Change-Id: I4dc7aad55a05068081ab0b5a12da7c57d3a032f4
Signed-off-by: Tomas Sedovic <tsedovic@redhat.com>
This commit is contained in:
Tomas Sedovic 2013-08-07 16:36:49 +02:00
parent 4bba868cc6
commit c67c54240c
32 changed files with 234 additions and 245 deletions

View File

@ -23,13 +23,14 @@ from django.conf import settings
from django.db.models import Max
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from requests import ConnectionError
from novaclient.v1_1.contrib import baremetal
from tuskarclient.v1 import client as tuskar_client
from openstack_dashboard.api import base
from openstack_dashboard.api import nova
import openstack_dashboard.dashboards.infrastructure.models as dummymodels
import tuskar_ui.infrastructure.models as dummymodels
LOG = logging.getLogger(__name__)
@ -207,8 +208,10 @@ class Node(StringIdAPIResourceWrapper):
@classmethod
def list_unracked(cls, request):
return [n for n in Node.list(request) if (
n.rack is None)]
try:
return [n for n in Node.list(request) if (n.rack is None)]
except ConnectionError:
return []
@classmethod
def create(cls, request, name, cpus, memory_mb, local_gb, prov_mac_address,

View File

@ -17,8 +17,7 @@
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import url
from openstack_dashboard.dashboards.infrastructure. \
overview.views import IndexView
from tuskar_ui.infrastructure.overview.views import IndexView
urlpatterns = patterns('',

View File

@ -19,7 +19,7 @@ from horizon import exceptions
from horizon import forms
from horizon import messages
from openstack_dashboard import api
from tuskar_ui import api as tuskar
class CreateFlavor(forms.SelfHandlingForm):
@ -50,7 +50,7 @@ class CreateFlavor(forms.SelfHandlingForm):
name = cleaned_data.get('name')
flavor_id = self.initial.get('flavor_id', None)
try:
flavors = api.tuskar.FlavorTemplate.list(self.request)
flavors = tuskar.FlavorTemplate.list(self.request)
except:
flavors = []
msg = _('Unable to get flavor list')
@ -67,7 +67,7 @@ class CreateFlavor(forms.SelfHandlingForm):
def handle(self, request, data):
try:
api.tuskar.FlavorTemplate.create(
tuskar.FlavorTemplate.create(
request,
data['name'],
data['cpu'],
@ -87,7 +87,7 @@ class EditFlavor(CreateFlavor):
def handle(self, request, data):
try:
api.tuskar.FlavorTemplate.update(
tuskar.FlavorTemplate.update(
self.request,
self.initial['flavor_id'],
data['name'],

View File

@ -19,7 +19,7 @@ from django.utils.translation import ugettext_lazy as _
from horizon import tables
from openstack_dashboard import api
from tuskar_ui import api as tuskar
LOG = logging.getLogger(__name__)
@ -30,7 +30,7 @@ class DeleteFlavors(tables.DeleteAction):
data_type_plural = _("Flavors")
def delete(self, request, obj_id):
api.tuskar.FlavorTemplate.delete(request, obj_id)
tuskar.FlavorTemplate.delete(request, obj_id)
class CreateFlavor(tables.LinkAction):

View File

@ -2,19 +2,19 @@ from django.core.urlresolvers import reverse
from django import http
from mox import IsA
from openstack_dashboard import api
from tuskar_ui import api as tuskar
from openstack_dashboard.test import helpers as test
class FlavorTemplatesTests(test.BaseAdminViewTests):
@test.create_stubs({api.tuskar.FlavorTemplate: ('list', 'create')})
@test.create_stubs({tuskar.FlavorTemplate: ('list', 'create')})
def test_create_flavor_template(self):
template = self.tuskar_flavor_templates.first()
api.tuskar.FlavorTemplate.list(
tuskar.FlavorTemplate.list(
IsA(http.HttpRequest)).AndReturn([])
api.tuskar.FlavorTemplate.create(IsA(http.HttpRequest),
tuskar.FlavorTemplate.create(IsA(http.HttpRequest),
template.name,
0, 0, 0, 0, 0).AndReturn(template)
self.mox.ReplayAll()
@ -36,11 +36,11 @@ class FlavorTemplatesTests(test.BaseAdminViewTests):
self.assertRedirectsNoFollow(
resp, reverse('horizon:infrastructure:resource_management:index'))
@test.create_stubs({api.tuskar.FlavorTemplate: ('list', 'update', 'get')})
@test.create_stubs({tuskar.FlavorTemplate: ('list', 'update', 'get')})
def test_edit_flavor_template_get(self):
template = self.tuskar_flavor_templates.first() # has no extra spec
api.tuskar.FlavorTemplate.get(IsA(http.HttpRequest),
tuskar.FlavorTemplate.get(IsA(http.HttpRequest),
template.id).AndReturn(template)
self.mox.ReplayAll()
@ -52,17 +52,17 @@ class FlavorTemplatesTests(test.BaseAdminViewTests):
self.assertTemplateUsed(
resp, "infrastructure/resource_management/flavors/edit.html")
@test.create_stubs({api.tuskar.FlavorTemplate: ('list', 'update', 'get')})
@test.create_stubs({tuskar.FlavorTemplate: ('list', 'update', 'get')})
def test_edit_flavor_template_post(self):
template = self.tuskar_flavor_templates.first() # has no extra spec
api.tuskar.FlavorTemplate.list(IsA(http.HttpRequest)).AndReturn(
tuskar.FlavorTemplate.list(IsA(http.HttpRequest)).AndReturn(
self.tuskar_flavor_templates.list())
api.tuskar.FlavorTemplate.update(IsA(http.HttpRequest),
tuskar.FlavorTemplate.update(IsA(http.HttpRequest),
template.id,
template.name,
0, 0, 0, 0, 0).AndReturn(template)
api.tuskar.FlavorTemplate.get(IsA(http.HttpRequest),
tuskar.FlavorTemplate.get(IsA(http.HttpRequest),
template.id).AndReturn(template)
self.mox.ReplayAll()
@ -82,13 +82,13 @@ class FlavorTemplatesTests(test.BaseAdminViewTests):
self.assertRedirectsNoFollow(
resp, reverse('horizon:infrastructure:resource_management:index'))
@test.create_stubs({api.tuskar.FlavorTemplate: ('list', 'delete')})
@test.create_stubs({tuskar.FlavorTemplate: ('list', 'delete')})
def test_delete_flavor_template(self):
template = self.tuskar_flavor_templates.first()
api.tuskar.FlavorTemplate.list(IsA(http.HttpRequest)).\
tuskar.FlavorTemplate.list(IsA(http.HttpRequest)).\
AndReturn(self.tuskar_flavor_templates.list())
api.tuskar.FlavorTemplate.delete(IsA(http.HttpRequest), template.id)
tuskar.FlavorTemplate.delete(IsA(http.HttpRequest), template.id)
self.mox.ReplayAll()
form_data = {'action': 'flavors__delete__%s' % template.id}
@ -99,13 +99,13 @@ class FlavorTemplatesTests(test.BaseAdminViewTests):
self.assertRedirectsNoFollow(
res, reverse('horizon:infrastructure:resource_management:index'))
@test.create_stubs({api.tuskar.FlavorTemplate: ('get',)})
@test.create_stubs({tuskar.FlavorTemplate: ('get',)})
def test_detail_flavor_template(self):
template = self.tuskar_flavor_templates.first()
api.tuskar.FlavorTemplate.get(IsA(http.HttpRequest),
tuskar.FlavorTemplate.get(IsA(http.HttpRequest),
template.id).AndReturn(template)
api.tuskar.FlavorTemplate.resource_classes = self. \
tuskar.FlavorTemplate.resource_classes = self. \
tuskar_resource_classes
self.mox.ReplayAll()

View File

@ -16,20 +16,15 @@
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import url
from openstack_dashboard.dashboards.infrastructure. \
resource_management.flavors.views import ActiveInstancesDataView
from openstack_dashboard.dashboards.infrastructure. \
resource_management.flavors.views import CreateView
from openstack_dashboard.dashboards.infrastructure. \
resource_management.flavors.views import DetailEditView
from openstack_dashboard.dashboards.infrastructure. \
resource_management.flavors.views import DetailView
from openstack_dashboard.dashboards.infrastructure. \
resource_management.flavors.views import EditView
from tuskar_ui.infrastructure.resource_management.flavors.views import ActiveInstancesDataView
from tuskar_ui.infrastructure.resource_management.flavors.views import CreateView
from tuskar_ui.infrastructure.resource_management.flavors.views import DetailEditView
from tuskar_ui.infrastructure.resource_management.flavors.views import DetailView
from tuskar_ui.infrastructure.resource_management.flavors.views import EditView
FLAVORS = r'^(?P<flavor_id>[^/]+)/%s$'
VIEW_MOD = 'openstack_dashboard.dashboards.infrastructure.' \
VIEW_MOD = 'tuskar_ui.infrastructure.' \
'resource_management.flavors.views'
urlpatterns = patterns(VIEW_MOD,

View File

@ -29,12 +29,12 @@ from horizon import exceptions
from horizon import forms
from horizon import tabs
from openstack_dashboard import api
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui import api as tuskar
from tuskar_ui.infrastructure. \
resource_management.flavors.forms import CreateFlavor
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.flavors.forms import EditFlavor
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.flavors.tabs import FlavorDetailTabs
@ -64,7 +64,7 @@ class EditView(forms.ModalFormView):
def get_initial(self):
try:
flavor = api.tuskar.FlavorTemplate.get(
flavor = tuskar.FlavorTemplate.get(
self.request, self.kwargs['flavor_id'])
except:
exceptions.handle(self.request,
@ -100,7 +100,7 @@ class DetailView(tabs.TabView):
if not hasattr(self, "_flavor"):
try:
flavor_id = self.kwargs['flavor_id']
flavor = api.tuskar.FlavorTemplate.get(self.request, flavor_id)
flavor = tuskar.FlavorTemplate.get(self.request, flavor_id)
except:
redirect = reverse('horizon:infrastructure:'
'resource_management:index')
@ -122,7 +122,7 @@ class ActiveInstancesDataView(View):
def get(self, request, *args, **kwargs):
try:
flavor = api.tuskar.FlavorTemplate.get(
flavor = tuskar.FlavorTemplate.get(
self.request, self.kwargs['flavor_id'])
values = flavor.vms_over_time(
datetime.now() - timedelta(days=7), datetime.now())

View File

@ -16,7 +16,7 @@ from django.utils.translation import ugettext_lazy as _
from horizon import tables
from openstack_dashboard import api
from tuskar_ui import api as tuskar
class DeleteNodes(tables.DeleteAction):
@ -24,7 +24,7 @@ class DeleteNodes(tables.DeleteAction):
data_type_plural = _("Nodes")
def delete(self, request, obj_id):
api.tuskar.node_delete(request, obj_id)
tuskar.node_delete(request, obj_id)
class NodesFilterAction(tables.FilterAction):

View File

@ -3,7 +3,7 @@ from django import http
from mox import IsA
from openstack_dashboard import api
from tuskar_ui import api as tuskar
from openstack_dashboard.test import helpers as test
@ -11,11 +11,11 @@ class ResourceViewTests(test.BaseAdminViewTests):
unracked_page = reverse('horizon:infrastructure:'
'resource_management:nodes:unracked')
@test.create_stubs({api.tuskar.Node: ('list_unracked',), })
@test.create_stubs({tuskar.Node: ('list_unracked',), })
def test_unracked(self):
unracked_nodes = self.baremetal_unracked_nodes.list()
api.tuskar.Node.list_unracked(IsA(http.HttpRequest)) \
tuskar.Node.list_unracked(IsA(http.HttpRequest)) \
.AndReturn(unracked_nodes)
self.mox.ReplayAll()

View File

@ -15,15 +15,12 @@
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import url
from openstack_dashboard.dashboards.infrastructure. \
resource_management.nodes.views import DetailView
from openstack_dashboard.dashboards.infrastructure. \
resource_management.nodes.views import UnrackedView
from tuskar_ui.infrastructure.resource_management.nodes.views import DetailView
from tuskar_ui.infrastructure.resource_management.nodes.views import UnrackedView
NODES = r'^(?P<node_id>[^/]+)/%s$'
VIEW_MOD = 'openstack_dashboard.dashboards.infrastructure.' \
'resource_management.nodes.views'
VIEW_MOD = 'tuskar_ui.infrastructure.resource_management.nodes.views'
urlpatterns = patterns(VIEW_MOD,

View File

@ -19,11 +19,9 @@ from horizon import exceptions
from horizon import tables
from horizon import tabs
from openstack_dashboard import api
from openstack_dashboard.dashboards.infrastructure. \
resource_management.nodes.tables import UnrackedNodesTable
from openstack_dashboard.dashboards.infrastructure. \
resource_management.nodes.tabs import NodeDetailTabs
from tuskar_ui import api as tuskar
from tuskar_ui.infrastructure.resource_management.nodes.tables import UnrackedNodesTable
from tuskar_ui.infrastructure.resource_management.nodes.tabs import NodeDetailTabs
class UnrackedView(tables.DataTableView):
@ -32,7 +30,7 @@ class UnrackedView(tables.DataTableView):
def get_data(self):
try:
nodes = api.tuskar.Node.list_unracked(self.request)
nodes = tuskar.Node.list_unracked(self.request)
except:
nodes = []
exceptions.handle(self.request,
@ -53,7 +51,7 @@ class DetailView(tabs.TabView):
if not hasattr(self, "_node"):
try:
node_id = self.kwargs['node_id']
node = api.tuskar.Node.get(self.request, node_id)
node = tuskar.Node.get(self.request, node_id)
except:
redirect = reverse('horizon:infrastructure:'
'resource_management:index')

View File

@ -18,7 +18,7 @@ from django.utils.translation import ugettext_lazy as _
import horizon
from openstack_dashboard.dashboards.infrastructure import dashboard
from tuskar_ui.infrastructure import dashboard
class Resource_Management(horizon.Panel):

View File

@ -7,7 +7,7 @@ from horizon import exceptions
from horizon import forms
from horizon import messages
from openstack_dashboard import api
from tuskar_ui import api as tuskar
import base64
import csv
@ -64,10 +64,10 @@ class UploadRack(forms.SelfHandlingForm):
racks = CSVRack.from_str(base64.b64decode(racks_str))
# get the resource class ids by resource class names
rclass_ids = dict((rc.name, rc.id) for rc in
api.tuskar.ResourceClass.list(request))
tuskar.ResourceClass.list(request))
for rack in racks:
try:
api.tuskar.Rack.create(request, rack.name,
tuskar.Rack.create(request, rack.name,
rclass_ids[rack.resource_class],
rack.region, rack.subnet)
# FIXME: will have to handle nodes once proper attributes
@ -123,7 +123,7 @@ class UpdateRackStatus(forms.SelfHandlingForm):
action = request.GET.get('action')
if action == "provision":
api.tuskar.Rack.provision(
tuskar.Rack.provision(
request,
rack.id)
@ -138,7 +138,7 @@ class UpdateRackStatus(forms.SelfHandlingForm):
elif action == "shutdown":
rack.state = "off"
rack = api.tuskar.Rack.update(
rack = tuskar.Rack.update(
request,
rack.id,
{'state': rack.state}

View File

@ -18,7 +18,7 @@ from django.utils.translation import ugettext_lazy as _
from horizon import tables
from openstack_dashboard import api
from tuskar_ui import api as tuskar
LOG = logging.getLogger(__name__)
@ -28,7 +28,7 @@ class DeleteRacks(tables.DeleteAction):
data_type_plural = _("Racks")
def delete(self, request, obj_id):
api.tuskar.Rack.delete(request, obj_id)
tuskar.Rack.delete(request, obj_id)
class CreateRack(tables.LinkAction):
@ -65,7 +65,7 @@ class UpdateRow(tables.Row):
ajax = True
def get_data(self, request, rack_id):
rack = api.tuskar.Rack.get(request, rack_id)
rack = tuskar.Rack.get(request, rack_id)
return rack

View File

@ -17,7 +17,7 @@ from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tabs
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.nodes.tables import NodesTable

View File

@ -15,7 +15,8 @@ from django import http
from mox import IsA
from openstack_dashboard import api
from novaclient.v1_1.contrib import baremetal
from tuskar_ui import api as tuskar
from openstack_dashboard.test import helpers as test
import base64
@ -25,9 +26,9 @@ import tempfile
class RackViewTests(test.BaseAdminViewTests):
index_page = reverse('horizon:infrastructure:resource_management:index')
@test.create_stubs({api.tuskar.ResourceClass: ('list',)})
@test.create_stubs({tuskar.ResourceClass: ('list',)})
def test_create_rack_get(self):
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
@ -44,23 +45,23 @@ class RackViewTests(test.BaseAdminViewTests):
# FIXME (mawagner) - After moving EditRack to use workflows, we need
# to circle back and fix these tests.
#
@test.create_stubs({api.tuskar.Rack: ('list', 'create',),
api.tuskar.ResourceClass: ('list',),
api.tuskar.Node: ('create',)})
@test.create_stubs({tuskar.Rack: ('list', 'create',),
tuskar.ResourceClass: ('list',),
tuskar.Node: ('create',)})
def test_create_rack_post(self):
node = self.baremetal_nodes.first()
api.tuskar.Rack.list(
tuskar.Rack.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_racks.list())
api.tuskar.Node.create(
tuskar.Node.create(
IsA(http.request.HttpRequest),
'New Node', u'1', u'1024', u'10', 'aa:bb:cc:dd:ee',
u'', u'', u'', u'').AndReturn(node)
api.tuskar.Rack.create(
tuskar.Rack.create(
IsA(http.request.HttpRequest), 'New Rack',
u'1', 'Tokyo', '1.2.3.4', [{'id': '1'}]).AndReturn(None)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
@ -75,21 +76,21 @@ class RackViewTests(test.BaseAdminViewTests):
resp = self.client.post(url, data)
self.assertRedirectsNoFollow(resp, self.index_page)
@test.create_stubs({api.tuskar.Rack: ('get', 'list_nodes'),
api.tuskar.ResourceClass: ('list',)})
@test.create_stubs({tuskar.Rack: ('get', 'list_nodes'),
tuskar.ResourceClass: ('list',)})
def test_edit_rack_get(self):
rack = self.tuskar_racks.first()
api.tuskar.Rack.\
tuskar.Rack.\
get(IsA(http.HttpRequest), rack.id).\
MultipleTimes().AndReturn(rack)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
self.mox.ReplayAll()
api.tuskar.Rack.list_nodes = []
tuskar.Rack.list_nodes = []
url = reverse('horizon:infrastructure:resource_management:' +
'racks:edit', args=[1])
@ -98,8 +99,8 @@ class RackViewTests(test.BaseAdminViewTests):
self.assertTemplateUsed(res,
'horizon/common/_workflow_base.html')
@test.create_stubs({api.tuskar.Rack: ('get', 'list', 'update',),
api.tuskar.ResourceClass: ('list',)})
@test.create_stubs({tuskar.Rack: ('get', 'list', 'update',),
tuskar.ResourceClass: ('list',)})
def test_edit_rack_post(self):
rack = self.tuskar_racks.first()
@ -113,14 +114,14 @@ class RackViewTests(test.BaseAdminViewTests):
'node_name': 'New Node', 'prov_mac_address': 'aa:bb:cc:dd:ee',
'cpus': u'1', 'memory_mb': u'1024', 'local_gb': u'10'}
api.tuskar.Rack.get(
tuskar.Rack.get(
IsA(http.HttpRequest), rack.id).MultipleTimes().\
AndReturn(rack)
api.tuskar.Rack.list(
tuskar.Rack.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_racks.list())
api.tuskar.Rack.update(IsA(http.HttpRequest), rack.id, rack_data)
api.tuskar.ResourceClass.list(
tuskar.Rack.update(IsA(http.HttpRequest), rack.id, rack_data)
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
@ -133,12 +134,12 @@ class RackViewTests(test.BaseAdminViewTests):
self.assertMessageCount(success=1)
self.assertRedirectsNoFollow(response, self.index_page)
@test.create_stubs({api.tuskar.Rack: ('delete', 'list')})
@test.create_stubs({tuskar.Rack: ('delete', 'list')})
def test_delete_rack(self):
rack_id = u'1'
api.tuskar.Rack.delete(IsA(http.request.HttpRequest), rack_id) \
tuskar.Rack.delete(IsA(http.request.HttpRequest), rack_id) \
.AndReturn(None)
api.tuskar.Rack.list(
tuskar.Rack.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_racks.list())
@ -186,12 +187,12 @@ class RackViewTests(test.BaseAdminViewTests):
self.assertEqual(resp.context['form']['uploaded_data'].value(),
None)
@test.create_stubs({api.tuskar.Rack: ('create',),
api.tuskar.ResourceClass: ('list',)})
@test.create_stubs({tuskar.Rack: ('create',),
tuskar.ResourceClass: ('list',)})
def test_upload_rack_create(self):
api.tuskar.Rack.create(IsA(http.request.HttpRequest), 'Rack1',
tuskar.Rack.create(IsA(http.request.HttpRequest), 'Rack1',
'1', 'regionX', '192.168.111.0/24').AndReturn(None)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
self.mox.ReplayAll()

View File

@ -15,25 +15,24 @@
from django.conf.urls import patterns
from django.conf.urls import url
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import CreateView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import DetailEditView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import DetailView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import EditRackStatusView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import EditView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import UploadView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.views import UsageDataView
RACKS = r'^(?P<rack_id>[^/]+)/%s$'
VIEW_MOD = 'openstack_dashboard.dashboards.infrastructure.' \
'resource_management.racks.views'
VIEW_MOD = 'tuskar_ui.infrastructure.resource_management.racks.views'
urlpatterns = patterns(VIEW_MOD,

View File

@ -32,20 +32,20 @@ from horizon import forms
from horizon import tabs
from horizon import workflows
from openstack_dashboard import api
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui import api as tuskar
from tuskar_ui.infrastructure. \
resource_management.racks.forms import UpdateRackStatus
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.forms import UploadRack
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.tabs import RackDetailTabs
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.tables import UploadRacksTable
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.workflows import CreateRack
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.workflows import DetailEditRack
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.workflows import EditRack
@ -76,7 +76,7 @@ class EditView(workflows.WorkflowView):
workflow_class = EditRack
def get_initial(self):
obj = api.tuskar.Rack.get(self.request, self.kwargs['rack_id'])
obj = tuskar.Rack.get(self.request, self.kwargs['rack_id'])
# mac_str = "\n".join([x.mac_address for x in obj.list_nodes])
return {'name': obj.name, 'resource_class_id': obj.resource_class_id,
'location': obj.location, 'subnet': obj.subnet,
@ -103,7 +103,7 @@ class EditRackStatusView(forms.ModalFormView):
def get_initial(self):
try:
rack = api.tuskar.Rack.get(
rack = tuskar.Rack.get(
self.request, self.kwargs['rack_id'])
action = self.request.GET.get('action')
except:
@ -126,7 +126,7 @@ class DetailView(tabs.TabView):
if not hasattr(self, "_rack"):
try:
rack_id = self.kwargs['rack_id']
rack = api.tuskar.Rack.get(self.request, rack_id)
rack = tuskar.Rack.get(self.request, rack_id)
except:
redirect = reverse('horizon:infrastructure:'
'resource_management:index')
@ -191,7 +191,7 @@ def top_communicating(request, rack_id=None):
"Normal level of communication",
"Low level of communication"]
rack = api.tuskar.Rack.get(request, rack_id)
rack = tuskar.Rack.get(request, rack_id)
for node in rack.nodes:
status = random.randint(0, 3)
percentage = random.randint(0, 100)
@ -227,7 +227,7 @@ def node_health(request, rack_id=None):
statuses = ["Good", "Warnings", "Disaster"]
colors = ["rgb(244,244,244)", "rgb(240,170,0)", "rgb(200,0,0)"]
rack = api.tuskar.Rack.get(request, rack_id)
rack = tuskar.Rack.get(request, rack_id)
for node in rack.nodes:
rand_index = random.randint(0, 2)
@ -254,7 +254,7 @@ def node_health(request, rack_id=None):
def check_state(request, rack_id=None):
rack = api.tuskar.Rack.get(request, rack_id)
rack = tuskar.Rack.get(request, rack_id)
res = {'state': rack.state}

View File

@ -19,7 +19,7 @@ from horizon import exceptions
from horizon import forms
from horizon import workflows
from openstack_dashboard import api
from tuskar_ui import api as tuskar
class NodeCreateAction(workflows.Action):
@ -67,7 +67,7 @@ class NodeEditAction(NodeCreateAction):
super(NodeEditAction, self).__init__(request, *args, **kwargs)
# TODO(Resolve node edits)
#rack_id = self.initial['rack_id']
#rack = api.tuskar.Rack.get(request, rack_id)
#rack = tuskar.Rack.get(request, rack_id)
#nodes = rack.list_nodes
@ -89,7 +89,7 @@ class RackCreateInfoAction(workflows.Action):
rack_id = self.initial.get('rack_id', None)
subnet = cleaned_data.get('subnet')
try:
racks = api.tuskar.Rack.list(self.request)
racks = tuskar.Rack.list(self.request)
except:
racks = []
exceptions.check_message(['Connection', 'refused'],
@ -113,7 +113,7 @@ class RackCreateInfoAction(workflows.Action):
def __init__(self, request, *args, **kwargs):
super(RackCreateInfoAction, self).__init__(request, *args, **kwargs)
resource_class_id_choices = [('', _("Select a Resource Class"))]
for rc in api.tuskar.ResourceClass.list(request):
for rc in tuskar.ResourceClass.list(request):
resource_class_id_choices.append((rc.id, rc.name))
self.fields['resource_class_id'].choices = resource_class_id_choices
@ -162,7 +162,7 @@ class CreateRack(workflows.Workflow):
def handle(self, request, data):
try:
if data['node_name'] is not None:
node = api.tuskar.Node.create(
node = tuskar.Node.create(
request, data['node_name'],
data['cpus'], data['memory_mb'],
data['local_gb'], data['prov_mac_address'],
@ -174,7 +174,7 @@ class CreateRack(workflows.Workflow):
node_id = None
# Then, register the Rack, including the node if it exists
api.tuskar.Rack.create(request, data['name'],
tuskar.Rack.create(request, data['name'],
data['resource_class_id'],
data['location'],
data['subnet'],
@ -196,7 +196,7 @@ class EditRack(CreateRack):
def handle(self, request, data):
try:
rack_id = self.context['rack_id']
api.tuskar.Rack.update(request, rack_id, data)
tuskar.Rack.update(request, rack_id, data)
return True
except:
exceptions.handle(request, _("Unable to update rack."))

View File

@ -5,7 +5,7 @@ from horizon import exceptions
from horizon import forms
from horizon import messages
from openstack_dashboard import api
from tuskar_ui import api as tuskar
import logging
@ -40,8 +40,8 @@ class DeleteCommand(object):
def execute(self):
try:
api.tuskar.ResourceClass.delete(self.request,
self.resource_class.id)
tuskar.ResourceClass.delete(self.request,
self.resource_class.id)
self.msg = (_('Successfully deleted Class "%s".')
% self.resource_class.name)
except:

View File

@ -20,15 +20,14 @@ from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tables
from tuskar_ui import api
from tuskar_ui import api as tuskar
import tuskar_ui.tables
from tuskar_ui.forms import NumberInput
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.flavors import tables as flavors_tables
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks import tables as racks_tables
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management import resource_classes
@ -55,7 +54,7 @@ class DeleteResourceClass(tables.DeleteAction):
def delete(self, request, obj_id):
try:
api.tuskar.ResourceClass.delete(request, obj_id)
tuskar.ResourceClass.delete(request, obj_id)
except:
msg = _('Failed to delete resource class %s') % obj_id
LOG.info(msg)

View File

@ -17,9 +17,9 @@ from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tabs
from openstack_dashboard.dashboards.infrastructure.resource_management. \
from tuskar_ui.infrastructure.resource_management. \
resource_classes.tables import RacksTable
from openstack_dashboard.dashboards.infrastructure.resource_management. \
from tuskar_ui.infrastructure.resource_management. \
resource_classes.tables import ResourceClassDetailFlavorsTable

View File

@ -15,27 +15,27 @@
from django.core.urlresolvers import reverse
from django import http
from mox import IsA
from openstack_dashboard import api
from tuskar_ui import api as tuskar
from openstack_dashboard.test import helpers as test
class ResourceClassViewTests(test.BaseAdminViewTests):
@test.create_stubs({
api.tuskar.FlavorTemplate: ('list',),
api.tuskar.Rack: ('list',),
api.tuskar.ResourceClass: ('get',)
tuskar.FlavorTemplate: ('list',),
tuskar.Rack: ('list',),
tuskar.ResourceClass: ('get',)
})
def test_create_resource_class_get(self):
all_templates = self.tuskar_flavor_templates.list()
all_racks = self.tuskar_racks.list()
rc = self.tuskar_resource_classes.first()
api.tuskar.FlavorTemplate.\
tuskar.FlavorTemplate.\
list(IsA(http.HttpRequest)).AndReturn(all_templates)
api.tuskar.Rack.\
tuskar.Rack.\
list(IsA(http.HttpRequest), True).AndReturn(all_racks)
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
get(IsA(http.HttpRequest), rc.id).AndReturn(rc)
self.mox.ReplayAll()
@ -46,7 +46,7 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
self.assertEqual(res.status_code, 200)
@test.create_stubs({
api.tuskar.ResourceClass: ('list', 'create', 'set_racks'),
tuskar.ResourceClass: ('list', 'create', 'set_racks'),
})
def test_create_resource_class_post(self):
new_resource_class = self.tuskar_resource_classes.first()
@ -58,12 +58,12 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
api.tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
create(IsA(http.HttpRequest), name=new_unique_name,
service_type=new_resource_class.service_type,
flavors=new_flavors).\
AndReturn(new_resource_class)
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
set_racks(IsA(http.HttpRequest), add_racks_ids)
self.mox.ReplayAll()
@ -87,7 +87,7 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
all_flavors = []
all_racks = []
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
get(IsA(http.HttpRequest), resource_class.id).MultipleTimes().\
AndReturn(resource_class)
@ -96,9 +96,9 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
# FIXME I should probably track the racks and flavors methods
# so maybe they shouldn't be a @property
# properties set
api.tuskar.ResourceClass.all_racks = all_racks
api.tuskar.ResourceClass.all_flavors = all_flavors
api.tuskar.ResourceClass.list_flavors = all_flavors
tuskar.ResourceClass.all_racks = all_racks
tuskar.ResourceClass.all_flavors = all_flavors
tuskar.ResourceClass.list_flavors = all_flavors
url = reverse(
'horizon:infrastructure:resource_management:'
@ -108,27 +108,27 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
self.assertEqual(res.status_code, 200)
@test.create_stubs({
api.tuskar.ResourceClass: ('get', 'list', 'update', 'set_racks')
tuskar.ResourceClass: ('get', 'list', 'update', 'set_racks')
})
def test_edit_resource_class_post(self):
resource_class = self.tuskar_resource_classes.first()
add_racks_ids = []
api.tuskar.ResourceClass.get(
tuskar.ResourceClass.get(
IsA(http.HttpRequest),
resource_class.id).\
AndReturn(resource_class)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
update(IsA(http.HttpRequest), resource_class.id,
name=resource_class.name,
service_type=resource_class.service_type,
flavors=[]).\
AndReturn(resource_class)
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
set_racks(IsA(http.HttpRequest), add_racks_ids)
self.mox.ReplayAll()
@ -145,15 +145,15 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
("%s?tab=resource_management_tabs__resource_classes_tab" %
reverse("horizon:infrastructure:resource_management:index")))
@test.create_stubs({api.tuskar.ResourceClass: ('delete', 'list')})
@test.create_stubs({tuskar.ResourceClass: ('delete', 'list')})
def test_delete_resource_class(self):
resource_class = self.tuskar_resource_classes.first()
all_resource_classes = self.tuskar_resource_classes.list()
api.tuskar.ResourceClass.delete(
tuskar.ResourceClass.delete(
IsA(http.HttpRequest),
resource_class.id)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.HttpRequest)).\
AndReturn(all_resource_classes)
self.mox.ReplayAll()
@ -167,21 +167,21 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
res, reverse('horizon:infrastructure:resource_management:index'))
@test.create_stubs({
api.tuskar.ResourceClass: ('get', 'list_flavors', 'list_racks')
tuskar.ResourceClass: ('get', 'list_flavors', 'list_racks')
})
def test_detail_get(self):
resource_class = self.tuskar_resource_classes.first()
flavors = []
racks = []
api.tuskar.ResourceClass.get(
tuskar.ResourceClass.get(
IsA(http.HttpRequest),
resource_class.id).\
MultipleTimes().AndReturn(resource_class)
self.mox.ReplayAll()
api.tuskar.ResourceClass.list_flavors = flavors
api.tuskar.ResourceClass.list_racks = racks
tuskar.ResourceClass.list_flavors = flavors
tuskar.ResourceClass.list_racks = racks
url = reverse('horizon:infrastructure:resource_management:'
'resource_classes:detail', args=[resource_class.id])
@ -202,7 +202,7 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
all_flavors = []
all_racks = []
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
get(IsA(http.HttpRequest), resource_class.id).\
MultipleTimes().AndReturn(resource_class)
self.mox.ReplayAll()
@ -210,9 +210,9 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
# FIXME I should probably track the racks and flavors methods
# so maybe they shouldn't be a @property
# properties set
api.tuskar.ResourceClass.all_racks = all_racks
api.tuskar.ResourceClass.all_flavors = all_flavors
api.tuskar.ResourceClass.list_flavors = all_flavors
tuskar.ResourceClass.all_racks = all_racks
tuskar.ResourceClass.all_flavors = all_flavors
tuskar.ResourceClass.list_flavors = all_flavors
url = reverse(
'horizon:infrastructure:resource_management:'
@ -222,27 +222,27 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
self.assertEqual(res.status_code, 200)
@test.create_stubs({
api.tuskar.ResourceClass: ('get', 'list', 'update', 'set_racks')
tuskar.ResourceClass: ('get', 'list', 'update', 'set_racks')
})
def test_detail_edit_racks_post(self):
resource_class = self.tuskar_resource_classes.first()
add_racks_ids = []
api.tuskar.ResourceClass.get(
tuskar.ResourceClass.get(
IsA(http.HttpRequest),
resource_class.id).\
AndReturn(resource_class)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
update(IsA(http.HttpRequest), resource_class.id,
name=resource_class.name,
service_type=resource_class.service_type,
flavors=[]).\
AndReturn(resource_class)
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
set_racks(IsA(http.HttpRequest), add_racks_ids)
self.mox.ReplayAll()
@ -271,7 +271,7 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
all_flavors = []
all_racks = []
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
get(IsA(http.HttpRequest), resource_class.id).\
MultipleTimes().AndReturn(resource_class)
self.mox.ReplayAll()
@ -279,9 +279,9 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
# FIXME I should probably track the racks and flavors methods
# so maybe they shouldn't be a @property
# properties set
api.tuskar.ResourceClass.all_racks = all_racks
api.tuskar.ResourceClass.all_flavors = all_flavors
api.tuskar.ResourceClass.list_flavors = all_flavors
tuskar.ResourceClass.all_racks = all_racks
tuskar.ResourceClass.all_flavors = all_flavors
tuskar.ResourceClass.list_flavors = all_flavors
url = reverse(
'horizon:infrastructure:resource_management:'
@ -291,27 +291,27 @@ class ResourceClassViewTests(test.BaseAdminViewTests):
self.assertEqual(res.status_code, 200)
@test.create_stubs({
api.tuskar.ResourceClass: ('get', 'list', 'update', 'set_racks')
tuskar.ResourceClass: ('get', 'list', 'update', 'set_racks')
})
def test_detail_edit_flavors_post(self):
resource_class = self.tuskar_resource_classes.first()
add_racks_ids = []
api.tuskar.ResourceClass.get(
tuskar.ResourceClass.get(
IsA(http.HttpRequest),
resource_class.id).\
AndReturn(resource_class)
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.request.HttpRequest)).AndReturn(
self.tuskar_resource_classes.list())
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
update(IsA(http.HttpRequest), resource_class.id,
name=resource_class.name,
service_type=resource_class.service_type,
flavors=[]).\
AndReturn(resource_class)
api.tuskar.ResourceClass.\
tuskar.ResourceClass.\
set_racks(IsA(http.HttpRequest), add_racks_ids)
self.mox.ReplayAll()

View File

@ -15,29 +15,29 @@
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import url
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import CreateView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import DetailActionView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import DetailUpdateView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import DetailView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import UpdateFlavorsView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import UpdateRacksView
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.views import UpdateView
RESOURCE_CLASS = r'^(?P<resource_class_id>[^/]+)/%s$'
VIEW_MOD = 'openstack_dashboard.dashboards.infrastructure.' \
VIEW_MOD = 'tuskar_ui.infrastructure.' \
'resource_management.resource_classes.views'
urlpatterns = patterns(
VIEW_MOD,
url(r'^create$', CreateView.as_view(), name='create'),
url(r'^create/$', CreateView.as_view(), name='create'),
url(r'^(?P<resource_class_id>[^/]+)/$',
DetailView.as_view(), name='detail'),
url(RESOURCE_CLASS % 'update', UpdateView.as_view(), name='update'),

View File

@ -32,21 +32,21 @@ from horizon import forms
from horizon import tabs
from horizon import workflows
from openstack_dashboard import api
from tuskar_ui import api as tuskar
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.forms import DeleteForm
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.tabs import ResourceClassDetailTabs
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.workflows import CreateResourceClass
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.workflows import DetailUpdateWorkflow
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.workflows import UpdateFlavorsWorkflow
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.workflows import UpdateRacksWorkflow
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.workflows import UpdateResourceClass
@ -73,8 +73,8 @@ class UpdateView(workflows.WorkflowView):
resource_class_id = self.kwargs['resource_class_id']
try:
self._object = \
api.tuskar.ResourceClass.get(self.request,
resource_class_id)
tuskar.ResourceClass.get(self.request,
resource_class_id)
except:
redirect = self.success_url
msg = _('Unable to retrieve resource class details.')
@ -116,9 +116,8 @@ class DetailView(tabs.TabView):
if not hasattr(self, "_resource_class"):
try:
resource_class_id = self.kwargs['resource_class_id']
resource_class = api.tuskar.\
ResourceClass.get(self.request,
resource_class_id)
resource_class = tuskar.ResourceClass.get(self.request,
resource_class_id)
except:
redirect = reverse('horizon:infrastructure:'
'resource_management:index')
@ -166,7 +165,7 @@ class DetailActionView(forms.ModalFormView):
def get_initial(self):
try:
resource_class = api.tuskar.ResourceClass.get(
resource_class = tuskar.ResourceClass.get(
self.request, self.kwargs['resource_class_id'])
action = self.request.GET.get('action')
except:
@ -183,9 +182,8 @@ def rack_health(request, resource_class_id=None):
statuses = ["Good", "Warnings", "Disaster"]
colors = ["rgb(244,244,244)", "rgb(240,170,0)", "rgb(200,0,0)"]
resource_class = (api.tuskar.
ResourceClass.get(request,
resource_class_id))
resource_class = (tuskar.ResourceClass.get(request,
resource_class_id))
for rack in resource_class.list_racks:
rand_index = random.randint(0, 2)

View File

@ -20,14 +20,14 @@ from horizon import exceptions
from horizon import forms
from horizon import workflows
from tuskar_ui import api
from tuskar_ui import api as tuskar
import tuskar_ui.workflows
import re
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.tables import FlavorsTable
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.tables import RacksTable
@ -61,7 +61,7 @@ class ResourceClassInfoAndFlavorsAction(workflows.Action):
name = cleaned_data.get('name')
resource_class_id = self.initial.get('resource_class_id', None)
try:
resource_classes = api.tuskar.ResourceClass.list(self.request)
resource_classes = tuskar.ResourceClass.list(self.request)
except:
resource_classes = []
msg = _('Unable to get resource class list')
@ -116,7 +116,7 @@ class CreateResourceClassInfoAndFlavors(tuskar_ui.workflows.TableStep):
try:
resource_class_id = self.workflow.context.get("resource_class_id")
if resource_class_id:
resource_class = api.tuskar.ResourceClass.get(
resource_class = tuskar.ResourceClass.get(
self.workflow.request,
resource_class_id)
@ -126,7 +126,7 @@ class CreateResourceClassInfoAndFlavors(tuskar_ui.workflows.TableStep):
all_flavors = resource_class.all_flavors
else:
all_flavors = api.tuskar.FlavorTemplate.list(
all_flavors = tuskar.FlavorTemplate.list(
self.workflow.request)
except Exception:
all_flavors = []
@ -160,7 +160,7 @@ class CreateRacks(tuskar_ui.workflows.TableStep):
try:
resource_class_id = self.workflow.context.get("resource_class_id")
if resource_class_id:
resource_class = api.tuskar.ResourceClass.get(
resource_class = tuskar.ResourceClass.get(
self.workflow.request,
resource_class_id)
# TODO(lsmola ugly interface, rewrite)
@ -170,7 +170,7 @@ class CreateRacks(tuskar_ui.workflows.TableStep):
resource_class.all_racks
else:
racks = \
api.tuskar.Rack.list(self.workflow.request, True)
tuskar.Rack.list(self.workflow.request, True)
except:
racks = []
exceptions.handle(self.workflow.request,
@ -207,7 +207,7 @@ class ResourceClassWorkflowMixin:
max_vms = data.get('max_vms')
resource_class_name = data['name']
for template_id in flavor_ids:
template = api.tuskar.FlavorTemplate.get(request, template_id)
template = tuskar.FlavorTemplate.get(request, template_id)
capacities = []
for c in template.capacities:
capacities.append({'name': c.name,
@ -239,7 +239,7 @@ class CreateResourceClass(ResourceClassWorkflowMixin, workflows.Workflow):
def _create_resource_class_info(self, request, data):
try:
flavors = self._get_flavors(request, data)
return api.tuskar.ResourceClass.create(
return tuskar.ResourceClass.create(
request,
name=data['name'],
service_type=data['service_type'],
@ -278,7 +278,7 @@ class UpdateResourceClass(ResourceClassWorkflowMixin, workflows.Workflow):
def _update_resource_class_info(self, request, data):
try:
flavors = self._get_flavors(request, data)
return api.tuskar.ResourceClass.update(
return tuskar.ResourceClass.update(
request,
data['resource_class_id'],
name=data['name'],

View File

@ -22,9 +22,9 @@ from horizon import tabs
from tuskar_ui import api as tuskar
from tuskar_ui.infrastructure. \
resource_management.flavors.tables import FlavorsTable
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks.tables import RacksTable
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes.tables import ResourceClassesTable

View File

@ -19,7 +19,7 @@ from django import http
from mox import IsA
from openstack_dashboard import api
from tuskar_ui import api as tuskar
from openstack_dashboard.test import helpers as test
@ -28,16 +28,16 @@ class ResourceManagementTests(test.BaseAdminViewTests):
super(ResourceManagementTests, self).setUp()
@test.create_stubs({
api.tuskar.ResourceClass: (
tuskar.ResourceClass: (
'get',
'list',
'list_racks',
'nodes'),
api.tuskar.FlavorTemplate: (
tuskar.FlavorTemplate: (
'list',),
api.tuskar.Node: (
tuskar.Node: (
'list',),
api.tuskar.Rack: (
tuskar.Rack: (
'list',)})
def test_index(self):
@ -47,14 +47,14 @@ class ResourceManagementTests(test.BaseAdminViewTests):
nodes = []
racks = []
api.tuskar.ResourceClass.nodes = nodes
api.tuskar.ResourceClass.list_racks = racks
tuskar.ResourceClass.nodes = nodes
tuskar.ResourceClass.list_racks = racks
api.tuskar.ResourceClass.list(
tuskar.ResourceClass.list(
IsA(http.HttpRequest)).\
AndReturn(resource_classes)
api.tuskar.ResourceClass.get(
tuskar.ResourceClass.get(
IsA(http.HttpRequest), resource_class.id).\
AndReturn(resource_class)
# ResourceClass stubs end
@ -62,14 +62,14 @@ class ResourceManagementTests(test.BaseAdminViewTests):
# Rack stubs
racks = self.tuskar_racks.list()
api.tuskar.Rack.list(IsA(http.HttpRequest)).AndReturn(racks)
api.tuskar.Node.list(IsA(http.HttpRequest)).AndReturn(nodes)
tuskar.Rack.list(IsA(http.HttpRequest)).AndReturn(racks)
tuskar.Node.list(IsA(http.HttpRequest)).AndReturn(nodes)
# Rack stubs end
# FlavorTemplate stubs
flavors = self.tuskar_flavors.list()
api.tuskar.FlavorTemplate.list(IsA(http.HttpRequest)).AndReturn(
tuskar.FlavorTemplate.list(IsA(http.HttpRequest)).AndReturn(
flavors)
# FlavorTemplate stubs end

View File

@ -18,15 +18,15 @@ from django.conf.urls.defaults import include
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import url
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.flavors import urls as flavor_urls
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.nodes import urls as node_urls
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.racks import urls as rack_urls
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.resource_classes import urls as resource_classes_urls
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.views import IndexView
urlpatterns = patterns('',

View File

@ -21,7 +21,7 @@ Views for Resource Management.
from horizon import tabs
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
resource_management.tabs import ResourceManagementTabs

View File

@ -18,7 +18,7 @@ from django.utils.translation import ugettext_lazy as _
import horizon
#from openstack_dashboard.dashboards.infrastructure import dashboard
#from tuskar_ui.infrastructure import dashboard
class Service_Management(horizon.Panel):

View File

@ -17,7 +17,7 @@
from django.conf.urls.defaults import patterns
from django.conf.urls.defaults import url
from openstack_dashboard.dashboards.infrastructure. \
from tuskar_ui.infrastructure. \
service_management.views import IndexView