From 1839264f2a0b7afa69209d1a6a4d3041fa6cde96 Mon Sep 17 00:00:00 2001 From: Tomas Sedovic Date: Fri, 9 Aug 2013 14:40:52 +0200 Subject: Fix the tuskar api imports Signed-off-by: Tomas Sedovic --- .../resource_management/flavors/forms.py | 8 +- .../resource_management/flavors/tables.py | 4 +- .../resource_management/flavors/tests.py | 32 ++++---- .../resource_management/flavors/views.py | 8 +- .../resource_management/nodes/tables.py | 4 +- .../resource_management/nodes/tests.py | 6 +- .../resource_management/nodes/views.py | 6 +- .../resource_management/racks/forms.py | 10 +-- .../resource_management/racks/tables.py | 6 +- .../resource_management/racks/tests.py | 52 ++++++------ .../resource_management/racks/views.py | 14 ++-- .../resource_management/racks/workflows.py | 14 ++-- .../resource_management/resource_classes/forms.py | 6 +- .../resource_management/resource_classes/tables.py | 4 +- .../resource_management/resource_classes/tests.py | 94 +++++++++++----------- .../resource_management/resource_classes/urls.py | 2 +- .../resource_management/resource_classes/views.py | 18 ++--- .../resource_classes/workflows.py | 18 ++--- .../infrastructure/resource_management/tests.py | 24 +++--- 19 files changed, 164 insertions(+), 166 deletions(-) diff --git a/tuskar_ui/infrastructure/resource_management/flavors/forms.py b/tuskar_ui/infrastructure/resource_management/flavors/forms.py index 3c7f2a82..6e4eb3a1 100644 --- a/tuskar_ui/infrastructure/resource_management/flavors/forms.py +++ b/tuskar_ui/infrastructure/resource_management/flavors/forms.py @@ -19,7 +19,7 @@ from horizon import exceptions from horizon import forms from horizon import messages -from tuskar_ui 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'], diff --git a/tuskar_ui/infrastructure/resource_management/flavors/tables.py b/tuskar_ui/infrastructure/resource_management/flavors/tables.py index e654d959..305e29bd 100644 --- a/tuskar_ui/infrastructure/resource_management/flavors/tables.py +++ b/tuskar_ui/infrastructure/resource_management/flavors/tables.py @@ -19,7 +19,7 @@ from django.utils.translation import ugettext_lazy as _ from horizon import tables -from tuskar_ui 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): diff --git a/tuskar_ui/infrastructure/resource_management/flavors/tests.py b/tuskar_ui/infrastructure/resource_management/flavors/tests.py index 9a720f4b..deba53cd 100644 --- a/tuskar_ui/infrastructure/resource_management/flavors/tests.py +++ b/tuskar_ui/infrastructure/resource_management/flavors/tests.py @@ -2,19 +2,19 @@ from django.core.urlresolvers import reverse from django import http from mox import IsA -from tuskar_ui 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() diff --git a/tuskar_ui/infrastructure/resource_management/flavors/views.py b/tuskar_ui/infrastructure/resource_management/flavors/views.py index 49f51c55..59e61771 100644 --- a/tuskar_ui/infrastructure/resource_management/flavors/views.py +++ b/tuskar_ui/infrastructure/resource_management/flavors/views.py @@ -29,7 +29,7 @@ from horizon import exceptions from horizon import forms from horizon import tabs -from tuskar_ui import api +from tuskar_ui import api as tuskar from tuskar_ui.infrastructure. \ resource_management.flavors.forms import CreateFlavor from tuskar_ui.infrastructure. \ @@ -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()) diff --git a/tuskar_ui/infrastructure/resource_management/nodes/tables.py b/tuskar_ui/infrastructure/resource_management/nodes/tables.py index 7943c4d1..f4a385fb 100644 --- a/tuskar_ui/infrastructure/resource_management/nodes/tables.py +++ b/tuskar_ui/infrastructure/resource_management/nodes/tables.py @@ -16,7 +16,7 @@ from django.utils.translation import ugettext_lazy as _ from horizon import tables -from tuskar_ui 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): diff --git a/tuskar_ui/infrastructure/resource_management/nodes/tests.py b/tuskar_ui/infrastructure/resource_management/nodes/tests.py index c1622a18..d475441e 100644 --- a/tuskar_ui/infrastructure/resource_management/nodes/tests.py +++ b/tuskar_ui/infrastructure/resource_management/nodes/tests.py @@ -3,7 +3,7 @@ from django import http from mox import IsA -from tuskar_ui 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.tuskar_racks.list() - api.tuskar.Node.list_unracked(IsA(http.HttpRequest)) \ + tuskar.Node.list_unracked(IsA(http.HttpRequest)) \ .AndReturn(unracked_nodes) self.mox.ReplayAll() diff --git a/tuskar_ui/infrastructure/resource_management/nodes/views.py b/tuskar_ui/infrastructure/resource_management/nodes/views.py index 9c7d9473..93750b7b 100644 --- a/tuskar_ui/infrastructure/resource_management/nodes/views.py +++ b/tuskar_ui/infrastructure/resource_management/nodes/views.py @@ -19,7 +19,7 @@ from horizon import exceptions from horizon import tables from horizon import tabs -from tuskar_ui import api +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 @@ -30,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, @@ -51,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') diff --git a/tuskar_ui/infrastructure/resource_management/racks/forms.py b/tuskar_ui/infrastructure/resource_management/racks/forms.py index 265f98f8..0cc07e33 100644 --- a/tuskar_ui/infrastructure/resource_management/racks/forms.py +++ b/tuskar_ui/infrastructure/resource_management/racks/forms.py @@ -7,7 +7,7 @@ from horizon import exceptions from horizon import forms from horizon import messages -from tuskar_ui 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} diff --git a/tuskar_ui/infrastructure/resource_management/racks/tables.py b/tuskar_ui/infrastructure/resource_management/racks/tables.py index 1075255d..ed2d44e9 100644 --- a/tuskar_ui/infrastructure/resource_management/racks/tables.py +++ b/tuskar_ui/infrastructure/resource_management/racks/tables.py @@ -18,7 +18,7 @@ from django.utils.translation import ugettext_lazy as _ from horizon import tables -from tuskar_ui 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 diff --git a/tuskar_ui/infrastructure/resource_management/racks/tests.py b/tuskar_ui/infrastructure/resource_management/racks/tests.py index 4bae1304..d5c7c643 100644 --- a/tuskar_ui/infrastructure/resource_management/racks/tests.py +++ b/tuskar_ui/infrastructure/resource_management/racks/tests.py @@ -17,7 +17,7 @@ from mox import IsA from novaclient.v1_1.contrib import baremetal -from tuskar_ui import api +from tuskar_ui import api as tuskar from openstack_dashboard.test import helpers as test import base64 @@ -27,9 +27,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()) @@ -46,20 +46,20 @@ 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',), + @test.create_stubs({tuskar.Rack: ('list', 'create',), + tuskar.ResourceClass: ('list',), baremetal.BareMetalNodeManager: ('create',)}) def test_create_rack_post(self): - api.tuskar.Rack.list( + tuskar.Rack.list( IsA(http.request.HttpRequest)).AndReturn( self.tuskar_racks.list()) baremetal.BareMetalNodeManager.create( 'New Node', u'1', u'1024', u'10', 'aa:bb:cc:dd:ee', u'', u'', u'', u'').AndReturn(None) - api.tuskar.Rack.create( + tuskar.Rack.create( IsA(http.request.HttpRequest), 'New Rack', u'1', 'Tokyo', '1.2.3.4', [{'id': None}]).AndReturn(None) - api.tuskar.ResourceClass.list( + tuskar.ResourceClass.list( IsA(http.request.HttpRequest)).AndReturn( self.tuskar_resource_classes.list()) @@ -74,21 +74,21 @@ class RackViewTests(test.BaseAdminViewTests): resp = self.client.post(url, data) self.assertRedirectsNoFollow(resp, self.index_page) - @test.create_stubs({api.tuskar.Rack: ('get',), - api.tuskar.ResourceClass: ('list',)}) + @test.create_stubs({tuskar.Rack: ('get',), + 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]) @@ -97,8 +97,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() @@ -112,14 +112,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()) @@ -132,12 +132,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()) @@ -185,12 +185,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() diff --git a/tuskar_ui/infrastructure/resource_management/racks/views.py b/tuskar_ui/infrastructure/resource_management/racks/views.py index dc3fe535..9f2246d8 100644 --- a/tuskar_ui/infrastructure/resource_management/racks/views.py +++ b/tuskar_ui/infrastructure/resource_management/racks/views.py @@ -32,7 +32,7 @@ from horizon import forms from horizon import tabs from horizon import workflows -from tuskar_ui import api +from tuskar_ui import api as tuskar from tuskar_ui.infrastructure. \ resource_management.racks.forms import UpdateRackStatus from tuskar_ui.infrastructure. \ @@ -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} diff --git a/tuskar_ui/infrastructure/resource_management/racks/workflows.py b/tuskar_ui/infrastructure/resource_management/racks/workflows.py index 4a823125..6b583235 100644 --- a/tuskar_ui/infrastructure/resource_management/racks/workflows.py +++ b/tuskar_ui/infrastructure/resource_management/racks/workflows.py @@ -19,7 +19,7 @@ from horizon import exceptions from horizon import forms from horizon import workflows -from tuskar_ui 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.")) diff --git a/tuskar_ui/infrastructure/resource_management/resource_classes/forms.py b/tuskar_ui/infrastructure/resource_management/resource_classes/forms.py index 84109955..7a1ca9f9 100644 --- a/tuskar_ui/infrastructure/resource_management/resource_classes/forms.py +++ b/tuskar_ui/infrastructure/resource_management/resource_classes/forms.py @@ -5,7 +5,7 @@ from horizon import exceptions from horizon import forms from horizon import messages -from tuskar_ui 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: diff --git a/tuskar_ui/infrastructure/resource_management/resource_classes/tables.py b/tuskar_ui/infrastructure/resource_management/resource_classes/tables.py index d1228923..bdfba995 100644 --- a/tuskar_ui/infrastructure/resource_management/resource_classes/tables.py +++ b/tuskar_ui/infrastructure/resource_management/resource_classes/tables.py @@ -20,7 +20,7 @@ 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 @@ -55,7 +55,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) diff --git a/tuskar_ui/infrastructure/resource_management/resource_classes/tests.py b/tuskar_ui/infrastructure/resource_management/resource_classes/tests.py index d9d2437a..5fa15ee7 100644 --- a/tuskar_ui/infrastructure/resource_management/resource_classes/tests.py +++ b/tuskar_ui/infrastructure/resource_management/resource_classes/tests.py @@ -15,27 +15,27 @@ from django.core.urlresolvers import reverse from django import http from mox import IsA -from tuskar_ui 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() @@ -79,14 +79,14 @@ class ResourceClassViewTests(test.BaseAdminViewTests): ("%s?tab=resource_management_tabs__resource_classes_tab" % reverse("horizon:infrastructure:resource_management:index"))) - @test.create_stubs({api.tuskar.ResourceClass: ('get', 'list_flavors', + @test.create_stubs({tuskar.ResourceClass: ('get', 'list_flavors', 'racks_ids')}) def test_edit_resource_class_get(self): resource_class = self.tuskar_resource_classes.first() all_flavors = [] all_racks = [] - api.tuskar.ResourceClass.\ + tuskar.ResourceClass.\ get(IsA(http.HttpRequest), resource_class.id).MultipleTimes().\ AndReturn(resource_class) @@ -95,9 +95,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:' @@ -107,27 +107,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() @@ -144,15 +144,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() @@ -166,21 +166,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]) @@ -193,14 +193,14 @@ class ResourceClassViewTests(test.BaseAdminViewTests): self.assertTemplateUsed(res, 'infrastructure/resource_management/resource_classes/detail.html') - @test.create_stubs({api.tuskar.ResourceClass: ('get', 'list_flavors', + @test.create_stubs({tuskar.ResourceClass: ('get', 'list_flavors', 'racks_ids')}) def test_detail_edit_racks_get(self): resource_class = self.tuskar_resource_classes.first() all_flavors = [] all_racks = [] - api.tuskar.ResourceClass.\ + tuskar.ResourceClass.\ get(IsA(http.HttpRequest), resource_class.id).\ MultipleTimes().AndReturn(resource_class) self.mox.ReplayAll() @@ -208,9 +208,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:' @@ -220,27 +220,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() @@ -261,14 +261,14 @@ class ResourceClassViewTests(test.BaseAdminViewTests): reverse(detail_url, args=(resource_class.id,))) self.assertRedirectsNoFollow(res, redirect_url) - @test.create_stubs({api.tuskar.ResourceClass: ('get', 'list_flavors', + @test.create_stubs({tuskar.ResourceClass: ('get', 'list_flavors', 'racks_ids')}) def test_detail_edit_flavors_get(self): resource_class = self.tuskar_resource_classes.first() all_flavors = [] all_racks = [] - api.tuskar.ResourceClass.\ + tuskar.ResourceClass.\ get(IsA(http.HttpRequest), resource_class.id).\ MultipleTimes().AndReturn(resource_class) self.mox.ReplayAll() @@ -276,9 +276,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:' @@ -288,27 +288,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() diff --git a/tuskar_ui/infrastructure/resource_management/resource_classes/urls.py b/tuskar_ui/infrastructure/resource_management/resource_classes/urls.py index fa449caa..27ec797d 100644 --- a/tuskar_ui/infrastructure/resource_management/resource_classes/urls.py +++ b/tuskar_ui/infrastructure/resource_management/resource_classes/urls.py @@ -37,7 +37,7 @@ VIEW_MOD = 'tuskar_ui.infrastructure.' \ urlpatterns = patterns( VIEW_MOD, - url(r'^create$', CreateView.as_view(), name='create'), + url(r'^create/$', CreateView.as_view(), name='create'), url(r'^(?P[^/]+)/$', DetailView.as_view(), name='detail'), url(RESOURCE_CLASS % 'update', UpdateView.as_view(), name='update'), diff --git a/tuskar_ui/infrastructure/resource_management/resource_classes/views.py b/tuskar_ui/infrastructure/resource_management/resource_classes/views.py index 3017be36..85e4d011 100644 --- a/tuskar_ui/infrastructure/resource_management/resource_classes/views.py +++ b/tuskar_ui/infrastructure/resource_management/resource_classes/views.py @@ -32,7 +32,7 @@ from horizon import forms from horizon import tabs from horizon import workflows -from tuskar_ui import api +from tuskar_ui import api as tuskar from tuskar_ui.infrastructure. \ resource_management.resource_classes.forms import DeleteForm @@ -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) diff --git a/tuskar_ui/infrastructure/resource_management/resource_classes/workflows.py b/tuskar_ui/infrastructure/resource_management/resource_classes/workflows.py index 31e6b3be..742fba7d 100644 --- a/tuskar_ui/infrastructure/resource_management/resource_classes/workflows.py +++ b/tuskar_ui/infrastructure/resource_management/resource_classes/workflows.py @@ -20,7 +20,7 @@ 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 @@ -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'], diff --git a/tuskar_ui/infrastructure/resource_management/tests.py b/tuskar_ui/infrastructure/resource_management/tests.py index e848749a..6522f1a2 100644 --- a/tuskar_ui/infrastructure/resource_management/tests.py +++ b/tuskar_ui/infrastructure/resource_management/tests.py @@ -19,7 +19,7 @@ from django import http from mox import IsA -from tuskar_ui 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 -- cgit v1.2.1