[placement] Unregister the ResourceProvider object
Unregister the ResourceProvider object because we do not need RPC and versioning for the objects in nova.objects.resource_provider. There are two primary changes here: * unregistering the ResourceProvider class * where objects.ResourceProvider is used, point directly to the nova.objects.resource_provider package instead Partially-Implements: bp placement-deregister-objects Change-Id: I564a4a10c9f07883025df70fecb1a59d547ef7ed
This commit is contained in:
parent
c9d303bbb2
commit
7fb165b129
nova
api/openstack/placement/handlers
tests
@ -17,7 +17,7 @@ from oslo_utils import encodeutils
|
||||
from nova.api.openstack.placement import microversion
|
||||
from nova.api.openstack.placement import util
|
||||
from nova.api.openstack.placement import wsgi_wrapper
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
|
||||
|
||||
PUT_AGGREGATES_SCHEMA = {
|
||||
@ -55,7 +55,7 @@ def get_aggregates(req):
|
||||
microversion.raise_http_status_code_if_not_version(req, 404, (1, 1))
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
aggregate_uuids = resource_provider.get_aggregates()
|
||||
|
||||
@ -68,7 +68,7 @@ def set_aggregates(req):
|
||||
microversion.raise_http_status_code_if_not_version(req, 404, (1, 1))
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
aggregate_uuids = util.extract_json(req.body, PUT_AGGREGATES_SCHEMA)
|
||||
resource_provider.set_aggregates(aggregate_uuids)
|
||||
|
@ -24,7 +24,6 @@ from nova.api.openstack.placement import util
|
||||
from nova.api.openstack.placement import wsgi_wrapper
|
||||
from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
|
||||
|
||||
@ -193,7 +192,7 @@ def list_for_resource_provider(req):
|
||||
# confirm existence of resource provider so we get a reasonable
|
||||
# 404 instead of empty list
|
||||
try:
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
except exception.NotFound as exc:
|
||||
raise webob.exc.HTTPNotFound(
|
||||
@ -226,7 +225,7 @@ def _set_allocations(req, schema):
|
||||
resource_provider_uuid = allocation['resource_provider']['uuid']
|
||||
|
||||
try:
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, resource_provider_uuid)
|
||||
except exception.NotFound:
|
||||
raise webob.exc.HTTPBadRequest(
|
||||
|
@ -24,7 +24,6 @@ from nova.api.openstack.placement import wsgi_wrapper
|
||||
from nova import db
|
||||
from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
|
||||
RESOURCE_CLASS_IDENTIFIER = "^[A-Z0-9_]+$"
|
||||
@ -214,7 +213,7 @@ def create_inventory(req):
|
||||
"""
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
data = _extract_inventory(req.body, POST_INVENTORY_SCHEMA)
|
||||
resource_class = data.pop('resource_class')
|
||||
@ -256,7 +255,7 @@ def delete_inventory(req):
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_class = util.wsgi_path_item(req.environ, 'resource_class')
|
||||
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
try:
|
||||
resource_provider.delete_inventory(resource_class)
|
||||
@ -287,7 +286,7 @@ def get_inventories(req):
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
try:
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
except exception.NotFound as exc:
|
||||
raise webob.exc.HTTPNotFound(
|
||||
@ -312,7 +311,7 @@ def get_inventory(req):
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_class = util.wsgi_path_item(req.environ, 'resource_class')
|
||||
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
inventory = rp_obj.InventoryList.get_all_by_resource_provider_uuid(
|
||||
context, resource_provider.uuid).find(resource_class)
|
||||
@ -343,7 +342,7 @@ def set_inventories(req):
|
||||
"""
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
data = _extract_inventories(req.body, PUT_INVENTORY_SCHEMA)
|
||||
@ -397,7 +396,7 @@ def delete_inventories(req):
|
||||
microversion.raise_http_status_code_if_not_version(req, 405, (1, 5))
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
inventories = rp_obj.InventoryList(objects=[])
|
||||
@ -438,7 +437,7 @@ def update_inventory(req):
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
resource_class = util.wsgi_path_item(req.environ, 'resource_class')
|
||||
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
data = _extract_inventory(req.body, BASE_INVENTORY_SCHEMA)
|
||||
|
@ -24,7 +24,6 @@ from nova.api.openstack.placement import util
|
||||
from nova.api.openstack.placement import wsgi_wrapper
|
||||
from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
|
||||
|
||||
@ -127,7 +126,7 @@ def create_resource_provider(req):
|
||||
|
||||
try:
|
||||
uuid = data.get('uuid', uuidutils.generate_uuid())
|
||||
resource_provider = objects.ResourceProvider(
|
||||
resource_provider = rp_obj.ResourceProvider(
|
||||
context, name=data['name'], uuid=uuid)
|
||||
resource_provider.create()
|
||||
except db_exc.DBDuplicateEntry as exc:
|
||||
@ -161,7 +160,7 @@ def delete_resource_provider(req):
|
||||
context = req.environ['placement.context']
|
||||
# The containing application will catch a not found here.
|
||||
try:
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
resource_provider.destroy()
|
||||
except exception.ResourceProviderInUse as exc:
|
||||
@ -188,7 +187,7 @@ def get_resource_provider(req):
|
||||
# The containing application will catch a not found here.
|
||||
context = req.environ['placement.context']
|
||||
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
req.response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
@ -267,7 +266,7 @@ def update_resource_provider(req):
|
||||
context = req.environ['placement.context']
|
||||
|
||||
# The containing application will catch a not found here.
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
data = util.extract_json(req.body, PUT_RESOURCE_PROVIDER_SCHEMA)
|
||||
|
@ -23,7 +23,6 @@ from nova.api.openstack.placement import util
|
||||
from nova.api.openstack.placement import wsgi_wrapper
|
||||
from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
|
||||
TRAIT = {
|
||||
@ -199,7 +198,7 @@ def list_traits_for_resource_provider(req):
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
response_body = _serialize_traits(resource_provider.get_traits())
|
||||
@ -221,7 +220,7 @@ def update_traits_for_resource_provider(req):
|
||||
data = util.extract_json(req.body, SET_TRAITS_FOR_RP_SCHEMA)
|
||||
rp_gen = data['resource_provider_generation']
|
||||
traits = data['traits']
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
if resource_provider.generation != rp_gen:
|
||||
@ -255,7 +254,7 @@ def delete_traits_for_resource_provider(req):
|
||||
context = req.environ['placement.context']
|
||||
uuid = util.wsgi_path_item(req.environ, 'uuid')
|
||||
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(context, uuid)
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(context, uuid)
|
||||
try:
|
||||
resource_provider.set_traits(rp_obj.TraitList(objects=[]))
|
||||
except exception.ConcurrentUpdateDetected as e:
|
||||
|
@ -20,7 +20,6 @@ from nova.api.openstack.placement import util
|
||||
from nova.api.openstack.placement import wsgi_wrapper
|
||||
from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
|
||||
|
||||
@ -72,7 +71,7 @@ def list_usages(req):
|
||||
# It is also needed for the generation, used in the outgoing
|
||||
# representation.
|
||||
try:
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
resource_provider = rp_obj.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
except exception.NotFound as exc:
|
||||
raise webob.exc.HTTPNotFound(
|
||||
|
@ -114,7 +114,7 @@ class AllocationFixture(APIFixture):
|
||||
# Stealing from the super
|
||||
rp_name = os.environ['RP_NAME']
|
||||
rp_uuid = os.environ['RP_UUID']
|
||||
rp = objects.ResourceProvider(
|
||||
rp = rp_obj.ResourceProvider(
|
||||
self.context, name=rp_name, uuid=rp_uuid)
|
||||
rp.create()
|
||||
|
||||
@ -218,19 +218,19 @@ class SharedStorageFixture(APIFixture):
|
||||
os.environ['SS_UUID'] = ss_uuid
|
||||
os.environ['AGG_UUID'] = agg_uuid
|
||||
|
||||
cn1 = objects.ResourceProvider(
|
||||
cn1 = rp_obj.ResourceProvider(
|
||||
self.context,
|
||||
name='cn1',
|
||||
uuid=cn1_uuid)
|
||||
cn1.create()
|
||||
|
||||
cn2 = objects.ResourceProvider(
|
||||
cn2 = rp_obj.ResourceProvider(
|
||||
self.context,
|
||||
name='cn2',
|
||||
uuid=cn2_uuid)
|
||||
cn2.create()
|
||||
|
||||
ss = objects.ResourceProvider(
|
||||
ss = rp_obj.ResourceProvider(
|
||||
self.context,
|
||||
name='ss',
|
||||
uuid=ss_uuid)
|
||||
|
@ -19,7 +19,6 @@ import webob
|
||||
|
||||
from nova.api.openstack.placement import microversion
|
||||
from nova.api.openstack.placement import util
|
||||
from nova import objects
|
||||
from nova.objects import resource_provider as rp_obj
|
||||
from nova import test
|
||||
from nova.tests import uuidsentinel
|
||||
@ -262,7 +261,7 @@ class TestPlacementURLs(test.NoDBTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestPlacementURLs, self).setUp()
|
||||
self.resource_provider = objects.ResourceProvider(
|
||||
self.resource_provider = rp_obj.ResourceProvider(
|
||||
name=uuidsentinel.rp_name,
|
||||
uuid=uuidsentinel.rp_uuid)
|
||||
self.resource_class = rp_obj.ResourceClass(
|
||||
|
Loading…
x
Reference in New Issue
Block a user