Merge "Add hooks to obtain conductor api"
This commit is contained in:
commit
66047a39d6
|
@ -22,7 +22,8 @@ app = {
|
|||
'modules': ['magnum.api'],
|
||||
'debug': False,
|
||||
'hooks': [
|
||||
hooks.ContextHook()
|
||||
hooks.ContextHook(),
|
||||
hooks.RPCHook(),
|
||||
],
|
||||
'acl_public_routes': [
|
||||
'/'
|
||||
|
|
|
@ -307,16 +307,6 @@ class BaysController(rest.RestController):
|
|||
if rpc_bay[field] != patch_val:
|
||||
rpc_bay[field] = patch_val
|
||||
|
||||
if hasattr(pecan.request, 'rpcapi'):
|
||||
rpc_bay = objects.Bay.get_by_id(pecan.request.context,
|
||||
rpc_bay.bay_id)
|
||||
topic = pecan.request.rpcapi.get_topic_for(rpc_bay)
|
||||
|
||||
new_bay = pecan.request.rpcapi.update_bay(
|
||||
pecan.request.context, rpc_bay, topic)
|
||||
|
||||
return Bay.convert_with_links(new_bay)
|
||||
else:
|
||||
rpc_bay.save()
|
||||
return Bay.convert_with_links(rpc_bay)
|
||||
|
||||
|
|
|
@ -309,16 +309,6 @@ class BayModelsController(rest.RestController):
|
|||
if rpc_baymodel[field] != patch_val:
|
||||
rpc_baymodel[field] = patch_val
|
||||
|
||||
if hasattr(pecan.request, 'rpcapi'):
|
||||
rpc_baymodel = objects.BayModel.get_by_id(pecan.request.context,
|
||||
rpc_baymodel.baymodel_id)
|
||||
topic = pecan.request.rpcapi.get_topic_for(rpc_baymodel)
|
||||
|
||||
new_baymodel = pecan.request.rpcapi.update_baymodel(
|
||||
pecan.request.context, rpc_baymodel, topic)
|
||||
|
||||
return BayModel.convert_with_links(new_baymodel)
|
||||
else:
|
||||
rpc_baymodel.save()
|
||||
return BayModel.convert_with_links(rpc_baymodel)
|
||||
|
||||
|
|
|
@ -379,16 +379,6 @@ class ContainersController(rest.RestController):
|
|||
if rpc_container[field] != patch_val:
|
||||
rpc_container[field] = patch_val
|
||||
|
||||
if hasattr(pecan.request, 'rpcapi'):
|
||||
rpc_container = objects.Container.get_by_id(pecan.request.context,
|
||||
rpc_container.container_id)
|
||||
topic = pecan.request.rpcapi.get_topic_for(rpc_container)
|
||||
|
||||
new_container = pecan.request.rpcapi.update_container(
|
||||
pecan.request.context, rpc_container, topic)
|
||||
|
||||
return Container.convert_with_links(new_container)
|
||||
else:
|
||||
rpc_container.save()
|
||||
return Container.convert_with_links(rpc_container)
|
||||
|
||||
|
|
|
@ -298,16 +298,6 @@ class NodesController(rest.RestController):
|
|||
if rpc_node[field] != patch_val:
|
||||
rpc_node[field] = patch_val
|
||||
|
||||
if hasattr(pecan.request, 'rpcapi'):
|
||||
rpc_node = objects.Node.get_by_id(pecan.request.context,
|
||||
rpc_node.node_id)
|
||||
topic = pecan.request.rpcapi.get_topic_for(rpc_node)
|
||||
|
||||
new_node = pecan.request.rpcapi.update_node(
|
||||
pecan.request.context, rpc_node, topic)
|
||||
|
||||
return Node.convert_with_links(new_node)
|
||||
else:
|
||||
rpc_node.save()
|
||||
return Node.convert_with_links(rpc_node)
|
||||
|
||||
|
|
|
@ -317,16 +317,6 @@ class PodsController(rest.RestController):
|
|||
if rpc_pod[field] != patch_val:
|
||||
rpc_pod[field] = patch_val
|
||||
|
||||
if hasattr(pecan.request, 'rpcapi'):
|
||||
rpc_pod = objects.Pod.get_by_id(pecan.request.context,
|
||||
rpc_pod.pod_id)
|
||||
topic = pecan.request.rpcapi.get_topic_for(rpc_pod)
|
||||
|
||||
new_pod = pecan.request.rpcapi.update_pod(
|
||||
pecan.request.context, rpc_pod, topic)
|
||||
|
||||
return Pod.convert_with_links(new_pod)
|
||||
else:
|
||||
rpc_pod.save()
|
||||
return Pod.convert_with_links(rpc_pod)
|
||||
|
||||
|
|
|
@ -304,16 +304,6 @@ class ServicesController(rest.RestController):
|
|||
if rpc_service[field] != patch_val:
|
||||
rpc_service[field] = patch_val
|
||||
|
||||
if hasattr(pecan.request, 'rpcapi'):
|
||||
rpc_service = objects.Service.get_by_id(pecan.request.context,
|
||||
rpc_service.service_id)
|
||||
topic = pecan.request.rpcapi.get_topic_for(rpc_service)
|
||||
|
||||
new_service = pecan.request.rpcapi.update_service(
|
||||
pecan.request.context, rpc_service, topic)
|
||||
|
||||
return Service.convert_with_links(new_service)
|
||||
else:
|
||||
rpc_service.save()
|
||||
return Service.convert_with_links(rpc_service)
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ from oslo.utils import importutils
|
|||
from pecan import hooks
|
||||
|
||||
from magnum.common import context
|
||||
from magnum.conductor import api as conductor_api
|
||||
|
||||
|
||||
class ContextHook(hooks.PecanHook):
|
||||
|
@ -65,3 +66,10 @@ class ContextHook(hooks.PecanHook):
|
|||
tenant=tenant,
|
||||
domain_id=domain_id,
|
||||
domain_name=domain_name)
|
||||
|
||||
|
||||
class RPCHook(hooks.PecanHook):
|
||||
"""Attach the rpcapi object to the request so controllers can get to it."""
|
||||
|
||||
def before(self, state):
|
||||
state.request.rpcapi = conductor_api.API(context=state.request.context)
|
|
@ -25,6 +25,7 @@ app = {
|
|||
'debug': True,
|
||||
'hooks': [
|
||||
hooks.ContextHook(),
|
||||
hooks.RPCHook()
|
||||
],
|
||||
'acl_public_routes': [
|
||||
'/'
|
||||
|
|
Loading…
Reference in New Issue