summaryrefslogtreecommitdiff
path: root/tuskar_ui/infrastructure/resource_management/resource_classes
diff options
context:
space:
mode:
Diffstat (limited to 'tuskar_ui/infrastructure/resource_management/resource_classes')
-rw-r--r--tuskar_ui/infrastructure/resource_management/resource_classes/forms.py6
-rw-r--r--tuskar_ui/infrastructure/resource_management/resource_classes/tables.py4
-rw-r--r--tuskar_ui/infrastructure/resource_management/resource_classes/tests.py94
-rw-r--r--tuskar_ui/infrastructure/resource_management/resource_classes/urls.py2
-rw-r--r--tuskar_ui/infrastructure/resource_management/resource_classes/views.py18
-rw-r--r--tuskar_ui/infrastructure/resource_management/resource_classes/workflows.py18
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'],