diff options
Diffstat (limited to 'tuskar_ui/infrastructure/resource_management/resource_classes')
6 files changed, 70 insertions, 72 deletions
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<resource_class_id>[^/]+)/$', 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'], |