horizon: Use novaclient for flavor create/delete

API is the same as openstackx, so it's an easy drop in. Also drop
all openstackx admin_api handling since it isn't needed anymore!

Change-Id: Ifa8c7f3bd3e0ba0e1664d6c3a87bf07853f3e693
This commit is contained in:
Cole Robinson 2012-01-19 18:50:28 -05:00
parent 54e0409b95
commit 269e389a88
5 changed files with 11 additions and 48 deletions

View File

@ -58,15 +58,6 @@ def check_openstackx(f):
return inner
def admin_api(request):
management_url = url_for(request, 'compute', True)
LOG.debug('admin_api connection created using token "%s"'
' and url "%s"' %
(request.user.token, management_url))
return openstackx.admin.Admin(auth_token=request.user.token,
management_url=management_url)
def extras_api(request):
management_url = url_for(request, 'compute')
LOG.debug('extras_api connection created using token "%s"'

View File

@ -27,8 +27,6 @@ from keystoneclient.v2_0 import client as keystone_client
from keystoneclient.v2_0 import tokens
from horizon.api.base import *
from horizon.api.deprecated import admin_api
from horizon.api.deprecated import check_openstackx
LOG = logging.getLogger(__name__)

View File

@ -28,7 +28,6 @@ from novaclient.v1_1 import security_group_rules as nova_rules
from novaclient.v1_1.servers import REBOOT_HARD
from horizon.api.base import *
from horizon.api.deprecated import admin_api
from horizon.api.deprecated import check_openstackx
from horizon.api.deprecated import extras_api
@ -182,14 +181,12 @@ def server_vnc_console(request, instance_id, type='novnc'):
def flavor_create(request, name, memory, vcpu, disk, flavor_id):
# TODO -- convert to novaclient when novaclient adds create support
return Flavor(admin_api(request).flavors.create(
return Flavor(novaclient(request).flavors.create(
name, int(memory), int(vcpu), int(disk), flavor_id))
def flavor_delete(request, flavor_id, purge=False):
# TODO -- convert to novaclient when novaclient adds delete support
admin_api(request).flavors.delete(flavor_id, purge)
novaclient(request).flavors.delete(flavor_id, purge)
def flavor_get(request, flavor_id):

View File

@ -24,6 +24,5 @@ from horizon.tests.api_tests.glance import GlanceApiTests, ImageWrapperTests
from horizon.tests.api_tests.keystone import (KeystoneAdminApiTests,
TokenApiTests, RoleAPITests, TenantAPITests, UserAPITests)
from horizon.tests.api_tests.nova import (ServerWrapperTests,
NovaAdminApiTests, ComputeApiTests, ExtrasApiTests, VolumeTests,
APIExtensionTests)
ComputeApiTests, ExtrasApiTests, VolumeTests, APIExtensionTests)
from horizon.tests.api_tests.swift import SwiftApiTests

View File

@ -105,26 +105,7 @@ class ServerWrapperTests(test.TestCase):
self.assertEqual(image_name, self.IMAGE_NAME)
class NovaAdminApiTests(APITestCase):
def stub_admin_api(self, count=1):
self.mox.StubOutWithMock(api.nova, 'admin_api')
admin_api = self.mox.CreateMock(OSAdmin.Admin)
for i in range(count):
api.nova.admin_api(IsA(http.HttpRequest)) \
.AndReturn(admin_api)
return admin_api
def test_get_admin_api(self):
self.mox.StubOutClassWithMocks(OSAdmin, 'Admin')
OSAdmin.Admin(auth_token=TEST_TOKEN, management_url=TEST_URL)
self.mox.StubOutWithMock(api.deprecated, 'url_for')
api.deprecated.url_for(IsA(http.HttpRequest),
'compute', True).AndReturn(TEST_URL)
self.mox.ReplayAll()
self.assertIsNotNone(api.nova.admin_api(self.request))
class ComputeApiTests(APITestCase):
def test_flavor_create(self):
FLAVOR_DISK = 1000
@ -133,10 +114,10 @@ class NovaAdminApiTests(APITestCase):
FLAVOR_NAME = 'newFlavor'
FLAVOR_VCPU = 2
admin_api = self.stub_admin_api()
novaclient = self.stub_novaclient()
admin_api.flavors = self.mox.CreateMockAnything()
admin_api.flavors.create(FLAVOR_NAME, FLAVOR_MEMORY, FLAVOR_VCPU,
novaclient.flavors = self.mox.CreateMockAnything()
novaclient.flavors.create(FLAVOR_NAME, FLAVOR_MEMORY, FLAVOR_VCPU,
FLAVOR_DISK, FLAVOR_ID).AndReturn(TEST_RETURN)
self.mox.ReplayAll()
@ -151,11 +132,11 @@ class NovaAdminApiTests(APITestCase):
def test_flavor_delete(self):
FLAVOR_ID = 6
admin_api = self.stub_admin_api(count=2)
novaclient = self.stub_novaclient()
admin_api.flavors = self.mox.CreateMockAnything()
admin_api.flavors.delete(FLAVOR_ID, False).AndReturn(TEST_RETURN)
admin_api.flavors.delete(FLAVOR_ID, True).AndReturn(TEST_RETURN)
novaclient.flavors = self.mox.CreateMockAnything()
novaclient.flavors.delete(FLAVOR_ID, False).AndReturn(TEST_RETURN)
novaclient.flavors.delete(FLAVOR_ID, True).AndReturn(TEST_RETURN)
self.mox.ReplayAll()
@ -165,9 +146,6 @@ class NovaAdminApiTests(APITestCase):
ret_val = api.flavor_delete(self.request, FLAVOR_ID, purge=True)
self.assertIsNone(ret_val)
class ComputeApiTests(APITestCase):
def test_flavor_get(self):
FLAVOR_ID = 6