blob: 56604a5caebf23c0da23cc9ffa80cea5be612969 [file] [log] [blame]
Zsolt Haraszti3eb27a52017-01-03 21:56:48 -08001# Copyright 2017 the original author or authors.
Zsolt Haraszti66862032016-11-28 14:28:39 -08002#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
Nikolay Titov3b31db92017-08-02 18:11:33 -040015import sys
Zsolt Haraszti66862032016-11-28 14:28:39 -080016import structlog
17from grpc import StatusCode
18from twisted.internet.defer import inlineCallbacks
19from twisted.internet.defer import returnValue
20
21from common.utils.grpc_utils import twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -040022from common.utils.id_generation import \
23 create_cluster_id, create_empty_broadcast_id
Zsolt Haraszti66862032016-11-28 14:28:39 -080024from voltha.core.config.config_root import ConfigRoot
Lydia Fang01f2e852017-06-28 17:24:58 -070025from voltha.protos.device_pb2 import PmConfigs, Images, \
26 ImageDownload, ImageDownloads
27from voltha.protos.common_pb2 import OperationResp
Zsolt Haraszti66862032016-11-28 14:28:39 -080028from voltha.protos.voltha_pb2 import \
29 add_VolthaGlobalServiceServicer_to_server, VolthaLocalServiceStub, \
30 VolthaGlobalServiceServicer, Voltha, VolthaInstances, VolthaInstance, \
khenaidoo08d48d22017-06-29 19:42:49 -040031 LogicalDevice, Ports, Flows, FlowGroups, Device, SelfTestResponse, \
32 VolthaGlobalServiceStub, Devices, DeviceType, DeviceTypes, DeviceGroup, \
33 AlarmFilter, AlarmFilters
Zsolt Haraszti66862032016-11-28 14:28:39 -080034from voltha.registry import registry
35from google.protobuf.empty_pb2 import Empty
khenaidoo08d48d22017-06-29 19:42:49 -040036from dispatcher import DispatchError
Rachit Shrivastavaa182e912017-07-28 15:18:34 -040037from voltha.protos import bbf_fiber_base_pb2 as fb
Nikolay Titov3b31db92017-08-02 18:11:33 -040038from voltha.protos.bbf_fiber_base_pb2 import ChannelgroupConfig, \
39 ChannelpartitionConfig, ChannelpairConfig, ChannelterminationConfig, \
40 OntaniConfig, VOntaniConfig, VEnetConfig
41from voltha.protos.bbf_fiber_traffic_descriptor_profile_body_pb2 import \
42 TrafficDescriptorProfileData
43from voltha.protos.bbf_fiber_tcont_body_pb2 import TcontsConfigData
44from voltha.protos.bbf_fiber_gemport_body_pb2 import GemportsConfigData
45from voltha.protos.bbf_fiber_multicast_gemport_body_pb2 import \
46 MulticastGemportsConfigData
47from voltha.protos.bbf_fiber_multicast_distribution_set_body_pb2 import \
48 MulticastDistributionSetData
Zsolt Haraszti66862032016-11-28 14:28:39 -080049
50log = structlog.get_logger()
51
52
53class GlobalHandler(VolthaGlobalServiceServicer):
Nikolay Titov3b31db92017-08-02 18:11:33 -040054
55 xpon_object_type = {
56 'CreateChannelgroup': ChannelgroupConfig,
57 'UpdateChannelgroup': ChannelgroupConfig,
58 'DeleteChannelgroup': ChannelgroupConfig,
59 'CreateChannelpartition': ChannelpartitionConfig,
60 'UpdateChannelpartition': ChannelpartitionConfig,
61 'DeleteChannelpartition': ChannelpartitionConfig,
62 'CreateChannelpair': ChannelpairConfig,
63 'UpdateChannelpair': ChannelpairConfig,
64 'DeleteChannelpair': ChannelpairConfig,
65 'CreateChanneltermination': ChannelterminationConfig,
66 'UpdateChanneltermination': ChannelterminationConfig,
67 'DeleteChanneltermination': ChannelterminationConfig,
68 'CreateVOntani': VOntaniConfig,
69 'UpdateVOntani': VOntaniConfig,
70 'DeleteVOntani': VOntaniConfig,
71 'CreateOntani': OntaniConfig,
72 'UpdateOntani': OntaniConfig,
73 'DeleteOntani': OntaniConfig,
74 'CreateVEnet': VEnetConfig,
75 'UpdateVEnet': VEnetConfig,
76 'DeleteVEnet': VEnetConfig,
77 'CreateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
78 'UpdateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
79 'DeleteTrafficDescriptorProfileData': TrafficDescriptorProfileData,
80 'CreateTcontsConfigData': TcontsConfigData,
81 'UpdateTcontsConfigData': TcontsConfigData,
82 'DeleteTcontsConfigData': TcontsConfigData,
83 'CreateGemportsConfigData': GemportsConfigData,
84 'UpdateGemportsConfigData': GemportsConfigData,
85 'DeleteGemportsConfigData': GemportsConfigData,
86 'CreateMulticastGemportsConfigData': MulticastGemportsConfigData,
87 'UpdateMulticastGemportsConfigData': MulticastGemportsConfigData,
88 'DeleteMulticastGemportsConfigData': MulticastGemportsConfigData,
89 'CreateMulticastDistributionSetData': MulticastDistributionSetData,
90 'UpdateMulticastDistributionSetData': MulticastDistributionSetData,
91 'DeleteMulticastDistributionSetData': MulticastDistributionSetData
92 }
93
Zsolt Haraszti66862032016-11-28 14:28:39 -080094 def __init__(self, dispatcher, instance_id, **init_kw):
95 self.dispatcher = dispatcher
96 self.instance_id = instance_id
97 self.init_kw = init_kw
98 self.root = None
99 self.stopped = False
100
101 def start(self):
102 log.debug('starting')
103 self.root = ConfigRoot(Voltha(**self.init_kw))
104 registry('grpc_server').register(
105 add_VolthaGlobalServiceServicer_to_server, self)
106 log.info('started')
107 return self
108
109 def stop(self):
110 log.debug('stopping')
111 self.stopped = True
112 log.info('stopped')
113
114 # gRPC service method implementations. BE CAREFUL; THESE ARE CALLED ON
115 # the gRPC threadpool threads.
116
117 @twisted_async
118 def GetVoltha(self, request, context):
119 log.info('grpc-request', request=request)
120 return self.root.get('/', depth=1)
121
122 @twisted_async
Zsolt Haraszti66862032016-11-28 14:28:39 -0800123 def ListVolthaInstances(self, request, context):
124 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400125 items = self.dispatcher.get_cluster_instances()
126 return VolthaInstances(items=items)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800127
128 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400129 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800130 def GetVolthaInstance(self, request, context):
131 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400132 core_id = self.dispatcher.get_core_id_from_instance_id(request.id)
133 if not core_id:
134 log.info('invalid-instance-id', instance=request.id)
135 context.set_details('Voltha Instance error')
Zsolt Haraszti66862032016-11-28 14:28:39 -0800136 context.set_code(StatusCode.NOT_FOUND)
khenaidoo08d48d22017-06-29 19:42:49 -0400137 returnValue(VolthaInstance())
138
139 response = yield self.dispatcher.dispatch('GetVolthaInstance',
140 Empty(),
141 context,
142 core_id=core_id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400143 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400144 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400145 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400146 context.set_details('Voltha Instance error')
147 context.set_code(response.error_code)
148 returnValue(VolthaInstance())
149 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400150 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400151 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800152
153 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400154 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800155 def ListLogicalDevices(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400156 log.info('grpc-request', request=request)
157 response = yield self.dispatcher.dispatch('ListLogicalDevices',
158 Empty(),
159 context,
160 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400161 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400162 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800163
164 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400165 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800166 def GetLogicalDevice(self, request, context):
167 log.info('grpc-request', request=request)
168
khenaidoo08d48d22017-06-29 19:42:49 -0400169 response = yield self.dispatcher.dispatch('GetLogicalDevice',
170 request,
171 context,
172 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400173 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400174 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400175 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800176 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400177 'Logical device \'{}\' error'.format(request.id))
178 context.set_code(response.error_code)
179 returnValue(LogicalDevice())
180 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400181 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400182 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800183
184 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400185 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800186 def ListLogicalDevicePorts(self, request, context):
187 log.info('grpc-request', request=request)
188
khenaidoo08d48d22017-06-29 19:42:49 -0400189 response = yield self.dispatcher.dispatch('ListLogicalDevicePorts',
190 request,
191 context,
192 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400193 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400194 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400195 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800196 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400197 'Logical device ports \'{}\' error'.format(request.id))
198 context.set_code(response.error_code)
199 returnValue(Ports())
200 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400201 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400202 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800203
204 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400205 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800206 def ListLogicalDeviceFlows(self, request, context):
207 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400208 response = yield self.dispatcher.dispatch('ListLogicalDeviceFlows',
209 request,
210 context,
211 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400212 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400213 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400214 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800215 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400216 'Logical device \'{}\' error'.format(request.id))
217 context.set_code(response.error_code)
218 returnValue(Flows())
219 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400220 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400221 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800222
223 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400224 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800225 def UpdateLogicalDeviceFlowTable(self, request, context):
226 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400227 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800228 'UpdateLogicalDeviceFlowTable',
229 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400230 context,
231 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400232 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400233 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400234 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400235 context.set_details(
236 'Logical device \'{}\' error'.format(request.id))
237 context.set_code(response.error_code)
238 returnValue(Empty())
239 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400240 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400241 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800242
243 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400244 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800245 def ListLogicalDeviceFlowGroups(self, request, context):
246 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400247 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800248 'ListLogicalDeviceFlowGroups',
249 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400250 context,
251 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400252 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400253 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400254 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400255 context.set_details(
256 'Logical device \'{}\' error'.format(request.id))
257 context.set_code(response.error_code)
258 returnValue(FlowGroups())
259 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400260 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400261 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800262
263 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400264 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800265 def UpdateLogicalDeviceFlowGroupTable(self, request, context):
266 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400267 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800268 'UpdateLogicalDeviceFlowGroupTable',
269 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400270 context,
271 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400272 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400273 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400274 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400275 context.set_details(
276 'Logical device \'{}\' error'.format(request.id))
277 context.set_code(response.error_code)
278 returnValue(Empty())
279 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400280 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400281 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800282
283 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400284 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800285 def ListDevices(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400286 log.info('grpc-request', request=request)
287 response = yield self.dispatcher.dispatch('ListDevices',
288 Empty(),
289 context,
290 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400291 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400292 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800293
294 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400295 @inlineCallbacks
khenaidoo997edbc2017-07-13 10:25:58 -0400296 def ListAdapters(self, request, context):
297 log.info('grpc-request', request=request)
298 response = yield self.dispatcher.dispatch('ListAdapters',
299 Empty(),
300 context,
301 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400302 log.debug('grpc-response', response=response)
khenaidoo997edbc2017-07-13 10:25:58 -0400303 returnValue(response)
304
305 @twisted_async
306 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800307 def GetDevice(self, request, context):
308 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400309 response = yield self.dispatcher.dispatch('GetDevice',
310 request,
311 context,
312 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400313 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400314 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400315 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400316 context.set_details('Device \'{}\' error'.format(request.id))
317 context.set_code(response.error_code)
318 returnValue(Device())
319 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400320 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400321 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800322
323 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400324 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800325 def CreateDevice(self, request, context):
326 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400327 response = yield self.dispatcher.dispatch('CreateDevice',
328 request,
329 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400330 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400331 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400332 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400333 context.set_details('Create device error')
334 context.set_code(response.error_code)
335 returnValue(Device())
336 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400337 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400338 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800339
340 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400341 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500342 def EnableDevice(self, request, context):
Zsolt Haraszti66862032016-11-28 14:28:39 -0800343 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400344 response = yield self.dispatcher.dispatch('EnableDevice',
345 request,
346 context,
347 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400348 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400349 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400350 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400351 context.set_details('Device \'{}\' error'.format(request.id))
352 context.set_code(response.error_code)
353 returnValue(Device())
354 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400355 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400356 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500357
358 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400359 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500360 def DisableDevice(self, request, context):
361 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400362 response = yield self.dispatcher.dispatch('DisableDevice',
363 request,
364 context,
365 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400366 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400367 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400368 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400369 context.set_details('Device \'{}\' error'.format(request.id))
370 context.set_code(response.error_code)
371 returnValue(Device())
372 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400373 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400374 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500375
376 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400377 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500378 def RebootDevice(self, request, context):
379 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400380 response = yield self.dispatcher.dispatch('RebootDevice',
381 request,
382 context,
383 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400384 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400385 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400386 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400387 context.set_details('Device \'{}\' error'.format(request.id))
388 context.set_code(response.error_code)
389 returnValue(Device())
390 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400391 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400392 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500393
394 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400395 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500396 def DeleteDevice(self, request, context):
397 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400398 response = yield self.dispatcher.dispatch('DeleteDevice',
399 request,
400 context,
401 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400402 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400403 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400404 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400405 context.set_details('Device \'{}\' error'.format(request.id))
406 context.set_code(response.error_code)
407 returnValue(Empty())
408 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400409 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400410 returnValue(Empty())
Zsolt Haraszti66862032016-11-28 14:28:39 -0800411
412 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400413 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800414 def ListDevicePorts(self, request, context):
415 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400416 response = yield self.dispatcher.dispatch('ListDevicePorts',
417 request,
418 context,
419 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400420 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400421 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400422 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400423 context.set_details('Device \'{}\' error'.format(request.id))
424 context.set_code(response.error_code)
425 returnValue(Ports())
426 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400427 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400428 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800429
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500430 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400431 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500432 def ListDevicePmConfigs(self, request, context):
Sergio Slobodrian71960022017-03-09 10:20:57 -0500433 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400434 response = yield self.dispatcher.dispatch('ListDevicePmConfigs',
435 request,
436 context,
437 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400438 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400439 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400440 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400441 context.set_details('Device \'{}\' error'.format(request.id))
442 context.set_code(response.error_code)
443 returnValue(PmConfigs())
444 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400445 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400446 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500447
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500448 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400449 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500450 def UpdateDevicePmConfigs(self, request, context):
Sergio Slobodrian4236ade2017-03-17 22:01:20 -0400451 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400452 response = yield self.dispatcher.dispatch('UpdateDevicePmConfigs',
453 request,
454 context,
455 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400456 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400457 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400458 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400459 context.set_details('Device \'{}\' error'.format(request.id))
460 context.set_code(response.error_code)
461 returnValue(Empty())
462 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400463 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400464 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500465
Zsolt Haraszti66862032016-11-28 14:28:39 -0800466 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400467 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800468 def ListDeviceFlows(self, request, context):
469 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400470 response = yield self.dispatcher.dispatch('ListDeviceFlows',
471 request,
472 context,
473 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400474 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400475 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400476 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400477 context.set_details('Device \'{}\' error'.format(request.id))
478 context.set_code(response.error_code)
479 returnValue(Flows())
480 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400481 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400482 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800483
484 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400485 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800486 def ListDeviceFlowGroups(self, request, context):
487 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400488 response = yield self.dispatcher.dispatch('ListDeviceFlowGroups',
489 request,
490 context,
491 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400492 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400493 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400494 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400495 context.set_details('Device \'{}\' error'.format(request.id))
496 context.set_code(response.error_code)
497 returnValue(FlowGroups())
498 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400499 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400500 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800501
502 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400503 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800504 def ListDeviceTypes(self, request, context):
505 log.info('grpc-request', request=request)
506 # we always deflect this to the local instance, as we assume
507 # they all loaded the same adapters, supporting the same device
508 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400509 response = yield self.dispatcher.dispatch('ListDeviceTypes',
510 request,
511 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400512 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400513 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400514 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400515 context.set_details('Device types error')
516 context.set_code(response.error_code)
517 returnValue(DeviceTypes())
518 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400519 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400520 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800521
522 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400523 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800524 def GetDeviceType(self, request, context):
525 log.info('grpc-request', request=request)
526 # we always deflect this to the local instance, as we assume
527 # they all loaded the same adapters, supporting the same device
528 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400529 response = yield self.dispatcher.dispatch('GetDeviceType',
530 request,
531 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400532 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400533 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400534 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400535 context.set_details('Device type \'{}\' error'.format(
536 request.id))
537 context.set_code(response.error_code)
538 returnValue(DeviceType())
539 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400540 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400541 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800542
543 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400544 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800545 def ListDeviceGroups(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400546 log.info('grpc-request', request=request)
547 response = yield self.dispatcher.dispatch('ListDeviceGroups',
548 Empty(),
549 context,
550 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400551 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400552 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800553
554 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400555 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800556 def GetDeviceGroup(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400557 log.info('grpc-request', request=request)
558 response = yield self.dispatcher.dispatch('GetDeviceGroup',
559 request,
560 context,
561 id=request.id)
562 log.info('grpc-response', response=response)
563 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400564 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400565 context.set_details('Device group\'{}\' error'.format(request.id))
566 context.set_code(response.error_code)
567 returnValue(DeviceGroup())
568 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400569 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400570 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800571
Nikolay Titov89004ec2017-06-19 18:22:42 -0400572 # bbf_fiber rpcs start
573 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400574 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400575 def GetAllChannelgroupConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400576 log.info('grpc-request', request=request)
577 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400578 'GetAllChannelgroupConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400579 Empty(),
580 context,
581 broadcast=True)
582 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400583 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400584 context.set_details('Channelgroup error')
585 context.set_code(response.error_code)
586 returnValue(Empty())
587 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400588 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400589 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400590
591 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400592 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400593 def CreateChannelgroup(self, request, context):
Nikolay Titov3b31db92017-08-02 18:11:33 -0400594 _method_name = sys._getframe().f_code.co_name
595 return self.manage_global_xpon_object (request, context, _method_name)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400596
597 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400598 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400599 def UpdateChannelgroup(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400600 log.info('grpc-request', request=request)
601 try:
602 assert isinstance(request, fb.ChannelgroupConfig)
603 request.id = create_empty_broadcast_id()
604 except AssertionError, e:
605 context.set_details(e.message)
606 context.set_code(StatusCode.INVALID_ARGUMENT)
607 returnValue(fb.ChannelgroupConfig())
608 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400609 'UpdateChannelgroup',
610 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400611 context,
612 id=request.id,
613 broadcast=True)
614 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400615 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400616 context.set_details('Channelgroup\'{}\' error'.format(request.id))
617 context.set_code(response.error_code)
618 returnValue(fb.ChannelgroupConfig())
619 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400620 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400621 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400622
623 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400624 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400625 def DeleteChannelgroup(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400626 log.info('grpc-request', request=request)
627 try:
628 assert isinstance(request, fb.ChannelgroupConfig)
629 request.id = create_empty_broadcast_id()
630 except AssertionError, e:
631 context.set_details(e.message)
632 context.set_code(StatusCode.INVALID_ARGUMENT)
633 returnValue(fb.ChannelgroupConfig())
634 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400635 'DeleteChannelgroup',
636 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400637 context,
638 id=request.id,
639 broadcast=True)
640 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400641 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400642 context.set_details('Channelgroup\'{}\' error'.format(request.id))
643 context.set_code(response.error_code)
644 returnValue(fb.ChannelgroupConfig())
645 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400646 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400647 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400648
649 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400650 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400651 def GetAllChannelpartitionConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400652 log.info('grpc-request', request=request)
653 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400654 'GetAllChannelpartitionConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400655 Empty(),
656 context,
657 broadcast=True)
658 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400659 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400660 context.set_details('Channelpartition error')
661 context.set_code(response.error_code)
662 returnValue(Empty())
663 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400664 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400665 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400666
667 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400668 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400669 def CreateChannelpartition(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400670 log.info('grpc-request', request=request)
671 try:
672 assert isinstance(request, fb.ChannelpartitionConfig)
673 request.id = create_empty_broadcast_id()
674 except AssertionError, e:
675 context.set_details(e.message)
676 context.set_code(StatusCode.INVALID_ARGUMENT)
677 returnValue(fb.ChannelpartitionConfig())
678 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400679 'CreateChannelpartition',
680 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400681 context,
682 id=request.id,
683 broadcast=True)
684 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400685 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400686 context.set_details('Channelpartition\'{}\' error'.format(
687 request.id))
688 context.set_code(response.error_code)
689 returnValue(fb.ChannelpartitionConfig())
690 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400691 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400692 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400693
694 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400695 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400696 def UpdateChannelpartition(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400697 log.info('grpc-request', request=request)
698 try:
699 assert isinstance(request, fb.ChannelpartitionConfig)
700 request.id = create_empty_broadcast_id()
701 except AssertionError, e:
702 context.set_details(e.message)
703 context.set_code(StatusCode.INVALID_ARGUMENT)
704 returnValue(fb.ChannelpartitionConfig())
705 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400706 'UpdateChannelpartition',
707 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400708 context,
709 id=request.id,
710 broadcast=True)
711 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400712 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400713 context.set_details('Channelpartition\'{}\' error'.format(
714 request.id))
715 context.set_code(response.error_code)
716 returnValue(fb.ChannelpartitionConfig())
717 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400718 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400719 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400720
721 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400722 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400723 def DeleteChannelpartition(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400724 log.info('grpc-request', request=request)
725 try:
726 assert isinstance(request, fb.ChannelpartitionConfig)
727 request.id = create_empty_broadcast_id()
728 except AssertionError, e:
729 context.set_details(e.message)
730 context.set_code(StatusCode.INVALID_ARGUMENT)
731 returnValue(fb.ChannelpartitionConfig())
732 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400733 'DeleteChannelpartition',
734 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400735 context,
736 id=request.id,
737 broadcast=True)
738 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400739 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400740 context.set_details('Channelpartition\'{}\' error'.format(
741 request.id))
742 context.set_code(response.error_code)
743 returnValue(fb.ChannelpartitionConfig())
744 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400745 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400746 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400747
748 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400749 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400750 def GetAllChannelpairConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400751 log.info('grpc-request', request=request)
752 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400753 'GetAllChannelpairConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400754 Empty(),
755 context,
756 broadcast=True)
757 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400758 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400759 context.set_details('Channelpair error')
760 context.set_code(response.error_code)
761 returnValue(Empty())
762 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400763 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400764 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400765
766 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400767 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400768 def CreateChannelpair(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400769 log.info('grpc-request', request=request)
770 try:
771 assert isinstance(request, fb.ChannelpairConfig)
772 request.id = create_empty_broadcast_id()
773 except AssertionError, e:
774 context.set_details(e.message)
775 context.set_code(StatusCode.INVALID_ARGUMENT)
776 returnValue(fb.ChannelpairConfig())
777 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400778 'CreateChannelpair',
779 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400780 context,
781 id=request.id,
782 broadcast=True)
783 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400784 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400785 context.set_details('Channelpair\'{}\' error'.format(request.id))
786 context.set_code(response.error_code)
787 returnValue(fb.ChannelpairConfig())
788 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400789 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400790 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400791
792 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400793 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400794 def UpdateChannelpair(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400795 log.info('grpc-request', request=request)
796 try:
797 assert isinstance(request, fb.ChannelpairConfig)
798 request.id = create_empty_broadcast_id()
799 except AssertionError, e:
800 context.set_details(e.message)
801 context.set_code(StatusCode.INVALID_ARGUMENT)
802 returnValue(fb.ChannelpairConfig())
803 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400804 'UpdateChannelpair',
805 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400806 context,
807 id=request.id,
808 broadcast=True)
809 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400810 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400811 context.set_details('Channelpair\'{}\' error'.format(request.id))
812 context.set_code(response.error_code)
813 returnValue(fb.ChannelpairConfig())
814 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400815 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400816 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400817
818 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400819 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400820 def DeleteChannelpair(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400821 log.info('grpc-request', request=request)
822 try:
823 assert isinstance(request, fb.ChannelpairConfig)
824 request.id = create_empty_broadcast_id()
825 except AssertionError, e:
826 context.set_details(e.message)
827 context.set_code(StatusCode.INVALID_ARGUMENT)
828 returnValue(fb.ChannelpairConfig())
829 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400830 'DeleteChannelpair',
831 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400832 context,
833 id=request.id,
834 broadcast=True)
835 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400836 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400837 context.set_details('Channelpair\'{}\' error'.format(request.id))
838 context.set_code(response.error_code)
839 returnValue(fb.ChannelpairConfig())
840 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400841 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400842 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400843
844 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400845 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400846 def GetAllChannelterminationConfig(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400847 log.info('grpc-request', request=request)
848 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400849 'GetAllChannelterminationConfig',
850 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400851 context,
852 id=request.id)
853 log.info('grpc-response', response=response)
854 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400855 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400856 context.set_details('Channeltermination \'{}\' error'.format(
857 request.id))
858 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400859 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400860 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400861 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400862 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400863
864 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400865 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400866 def CreateChanneltermination(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400867 log.info('grpc-request', request=request)
868 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400869 'CreateChanneltermination',
870 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400871 context,
872 id=request.id)
873 log.info('grpc-response', response=response)
874 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400875 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400876 context.set_details('Channeltermination \'{}\' error'.format(
877 request.id))
878 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400879 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400880 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400881 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400882 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400883
884 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400885 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400886 def UpdateChanneltermination(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400887 log.info('grpc-request', request=request)
888 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400889 'UpdateChanneltermination',
890 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400891 context,
892 id=request.id)
893 log.info('grpc-response', response=response)
894 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400895 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400896 context.set_details('Channeltermination \'{}\' error'.format(
897 request.id))
898 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400899 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400900 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400901 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400902 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400903
904 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400905 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400906 def DeleteChanneltermination(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400907 log.info('grpc-request', request=request)
908 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400909 'DeleteChanneltermination',
910 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400911 context,
912 id=request.id)
913 log.info('grpc-response', response=response)
914 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400915 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400916 context.set_details('Channeltermination \'{}\' error'.format(
917 request.id))
918 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400919 returnValue(fb.ChannelterminationConfig())
920 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400921 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400922 returnValue(response)
923
924 @twisted_async
925 @inlineCallbacks
926 def GetAllOntaniConfig(self, request, context):
927 log.info('grpc-request', request=request)
928 response = yield self.dispatcher.dispatch(
929 'GetAllOntaniConfig',
930 Empty(),
931 context,
932 broadcast=True)
933 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400934 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400935 context.set_details('Ontani error')
936 context.set_code(response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400937 returnValue(Empty())
938 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400939 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400940 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400941
942 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400943 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400944 def CreateOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400945 log.info('grpc-request', request=request)
946 try:
947 assert isinstance(request, fb.OntaniConfig)
948 request.id = create_empty_broadcast_id()
949 except AssertionError, e:
950 context.set_details(e.message)
951 context.set_code(StatusCode.INVALID_ARGUMENT)
952 returnValue(fb.OntaniConfig())
953 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400954 'CreateOntani',
955 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400956 context,
957 id=request.id,
958 broadcast=True)
959 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400960 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400961 context.set_details('Ontani \'{}\' error'.format(request.id))
962 context.set_code(response.error_code)
963 returnValue(fb.OntaniConfig())
964 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400965 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400966 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400967
968 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400969 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400970 def UpdateOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400971 log.info('grpc-request', request=request)
972 try:
973 assert isinstance(request, fb.OntaniConfig)
974 request.id = create_empty_broadcast_id()
975 except AssertionError, e:
976 context.set_details(e.message)
977 context.set_code(StatusCode.INVALID_ARGUMENT)
978 returnValue(fb.OntaniConfig())
979 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400980 'UpdateOntani',
981 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400982 context,
983 id=request.id,
984 broadcast=True)
985 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400986 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400987 context.set_details('Ontani \'{}\' error'.format(request.id))
988 context.set_code(response.error_code)
989 returnValue(fb.OntaniConfig())
990 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400991 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400992 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400993
994 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400995 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400996 def DeleteOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400997 log.info('grpc-request', request=request)
998 try:
999 assert isinstance(request, fb.OntaniConfig)
1000 request.id = create_empty_broadcast_id()
1001 except AssertionError, e:
1002 context.set_details(e.message)
1003 context.set_code(StatusCode.INVALID_ARGUMENT)
1004 returnValue(fb.OntaniConfig())
1005 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001006 'DeleteOntani',
1007 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001008 context,
1009 id=request.id,
1010 broadcast=True)
1011 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001012 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001013 context.set_details('Ontani \'{}\' error'.format(request.id))
1014 context.set_code(response.error_code)
1015 returnValue(fb.OntaniConfig())
1016 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001017 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001018 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001019
1020 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001021 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001022 def GetAllVOntaniConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001023 log.info('grpc-request', request=request)
1024 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001025 'GetAllVOntaniConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001026 Empty(),
1027 context,
1028 broadcast=True)
1029 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001030 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001031 context.set_details('VOntani error')
1032 context.set_code(response.error_code)
1033 returnValue(Empty())
1034 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001035 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001036 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001037
1038 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001039 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001040 def CreateVOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001041 log.info('grpc-request', request=request)
1042 try:
1043 assert isinstance(request, fb.VOntaniConfig)
1044 request.id = create_empty_broadcast_id()
1045 except AssertionError, e:
1046 context.set_details(e.message)
1047 context.set_code(StatusCode.INVALID_ARGUMENT)
1048 returnValue(fb.VOntaniConfig())
1049 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001050 'CreateVOntani',
1051 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001052 context,
1053 id=request.id,
1054 broadcast=True)
1055 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001056 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001057 context.set_details('VOntani \'{}\' error'.format(request.id))
1058 context.set_code(response.error_code)
1059 returnValue(fb.VOntaniConfig())
1060 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001061 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001062 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001063
1064 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001065 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001066 def UpdateVOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001067 log.info('grpc-request', request=request)
1068 try:
1069 assert isinstance(request, fb.VOntaniConfig)
1070 request.id = create_empty_broadcast_id()
1071 except AssertionError, e:
1072 context.set_details(e.message)
1073 context.set_code(StatusCode.INVALID_ARGUMENT)
1074 returnValue(fb.VOntaniConfig())
1075 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001076 'UpdateVOntani',
1077 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001078 context,
1079 id=request.id,
1080 broadcast=True)
1081 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001082 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001083 context.set_details('VOntani \'{}\' error'.format(request.id))
1084 context.set_code(response.error_code)
1085 returnValue(fb.VOntaniConfig())
1086 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001087 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001088 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001089
1090 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001091 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001092 def DeleteVOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001093 log.info('grpc-request', request=request)
1094 try:
1095 assert isinstance(request, fb.VOntaniConfig)
1096 request.id = create_empty_broadcast_id()
1097 except AssertionError, e:
1098 context.set_details(e.message)
1099 context.set_code(StatusCode.INVALID_ARGUMENT)
1100 returnValue(fb.VOntaniConfig())
1101 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001102 'DeleteVOntani',
1103 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001104 context,
1105 id=request.id,
1106 broadcast=True)
1107 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001108 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001109 context.set_details('VOntani \'{}\' error'.format(request.id))
1110 context.set_code(response.error_code)
1111 returnValue(fb.VOntaniConfig())
1112 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001113 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001114 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001115
1116 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001117 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001118 def GetAllVEnetConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001119 log.info('grpc-request', request=request)
1120 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001121 'GetAllVEnetConfig',
1122 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001123 context,
1124 broadcast=True)
1125 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001126 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001127 context.set_details('VEnet error')
1128 context.set_code(response.error_code)
1129 returnValue(Empty())
1130 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001131 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001132 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001133
1134 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001135 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001136 def CreateVEnet(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001137 log.info('grpc-request', request=request)
1138 try:
1139 assert isinstance(request, fb.VEnetConfig)
1140 request.id = create_empty_broadcast_id()
1141 except AssertionError, e:
1142 context.set_details(e.message)
1143 context.set_code(StatusCode.INVALID_ARGUMENT)
1144 returnValue(fb.VEnetConfig())
1145 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001146 'CreateVEnet',
1147 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001148 context,
1149 id=request.id,
1150 broadcast=True)
1151 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001152 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001153 context.set_details('VEnet \'{}\' error'.format(request.id))
1154 context.set_code(response.error_code)
1155 returnValue(fb.VEnetConfig())
1156 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001157 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001158 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001159
1160 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001161 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001162 def UpdateVEnet(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001163 log.info('grpc-request', request=request)
1164 try:
1165 assert isinstance(request, fb.VEnetConfig)
1166 request.id = create_empty_broadcast_id()
1167 except AssertionError, e:
1168 context.set_details(e.message)
1169 context.set_code(StatusCode.INVALID_ARGUMENT)
1170 returnValue(fb.VEnetConfig())
1171 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001172 'UpdateVEnet',
1173 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001174 context,
1175 id=request.id,
1176 broadcast=True)
1177 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001178 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001179 context.set_details('VEnet \'{}\' error'.format(request.id))
1180 context.set_code(response.error_code)
1181 returnValue(fb.VEnetConfig())
1182 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001183 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001184 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001185
1186 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001187 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001188 def DeleteVEnet(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001189 log.info('grpc-request', request=request)
1190 try:
1191 assert isinstance(request, fb.VEnetConfig)
1192 request.id = create_empty_broadcast_id()
1193 except AssertionError, e:
1194 context.set_details(e.message)
1195 context.set_code(StatusCode.INVALID_ARGUMENT)
1196 returnValue(fb.VEnetConfig())
1197 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001198 'DeleteVEnet',
1199 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001200 context,
1201 id=request.id,
1202 broadcast=True)
1203 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001204 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001205 context.set_details('VEnet \'{}\' error'.format(request.id))
1206 context.set_code(response.error_code)
1207 returnValue(fb.VEnetConfig())
1208 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001209 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001210 returnValue(response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001211
1212 @twisted_async
1213 @inlineCallbacks
1214 def GetAllTrafficDescriptorProfileData(self, request, context):
1215 _method_name = sys._getframe().f_code.co_name
1216 return self.get_all_global_xpon_object_data (request, context,
1217 _method_name)
1218
1219 @twisted_async
1220 @inlineCallbacks
1221 def CreateTrafficDescriptorProfileData(self, request, context):
1222 _method_name = sys._getframe().f_code.co_name
1223 return self.manage_global_xpon_object (request, context,
1224 _method_name)
1225
1226 @twisted_async
1227 @inlineCallbacks
1228 def UpdateTrafficDescriptorProfileData(self, request, context):
1229 _method_name = sys._getframe().f_code.co_name
1230 return self.manage_global_xpon_object (request, context,
1231 _method_name)
1232
1233 @twisted_async
1234 @inlineCallbacks
1235 def DeleteTrafficDescriptorProfileData(self, request, context):
1236 _method_name = sys._getframe().f_code.co_name
1237 return self.manage_global_xpon_object (request, context,
1238 _method_name)
1239
1240 @twisted_async
1241 @inlineCallbacks
1242 def GetAllTcontsConfigData(self, request, context):
1243 _method_name = sys._getframe().f_code.co_name
1244 return self.get_all_global_xpon_object_data (request, context,
1245 _method_name)
1246
1247 @twisted_async
1248 @inlineCallbacks
1249 def CreateTcontsConfigData(self, request, context):
1250 _method_name = sys._getframe().f_code.co_name
1251 return self.manage_global_xpon_object (request, context, _method_name)
1252
1253 @twisted_async
1254 @inlineCallbacks
1255 def UpdateTcontsConfigData(self, request, context):
1256 _method_name = sys._getframe().f_code.co_name
1257 return self.manage_global_xpon_object (request, context, _method_name)
1258
1259 @twisted_async
1260 @inlineCallbacks
1261 def DeleteTcontsConfigData(self, request, context):
1262 _method_name = sys._getframe().f_code.co_name
1263 return self.manage_global_xpon_object (request, context, _method_name)
1264
1265 @twisted_async
1266 @inlineCallbacks
1267 def GetAllGemportsConfigData(self, request, context):
1268 _method_name = sys._getframe().f_code.co_name
1269 return self.get_all_global_xpon_object_data (request, context,
1270 _method_name)
1271
1272 @twisted_async
1273 @inlineCallbacks
1274 def CreateGemportsConfigData(self, request, context):
1275 _method_name = sys._getframe().f_code.co_name
1276 return self.manage_global_xpon_object (request, context, _method_name)
1277
1278 @twisted_async
1279 @inlineCallbacks
1280 def UpdateGemportsConfigData(self, request, context):
1281 _method_name = sys._getframe().f_code.co_name
1282 return self.manage_global_xpon_object (request, context, _method_name)
1283
1284 @twisted_async
1285 @inlineCallbacks
1286 def DeleteGemportsConfigData(self, request, context):
1287 _method_name = sys._getframe().f_code.co_name
1288 return self.manage_global_xpon_object (request, context, _method_name)
1289
1290 @twisted_async
1291 @inlineCallbacks
1292 def GetAllMulticastGemportsConfigData(self, request, context):
1293 _method_name = sys._getframe().f_code.co_name
1294 return self.get_all_global_xpon_object_data (request, context,
1295 _method_name)
1296
1297 @twisted_async
1298 @inlineCallbacks
1299 def CreateMulticastGemportsConfigData(self, request, context):
1300 _method_name = sys._getframe().f_code.co_name
1301 return self.manage_global_xpon_object (request, context, _method_name)
1302
1303 @twisted_async
1304 @inlineCallbacks
1305 def UpdateMulticastGemportsConfigData(self, request, context):
1306 _method_name = sys._getframe().f_code.co_name
1307 return self.manage_global_xpon_object (request, context, _method_name)
1308
1309 @twisted_async
1310 @inlineCallbacks
1311 def DeleteMulticastGemportsConfigData(self, request, context):
1312 _method_name = sys._getframe().f_code.co_name
1313 return self.manage_global_xpon_object (request, context, _method_name)
1314
1315 @twisted_async
1316 @inlineCallbacks
1317 def GetAllMulticastDistributionSetData(self, request, context):
1318 _method_name = sys._getframe().f_code.co_name
1319 return self.get_all_global_xpon_object_data (request, context,
1320 _method_name)
1321
1322 @twisted_async
1323 @inlineCallbacks
1324 def CreateMulticastDistributionSetData(self, request, context):
1325 _method_name = sys._getframe().f_code.co_name
1326 return self.manage_global_xpon_object (request, context, _method_name)
1327
1328 @twisted_async
1329 @inlineCallbacks
1330 def UpdateMulticastDistributionSetData(self, request, context):
1331 _method_name = sys._getframe().f_code.co_name
1332 return self.manage_global_xpon_object (request, context, _method_name)
1333
1334 @twisted_async
1335 @inlineCallbacks
1336 def DeleteMulticastDistributionSetData(self, request, context):
1337 _method_name = sys._getframe().f_code.co_name
1338 return self.manage_global_xpon_object (request, context, _method_name)
1339
1340 def get_all_global_xpon_object_data(self, request, context, method_name):
1341 log.info('grpc-request', request=request)
1342 response = yield self.dispatcher.dispatch(
1343 method_name,
1344 Empty(),
1345 context,
1346 broadcast=True)
1347 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001348 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001349 context.set_details('{}\' error' .format(type(request).__name__))
1350 context.set_code(response.error_code)
1351 returnValue(Empty())
1352 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001353 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001354 returnValue(response)
1355
1356 def manage_global_xpon_object(self, request, context, method_name):
1357 log.info('grpc-request', request=request)
1358 _xpon_object_type = self.xpon_object_type[method_name]
1359 try:
1360 assert isinstance(request, _xpon_object_type)
1361 request.id = create_empty_broadcast_id()
1362 except AssertionError, e:
1363 context.set_details(e.message)
1364 context.set_code(StatusCode.INVALID_ARGUMENT)
1365 returnValue(_xpon_object_type())
1366 response = yield self.dispatcher.dispatch(
1367 method_name,
1368 request,
1369 context,
1370 id=request.id,
1371 broadcast=True)
1372 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001373 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001374 context.set_details('{}\'{}\' error'.format(type(request).__name__,
1375 request.id))
1376 context.set_code(response.error_code)
1377 returnValue(_xpon_object_type())
1378 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001379 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001380 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001381 # bbf_fiber rpcs end
1382
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001383 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001384 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001385 def CreateAlarmFilter(self, request, context):
1386 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001387 # Since AlarmFilter applies to the entire cluster, it will be assigned
1388 # a global id (using a global core_id). Every Voltha instance will
1389 # have the same data. Since the voltha instances are managed by
1390 # docker swarm mode then whenever an instance goes down it will be
1391 # brought up right away, hence reducing the chance of two instances
1392 # having different data. In future phases, we should adopt the
1393 # strategy of having a unique persistence model for cluster data
1394 # compare to instance data
1395 try:
1396 assert isinstance(request, AlarmFilter)
1397 request.id = create_cluster_id()
1398 except AssertionError, e:
1399 context.set_details(e.message)
1400 context.set_code(StatusCode.INVALID_ARGUMENT)
1401 returnValue(AlarmFilter())
1402
1403 response = yield self.dispatcher.dispatch('CreateAlarmFilter',
1404 request,
1405 context,
1406 id=request.id,
1407 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001408 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001409 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001410 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001411 context.set_details('Create alarm error')
1412 context.set_code(response.error_code)
1413 returnValue(AlarmFilter())
1414 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001415 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001416 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001417
1418 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001419 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001420 def GetAlarmFilter(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -04001421 log.info('grpc-request', request=request)
1422 response = yield self.dispatcher.dispatch('GetAlarmFilter',
1423 request,
1424 context,
1425 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001426 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001427 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001428 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001429 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1430 context.set_code(response.error_code)
1431 returnValue(AlarmFilter())
1432 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001433 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001434 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001435
1436 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001437 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001438 def UpdateAlarmFilter(self, request, context):
1439 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001440 response = yield self.dispatcher.dispatch('UpdateAlarmFilter',
1441 request,
1442 context,
1443 id=request.id,
1444 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001445 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001446 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001447 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001448 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1449 context.set_code(response.error_code)
1450 returnValue(AlarmFilter())
1451 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001452 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001453 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001454
1455 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001456 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001457 def DeleteAlarmFilter(self, request, context):
1458 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001459 response = yield self.dispatcher.dispatch('DeleteAlarmFilter',
1460 request,
1461 context,
1462 id=request.id,
1463 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001464 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001465 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001466 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001467 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1468 context.set_code(response.error_code)
1469 returnValue(Empty())
1470 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001471 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001472 returnValue(Empty())
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001473
1474 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001475 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001476 def ListAlarmFilters(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -04001477 log.info('grpc-request', request=request)
1478 response = yield self.dispatcher.dispatch('ListAlarmFilters',
1479 Empty(),
1480 context,
1481 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001482 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001483 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001484 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001485 context.set_details('Alarm filters error')
1486 context.set_code(response.error_code)
1487 returnValue(AlarmFilter())
1488 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001489 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001490 returnValue(response)
ggowdru236bd952017-06-20 20:32:55 -07001491
1492 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001493 @inlineCallbacks
ggowdru236bd952017-06-20 20:32:55 -07001494 def GetImages(self, request, context):
1495 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001496 response = yield self.dispatcher.dispatch('GetImages',
1497 request,
1498 context,
1499 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001500 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001501 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001502 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001503 context.set_details('Device \'{}\' error'.format(request.id))
1504 context.set_code(response.error_code)
1505 returnValue(Images())
1506 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001507 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001508 returnValue(response)
sathishg5ae86222017-06-28 15:16:29 +05301509
1510 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001511 @inlineCallbacks
sathishg5ae86222017-06-28 15:16:29 +05301512 def SelfTest(self, request, context):
1513 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001514 response = yield self.dispatcher.dispatch('SelfTest',
1515 request,
1516 context,
1517 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001518 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001519 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001520 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001521 context.set_details('Device \'{}\' error'.format(request.id))
1522 context.set_code(response.error_code)
1523 returnValue(SelfTestResponse())
1524 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001525 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001526 returnValue(response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001527
1528 @twisted_async
1529 @inlineCallbacks
1530 def DownloadImage(self, request, context):
1531 try:
1532 log.info('grpc-request', request=request)
1533 response = yield self.dispatcher.dispatch('DownloadImage',
1534 request,
1535 context,
1536 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001537 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001538 except Exception as e:
1539 log.exception('grpc-exception', e=e)
1540
1541 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001542 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001543 context.set_details('Device \'{}\' error'.format(request.id))
1544 context.set_code(response.error_code)
1545 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1546 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001547 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001548 returnValue(response)
1549
1550 @twisted_async
1551 @inlineCallbacks
1552 def GetImageDownloadStatus(self, request, context):
1553 try:
1554 log.info('grpc-request', request=request)
1555 response = yield self.dispatcher.dispatch('GetImageDownloadStatus',
1556 request,
1557 context,
1558 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001559 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001560 except Exception as e:
1561 log.exception('grpc-exception', e=e)
1562
1563 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001564 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001565 context.set_details('Device \'{}\' error'.format(request.id))
1566 context.set_code(response.error_code)
1567 returnValue(ImageDownloads())
1568 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001569 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001570 returnValue(response)
1571
1572 @twisted_async
1573 @inlineCallbacks
1574 def GetImageDownload(self, request, context):
1575 try:
1576 log.info('grpc-request', request=request)
1577 response = yield self.dispatcher.dispatch('GetImageDownload',
1578 request,
1579 context,
1580 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001581 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001582 except Exception as e:
1583 log.exception('grpc-exception', e=e)
1584
1585 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001586 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001587 context.set_details('Device \'{}\' error'.format(request.id))
1588 context.set_code(response.error_code)
1589 returnValue(ImageDownload())
1590 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001591 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001592 returnValue(response)
1593
1594 @twisted_async
1595 @inlineCallbacks
1596 def ListImageDownloads(self, request, context):
1597 try:
1598 log.info('grpc-request', request=request)
1599 response = yield self.dispatcher.dispatch('ListImageDownloads',
1600 request,
1601 context,
1602 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001603 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001604 except Exception as e:
1605 log.exception('grpc-exception', e=e)
1606
1607 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001608 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001609 context.set_details('Device \'{}\' error'.format(request.id))
1610 context.set_code(response.error_code)
1611 returnValue(ImageDownloads())
1612 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001613 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001614 returnValue(response)
1615
1616
1617 @twisted_async
1618 @inlineCallbacks
1619 def CancelImageDownload(self, request, context):
1620 try:
1621 log.info('grpc-request', request=request)
1622 response = yield self.dispatcher.dispatch('CancelImageDownload',
1623 request,
1624 context,
1625 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001626 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001627 except Exception as e:
1628 log.exception('grpc-exception', e=e)
1629
1630 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001631 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001632 context.set_details('Device \'{}\' error'.format(request.id))
1633 context.set_code(response.error_code)
1634 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1635 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001636 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001637 returnValue(response)
1638
1639 @twisted_async
1640 @inlineCallbacks
1641 def ActivateImageUpdate(self, request, context):
1642 try:
1643 log.info('grpc-request', request=request)
1644 response = yield self.dispatcher.dispatch('ActivateImageUpdate',
1645 request,
1646 context,
1647 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001648 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001649 except Exception as e:
1650 log.exception('grpc-exception', e=e)
1651
1652 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001653 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001654 context.set_details('Device \'{}\' error'.format(request.id))
1655 context.set_code(response.error_code)
1656 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1657 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001658 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001659 returnValue(response)
1660
1661 @twisted_async
1662 @inlineCallbacks
1663 def RevertImageUpdate(self, request, context):
1664 try:
1665 log.info('grpc-request', request=request)
1666 response = yield self.dispatcher.dispatch('RevertImageUpdate',
1667 request,
1668 context,
1669 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001670 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001671 except Exception as e:
1672 log.exception('grpc-exception', e=e)
1673
1674 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001675 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001676 context.set_details('Device \'{}\' error'.format(request.id))
1677 context.set_code(response.error_code)
1678 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1679 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001680 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001681 returnValue(response)