summaryrefslogtreecommitdiff
path: root/ironic/common/rpc_service.py
diff options
context:
space:
mode:
authorRuby Loo <ruby.loo@intel.com>2017-06-23 01:00:42 -0400
committerRuby Loo <ruby.loo@intel.com>2017-07-13 12:16:30 -0400
commit8e7d795db5e614de6a3d8dd19ff26f869c8e9f9a (patch)
tree46119b22eaf04f25a32fc8f265a334d170605717 /ironic/common/rpc_service.py
parent39c87797163c60801bec547f134fe6fa10c288a9 (diff)
downloadironic-8e7d795db5e614de6a3d8dd19ff26f869c8e9f9a.tar.gz
Modifications for rolling upgrades
This contains some changes to conversions of objects during a rolling upgrade. This changes objects.base.IronicObject.convert_to_version() to have a new parameter 'remove_unavail_fields': True (default) to remove fields that are unavailable in the target version -- for serialization/deserialization of objects. False to change unavailable fields as appropriate (for DB interactions). The reason for doing this is to make sure that during serialization (eg for RPC), that we don't include any object fields that are not supported. To make the code a bit more performant, we don't perform object conversions when the API service is serializing the objects for RPC to the conductor. This is because the conductor will always be running the same or a newer release as the API service. Change-Id: I6f77b24199412e3489dd6f3dcf0f51ed04c5c7c0 Partial-Bug: #1526283
Diffstat (limited to 'ironic/common/rpc_service.py')
-rw-r--r--ironic/common/rpc_service.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/ironic/common/rpc_service.py b/ironic/common/rpc_service.py
index 5a2aeacfe..a2aebb56c 100644
--- a/ironic/common/rpc_service.py
+++ b/ironic/common/rpc_service.py
@@ -46,7 +46,7 @@ class RPCService(service.Service):
target = messaging.Target(topic=self.topic, server=self.host)
endpoints = [self.manager]
- serializer = objects_base.IronicObjectSerializer()
+ serializer = objects_base.IronicObjectSerializer(is_server=True)
self.rpcserver = rpc.get_server(target, endpoints, serializer)
self.rpcserver.start()