blob: dd7467f111ec581b4e5b894e980d2fdb180852d7 [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
Scott Bakerd865fa22018-11-07 11:45:28 -080028from voltha.protos.voltha_pb2_grpc import \
Zsolt Haraszti66862032016-11-28 14:28:39 -080029 add_VolthaGlobalServiceServicer_to_server, VolthaLocalServiceStub, \
Scott Bakerd865fa22018-11-07 11:45:28 -080030 VolthaGlobalServiceServicer, VolthaGlobalServiceStub
31from voltha.protos.voltha_pb2 import \
32 Voltha, VolthaInstances, VolthaInstance, \
Jonathan Hart8d21c322018-04-17 07:42:02 -070033 LogicalDevice, LogicalPort, Ports, Flows, FlowGroups, Device, SelfTestResponse, \
Scott Bakerd865fa22018-11-07 11:45:28 -080034 Devices, DeviceType, DeviceTypes, DeviceGroup, \
khenaidoo08d48d22017-06-29 19:42:49 -040035 AlarmFilter, AlarmFilters
Zsolt Haraszti66862032016-11-28 14:28:39 -080036from voltha.registry import registry
37from google.protobuf.empty_pb2 import Empty
khenaidoo08d48d22017-06-29 19:42:49 -040038from dispatcher import DispatchError
Rachit Shrivastavaa182e912017-07-28 15:18:34 -040039from voltha.protos import bbf_fiber_base_pb2 as fb
Nikolay Titov3b31db92017-08-02 18:11:33 -040040from voltha.protos.bbf_fiber_base_pb2 import ChannelgroupConfig, \
41 ChannelpartitionConfig, ChannelpairConfig, ChannelterminationConfig, \
42 OntaniConfig, VOntaniConfig, VEnetConfig
43from voltha.protos.bbf_fiber_traffic_descriptor_profile_body_pb2 import \
44 TrafficDescriptorProfileData
45from voltha.protos.bbf_fiber_tcont_body_pb2 import TcontsConfigData
46from voltha.protos.bbf_fiber_gemport_body_pb2 import GemportsConfigData
47from voltha.protos.bbf_fiber_multicast_gemport_body_pb2 import \
48 MulticastGemportsConfigData
49from voltha.protos.bbf_fiber_multicast_distribution_set_body_pb2 import \
50 MulticastDistributionSetData
Chip Bolinga279a1c2018-08-29 15:18:13 -050051from voltha.protos.omci_mib_db_pb2 import MibDeviceData
jasonhuang5f3e63b2018-07-27 01:32:48 +080052from voltha.protos.omci_alarm_db_pb2 import AlarmDeviceData
Zsolt Haraszti66862032016-11-28 14:28:39 -080053
54log = structlog.get_logger()
55
56
57class GlobalHandler(VolthaGlobalServiceServicer):
Nikolay Titov3b31db92017-08-02 18:11:33 -040058
59 xpon_object_type = {
60 'CreateChannelgroup': ChannelgroupConfig,
61 'UpdateChannelgroup': ChannelgroupConfig,
62 'DeleteChannelgroup': ChannelgroupConfig,
63 'CreateChannelpartition': ChannelpartitionConfig,
64 'UpdateChannelpartition': ChannelpartitionConfig,
65 'DeleteChannelpartition': ChannelpartitionConfig,
66 'CreateChannelpair': ChannelpairConfig,
67 'UpdateChannelpair': ChannelpairConfig,
68 'DeleteChannelpair': ChannelpairConfig,
69 'CreateChanneltermination': ChannelterminationConfig,
70 'UpdateChanneltermination': ChannelterminationConfig,
71 'DeleteChanneltermination': ChannelterminationConfig,
72 'CreateVOntani': VOntaniConfig,
73 'UpdateVOntani': VOntaniConfig,
74 'DeleteVOntani': VOntaniConfig,
75 'CreateOntani': OntaniConfig,
76 'UpdateOntani': OntaniConfig,
77 'DeleteOntani': OntaniConfig,
78 'CreateVEnet': VEnetConfig,
79 'UpdateVEnet': VEnetConfig,
80 'DeleteVEnet': VEnetConfig,
81 'CreateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
82 'UpdateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
83 'DeleteTrafficDescriptorProfileData': TrafficDescriptorProfileData,
84 'CreateTcontsConfigData': TcontsConfigData,
85 'UpdateTcontsConfigData': TcontsConfigData,
86 'DeleteTcontsConfigData': TcontsConfigData,
87 'CreateGemportsConfigData': GemportsConfigData,
88 'UpdateGemportsConfigData': GemportsConfigData,
89 'DeleteGemportsConfigData': GemportsConfigData,
90 'CreateMulticastGemportsConfigData': MulticastGemportsConfigData,
91 'UpdateMulticastGemportsConfigData': MulticastGemportsConfigData,
92 'DeleteMulticastGemportsConfigData': MulticastGemportsConfigData,
93 'CreateMulticastDistributionSetData': MulticastDistributionSetData,
94 'UpdateMulticastDistributionSetData': MulticastDistributionSetData,
95 'DeleteMulticastDistributionSetData': MulticastDistributionSetData
96 }
97
Zsolt Haraszti66862032016-11-28 14:28:39 -080098 def __init__(self, dispatcher, instance_id, **init_kw):
99 self.dispatcher = dispatcher
100 self.instance_id = instance_id
101 self.init_kw = init_kw
102 self.root = None
103 self.stopped = False
104
105 def start(self):
106 log.debug('starting')
107 self.root = ConfigRoot(Voltha(**self.init_kw))
Zsolt Haraszti66862032016-11-28 14:28:39 -0800108 log.info('started')
109 return self
110
khenaidoocbe30832017-08-25 10:43:27 -0400111 def register_grpc_service(self):
112 log.debug('registering')
113 registry('grpc_server').register(
114 add_VolthaGlobalServiceServicer_to_server, self)
115 log.info('registered')
116
Zsolt Haraszti66862032016-11-28 14:28:39 -0800117 def stop(self):
118 log.debug('stopping')
119 self.stopped = True
120 log.info('stopped')
121
122 # gRPC service method implementations. BE CAREFUL; THESE ARE CALLED ON
123 # the gRPC threadpool threads.
124
125 @twisted_async
126 def GetVoltha(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400127 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800128 return self.root.get('/', depth=1)
129
130 @twisted_async
Zsolt Haraszti66862032016-11-28 14:28:39 -0800131 def ListVolthaInstances(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400132 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400133 items = self.dispatcher.get_cluster_instances()
134 return VolthaInstances(items=items)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800135
136 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400137 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800138 def GetVolthaInstance(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400139 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400140 core_id = self.dispatcher.get_core_id_from_instance_id(request.id)
141 if not core_id:
142 log.info('invalid-instance-id', instance=request.id)
143 context.set_details('Voltha Instance error')
Zsolt Haraszti66862032016-11-28 14:28:39 -0800144 context.set_code(StatusCode.NOT_FOUND)
khenaidoo08d48d22017-06-29 19:42:49 -0400145 returnValue(VolthaInstance())
146
147 response = yield self.dispatcher.dispatch('GetVolthaInstance',
148 Empty(),
149 context,
150 core_id=core_id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400151 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400152 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400153 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400154 context.set_details('Voltha Instance error')
155 context.set_code(response.error_code)
156 returnValue(VolthaInstance())
157 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400158 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400159 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800160
161 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400162 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800163 def ListLogicalDevices(self, request, context):
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000164 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400165 response = yield self.dispatcher.dispatch('ListLogicalDevices',
166 Empty(),
167 context,
168 broadcast=True)
Saurav Das458b7902019-02-25 22:48:05 -0800169 # log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400170 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800171
172 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400173 @inlineCallbacks
Nicolas Palpacuer75ba77f2018-08-27 17:26:57 -0400174 def ListReachableLogicalDevices(self, request, context):
175 log.debug('grpc-request', request=request)
176 response = yield self.dispatcher.dispatch(
177 'ListReachableLogicalDevices',
178 Empty(),
179 context,
180 broadcast=True)
Saurav Das458b7902019-02-25 22:48:05 -0800181 # log.debug('grpc-response', response=response)
Nicolas Palpacuer75ba77f2018-08-27 17:26:57 -0400182 returnValue(response)
183
184 @twisted_async
185 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800186 def GetLogicalDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400187 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800188
khenaidoo08d48d22017-06-29 19:42:49 -0400189 response = yield self.dispatcher.dispatch('GetLogicalDevice',
190 request,
191 context,
192 id=request.id)
Saurav Das458b7902019-02-25 22:48:05 -0800193 # 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 \'{}\' error'.format(request.id))
198 context.set_code(response.error_code)
199 returnValue(LogicalDevice())
200 else:
Saurav Das458b7902019-02-25 22:48:05 -0800201 # 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 ListLogicalDevicePorts(self, request, context):
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000207 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800208
khenaidoo08d48d22017-06-29 19:42:49 -0400209 response = yield self.dispatcher.dispatch('ListLogicalDevicePorts',
210 request,
211 context,
212 id=request.id)
Saurav Das458b7902019-02-25 22:48:05 -0800213 # log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400214 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400215 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800216 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400217 'Logical device ports \'{}\' error'.format(request.id))
218 context.set_code(response.error_code)
219 returnValue(Ports())
220 else:
Saurav Das458b7902019-02-25 22:48:05 -0800221 # log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400222 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800223
224 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400225 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700226 def GetLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400227 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700228
229 response = yield self.dispatcher.dispatch('GetLogicalDevicePort',
230 request,
231 context,
232 id=request.id)
Saurav Das458b7902019-02-25 22:48:05 -0800233 # log.debug('grpc-response', response=response)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700234 if isinstance(response, DispatchError):
235 log.warn('grpc-error-response', error=response.error_code)
236 context.set_details(
237 'Logical port \'{}\' on device \'{}\' error'.format(request.port_id, request.id))
238 context.set_code(response.error_code)
239 returnValue(LogicalPort())
240 else:
Saurav Das458b7902019-02-25 22:48:05 -0800241 # log.debug('grpc-success-response', response=response)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700242 returnValue(response)
243
244 @twisted_async
245 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800246 def ListLogicalDeviceFlows(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400247 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400248 response = yield self.dispatcher.dispatch('ListLogicalDeviceFlows',
249 request,
250 context,
251 id=request.id)
Saurav Das458b7902019-02-25 22:48:05 -0800252 # 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)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800255 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400256 'Logical device \'{}\' error'.format(request.id))
257 context.set_code(response.error_code)
258 returnValue(Flows())
259 else:
Saurav Das458b7902019-02-25 22:48:05 -0800260 # 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
Jonathan Hart8d21c322018-04-17 07:42:02 -0700265 def EnableLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400266 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700267 response = yield self.dispatcher.dispatch('EnableLogicalDevicePort',
268 request,
269 context,
270 id=request.id)
271 log.debug('grpc-response', response=response)
272 if isinstance(response, DispatchError):
273 log.warn('grpc-error-response', error=response.error_code)
274 context.set_details(
275 'Logical device \'{}\' error'.format(request.id))
276 context.set_code(response.error_code)
277 returnValue(Empty())
278 else:
279 log.debug('grpc-success-response', response=response)
280 returnValue(response)
281
282 @twisted_async
283 @inlineCallbacks
284 def DisableLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400285 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700286 response = yield self.dispatcher.dispatch('DisableLogicalDevicePort',
287 request,
288 context,
289 id=request.id)
290 log.debug('grpc-response', response=response)
291 if isinstance(response, DispatchError):
292 log.warn('grpc-error-response', error=response.error_code)
293 context.set_details(
294 'Logical device \'{}\' error'.format(request.id))
295 context.set_code(response.error_code)
296 returnValue(Empty())
297 else:
298 log.debug('grpc-success-response', response=response)
299 returnValue(response)
300
301 @twisted_async
302 @inlineCallbacks
Koray Koktenefcdf522018-12-06 00:16:56 +0300303 def UpdateLogicalDeviceMeterTable(self, request, context):
304 log.info('meter-table-update-grpc-request', request=request)
305 response = yield self.dispatcher.dispatch(
306 'UpdateLogicalDeviceMeterTable',
307 request,
308 context,
309 id= request.id)
310 log.info("meter-table-update-grpc-response", response=response)
311
312 if isinstance(response, DispatchError):
313 log.warn('grpc-error-response', error=response.error_code)
314 context.set_details(
315 'Logical device \'{}\' error'.format(request.id))
316 context.set_code(response.error_code)
317 returnValue(Empty())
318 else:
319 log.info('grpc-success-response', response=response)
320 returnValue(response)
321
322 @twisted_async
323 @inlineCallbacks
324 def GetMeterStatsOfLogicalDevice(self, request, context):
325 log.info('meter-stats-request-grpc-request', request=request)
326 response = yield self.dispatcher.dispatch(
327 'GetMeterStatsOfLogicalDevice',
328 request,
329 context,
330 id=request.id)
331 log.info("meter-stats-request-grpc-response", response=response)
332
333 if isinstance(response, DispatchError):
334 log.warn('grpc-error-response', error=response.error_code)
335 context.set_details(
336 'Logical device \'{}\' error'.format(request.id))
337 context.set_code(response.error_code)
338 returnValue(Empty())
339 else:
340 log.info('grpc-success-response', response=response)
341 returnValue(response)
342
343 @twisted_async
344 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800345 def UpdateLogicalDeviceFlowTable(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400346 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400347 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800348 'UpdateLogicalDeviceFlowTable',
349 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400350 context,
351 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400352 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400353 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400354 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400355 context.set_details(
356 'Logical device \'{}\' error'.format(request.id))
357 context.set_code(response.error_code)
358 returnValue(Empty())
359 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400360 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400361 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800362
363 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400364 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800365 def ListLogicalDeviceFlowGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400366 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400367 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800368 'ListLogicalDeviceFlowGroups',
369 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400370 context,
371 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400372 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400373 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400374 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400375 context.set_details(
376 'Logical device \'{}\' error'.format(request.id))
377 context.set_code(response.error_code)
378 returnValue(FlowGroups())
379 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400380 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400381 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800382
383 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400384 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800385 def UpdateLogicalDeviceFlowGroupTable(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400386 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400387 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800388 'UpdateLogicalDeviceFlowGroupTable',
389 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400390 context,
391 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400392 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400393 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400394 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400395 context.set_details(
396 'Logical device \'{}\' error'.format(request.id))
397 context.set_code(response.error_code)
398 returnValue(Empty())
399 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400400 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400401 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800402
403 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400404 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800405 def ListDevices(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400406 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400407 response = yield self.dispatcher.dispatch('ListDevices',
408 Empty(),
409 context,
410 broadcast=True)
Saurav Das458b7902019-02-25 22:48:05 -0800411 # log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400412 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800413
414 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400415 @inlineCallbacks
khenaidoo997edbc2017-07-13 10:25:58 -0400416 def ListAdapters(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400417 log.debug('grpc-request', request=request)
khenaidoo997edbc2017-07-13 10:25:58 -0400418 response = yield self.dispatcher.dispatch('ListAdapters',
419 Empty(),
420 context,
421 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400422 log.debug('grpc-response', response=response)
khenaidoo997edbc2017-07-13 10:25:58 -0400423 returnValue(response)
424
425 @twisted_async
426 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800427 def GetDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400428 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400429 response = yield self.dispatcher.dispatch('GetDevice',
430 request,
431 context,
432 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400433 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400434 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400435 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400436 context.set_details('Device \'{}\' error'.format(request.id))
437 context.set_code(response.error_code)
438 returnValue(Device())
439 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400440 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400441 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800442
443 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400444 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800445 def CreateDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400446 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400447 response = yield self.dispatcher.dispatch('CreateDevice',
448 request,
449 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400450 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400451 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400452 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400453 context.set_details('Create device error')
454 context.set_code(response.error_code)
455 returnValue(Device())
456 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400457 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400458 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800459
460 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400461 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500462 def EnableDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400463 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400464 response = yield self.dispatcher.dispatch('EnableDevice',
465 request,
466 context,
467 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400468 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400469 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400470 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400471 context.set_details('Device \'{}\' error'.format(request.id))
472 context.set_code(response.error_code)
473 returnValue(Device())
474 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400475 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400476 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500477
478 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400479 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500480 def DisableDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400481 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400482 response = yield self.dispatcher.dispatch('DisableDevice',
483 request,
484 context,
485 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400486 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400487 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400488 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400489 context.set_details('Device \'{}\' error'.format(request.id))
490 context.set_code(response.error_code)
491 returnValue(Device())
492 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400493 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400494 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500495
496 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400497 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500498 def RebootDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400499 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400500 response = yield self.dispatcher.dispatch('RebootDevice',
501 request,
502 context,
503 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400504 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400505 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400506 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400507 context.set_details('Device \'{}\' error'.format(request.id))
508 context.set_code(response.error_code)
509 returnValue(Device())
510 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400511 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400512 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500513
514 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400515 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500516 def DeleteDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400517 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400518 response = yield self.dispatcher.dispatch('DeleteDevice',
519 request,
520 context,
521 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400522 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400523 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400524 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400525 context.set_details('Device \'{}\' error'.format(request.id))
526 context.set_code(response.error_code)
527 returnValue(Empty())
528 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400529 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400530 returnValue(Empty())
Zsolt Haraszti66862032016-11-28 14:28:39 -0800531
532 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400533 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800534 def ListDevicePorts(self, request, context):
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000535 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400536 response = yield self.dispatcher.dispatch('ListDevicePorts',
537 request,
538 context,
539 id=request.id)
Saurav Das458b7902019-02-25 22:48:05 -0800540 # log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400541 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400542 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400543 context.set_details('Device \'{}\' error'.format(request.id))
544 context.set_code(response.error_code)
545 returnValue(Ports())
546 else:
Saurav Das458b7902019-02-25 22:48:05 -0800547 # log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400548 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800549
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500550 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400551 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500552 def ListDevicePmConfigs(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400553 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400554 response = yield self.dispatcher.dispatch('ListDevicePmConfigs',
555 request,
556 context,
557 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400558 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400559 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400560 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400561 context.set_details('Device \'{}\' error'.format(request.id))
562 context.set_code(response.error_code)
563 returnValue(PmConfigs())
564 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400565 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400566 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500567
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500568 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400569 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500570 def UpdateDevicePmConfigs(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400571 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400572 response = yield self.dispatcher.dispatch('UpdateDevicePmConfigs',
573 request,
574 context,
575 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400576 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400577 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400578 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400579 context.set_details('Device \'{}\' error'.format(request.id))
580 context.set_code(response.error_code)
581 returnValue(Empty())
582 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400583 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400584 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500585
Zsolt Haraszti66862032016-11-28 14:28:39 -0800586 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400587 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800588 def ListDeviceFlows(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400589 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400590 response = yield self.dispatcher.dispatch('ListDeviceFlows',
591 request,
592 context,
593 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400594 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400595 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400596 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400597 context.set_details('Device \'{}\' error'.format(request.id))
598 context.set_code(response.error_code)
599 returnValue(Flows())
600 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400601 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400602 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800603
604 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400605 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800606 def ListDeviceFlowGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400607 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400608 response = yield self.dispatcher.dispatch('ListDeviceFlowGroups',
609 request,
610 context,
611 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400612 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400613 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400614 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400615 context.set_details('Device \'{}\' error'.format(request.id))
616 context.set_code(response.error_code)
617 returnValue(FlowGroups())
618 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400619 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400620 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800621
622 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400623 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800624 def ListDeviceTypes(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400625 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800626 # we always deflect this to the local instance, as we assume
627 # they all loaded the same adapters, supporting the same device
628 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400629 response = yield self.dispatcher.dispatch('ListDeviceTypes',
630 request,
631 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400632 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400633 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400634 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400635 context.set_details('Device types error')
636 context.set_code(response.error_code)
637 returnValue(DeviceTypes())
638 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400639 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400640 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800641
642 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400643 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800644 def GetDeviceType(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400645 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800646 # we always deflect this to the local instance, as we assume
647 # they all loaded the same adapters, supporting the same device
648 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400649 response = yield self.dispatcher.dispatch('GetDeviceType',
650 request,
651 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400652 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400653 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400654 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400655 context.set_details('Device type \'{}\' error'.format(
656 request.id))
657 context.set_code(response.error_code)
658 returnValue(DeviceType())
659 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400660 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400661 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800662
663 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400664 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800665 def ListDeviceGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400666 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400667 response = yield self.dispatcher.dispatch('ListDeviceGroups',
668 Empty(),
669 context,
670 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400671 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400672 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800673
674 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400675 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800676 def GetDeviceGroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400677 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400678 response = yield self.dispatcher.dispatch('GetDeviceGroup',
679 request,
680 context,
681 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400682 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400683 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400684 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400685 context.set_details('Device group\'{}\' error'.format(request.id))
686 context.set_code(response.error_code)
687 returnValue(DeviceGroup())
688 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400689 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400690 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800691
Nikolay Titov89004ec2017-06-19 18:22:42 -0400692 # bbf_fiber rpcs start
693 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400694 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400695 def GetAllChannelgroupConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400696 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400697 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400698 'GetAllChannelgroupConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400699 Empty(),
700 context,
701 broadcast=True)
702 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400703 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400704 context.set_details('Channelgroup error')
705 context.set_code(response.error_code)
706 returnValue(Empty())
707 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400708 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400709 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400710
711 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400712 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400713 def CreateChannelgroup(self, request, context):
Nikolay Titov3b31db92017-08-02 18:11:33 -0400714 _method_name = sys._getframe().f_code.co_name
715 return self.manage_global_xpon_object (request, context, _method_name)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400716
717 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400718 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400719 def UpdateChannelgroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400720 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400721 try:
722 assert isinstance(request, fb.ChannelgroupConfig)
723 request.id = create_empty_broadcast_id()
724 except AssertionError, e:
725 context.set_details(e.message)
726 context.set_code(StatusCode.INVALID_ARGUMENT)
727 returnValue(fb.ChannelgroupConfig())
728 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400729 'UpdateChannelgroup',
730 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400731 context,
732 id=request.id,
733 broadcast=True)
734 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400735 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400736 context.set_details('Channelgroup\'{}\' error'.format(request.id))
737 context.set_code(response.error_code)
738 returnValue(fb.ChannelgroupConfig())
739 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400740 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400741 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400742
743 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400744 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400745 def DeleteChannelgroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400746 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400747 try:
748 assert isinstance(request, fb.ChannelgroupConfig)
749 request.id = create_empty_broadcast_id()
750 except AssertionError, e:
751 context.set_details(e.message)
752 context.set_code(StatusCode.INVALID_ARGUMENT)
753 returnValue(fb.ChannelgroupConfig())
754 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400755 'DeleteChannelgroup',
756 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400757 context,
758 id=request.id,
759 broadcast=True)
760 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400761 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400762 context.set_details('Channelgroup\'{}\' error'.format(request.id))
763 context.set_code(response.error_code)
764 returnValue(fb.ChannelgroupConfig())
765 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400766 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400767 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400768
769 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400770 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400771 def GetAllChannelpartitionConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400772 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400773 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400774 'GetAllChannelpartitionConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400775 Empty(),
776 context,
777 broadcast=True)
778 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400779 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400780 context.set_details('Channelpartition error')
781 context.set_code(response.error_code)
782 returnValue(Empty())
783 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400784 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400785 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400786
787 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400788 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400789 def CreateChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400790 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400791 try:
792 assert isinstance(request, fb.ChannelpartitionConfig)
793 request.id = create_empty_broadcast_id()
794 except AssertionError, e:
795 context.set_details(e.message)
796 context.set_code(StatusCode.INVALID_ARGUMENT)
797 returnValue(fb.ChannelpartitionConfig())
798 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400799 'CreateChannelpartition',
800 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400801 context,
802 id=request.id,
803 broadcast=True)
804 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400805 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400806 context.set_details('Channelpartition\'{}\' error'.format(
807 request.id))
808 context.set_code(response.error_code)
809 returnValue(fb.ChannelpartitionConfig())
810 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400811 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400812 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400813
814 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400815 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400816 def UpdateChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400817 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400818 try:
819 assert isinstance(request, fb.ChannelpartitionConfig)
820 request.id = create_empty_broadcast_id()
821 except AssertionError, e:
822 context.set_details(e.message)
823 context.set_code(StatusCode.INVALID_ARGUMENT)
824 returnValue(fb.ChannelpartitionConfig())
825 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400826 'UpdateChannelpartition',
827 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400828 context,
829 id=request.id,
830 broadcast=True)
831 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400832 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400833 context.set_details('Channelpartition\'{}\' error'.format(
834 request.id))
835 context.set_code(response.error_code)
836 returnValue(fb.ChannelpartitionConfig())
837 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400838 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400839 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400840
841 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400842 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400843 def DeleteChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400844 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400845 try:
846 assert isinstance(request, fb.ChannelpartitionConfig)
847 request.id = create_empty_broadcast_id()
848 except AssertionError, e:
849 context.set_details(e.message)
850 context.set_code(StatusCode.INVALID_ARGUMENT)
851 returnValue(fb.ChannelpartitionConfig())
852 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400853 'DeleteChannelpartition',
854 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400855 context,
856 id=request.id,
857 broadcast=True)
858 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400859 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400860 context.set_details('Channelpartition\'{}\' error'.format(
861 request.id))
862 context.set_code(response.error_code)
863 returnValue(fb.ChannelpartitionConfig())
864 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400865 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400866 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400867
868 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400869 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400870 def GetAllChannelpairConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400871 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400872 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400873 'GetAllChannelpairConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400874 Empty(),
875 context,
876 broadcast=True)
877 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400878 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400879 context.set_details('Channelpair error')
880 context.set_code(response.error_code)
881 returnValue(Empty())
882 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400883 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400884 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400885
886 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400887 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400888 def CreateChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400889 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400890 try:
891 assert isinstance(request, fb.ChannelpairConfig)
892 request.id = create_empty_broadcast_id()
893 except AssertionError, e:
894 context.set_details(e.message)
895 context.set_code(StatusCode.INVALID_ARGUMENT)
896 returnValue(fb.ChannelpairConfig())
897 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400898 'CreateChannelpair',
899 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400900 context,
901 id=request.id,
902 broadcast=True)
903 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400904 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400905 context.set_details('Channelpair\'{}\' error'.format(request.id))
906 context.set_code(response.error_code)
907 returnValue(fb.ChannelpairConfig())
908 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400909 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400910 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400911
912 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400913 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400914 def UpdateChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400915 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400916 try:
917 assert isinstance(request, fb.ChannelpairConfig)
918 request.id = create_empty_broadcast_id()
919 except AssertionError, e:
920 context.set_details(e.message)
921 context.set_code(StatusCode.INVALID_ARGUMENT)
922 returnValue(fb.ChannelpairConfig())
923 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400924 'UpdateChannelpair',
925 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400926 context,
927 id=request.id,
928 broadcast=True)
929 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400930 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400931 context.set_details('Channelpair\'{}\' error'.format(request.id))
932 context.set_code(response.error_code)
933 returnValue(fb.ChannelpairConfig())
934 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400935 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400936 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400937
938 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400939 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400940 def DeleteChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400941 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400942 try:
943 assert isinstance(request, fb.ChannelpairConfig)
944 request.id = create_empty_broadcast_id()
945 except AssertionError, e:
946 context.set_details(e.message)
947 context.set_code(StatusCode.INVALID_ARGUMENT)
948 returnValue(fb.ChannelpairConfig())
949 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400950 'DeleteChannelpair',
951 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400952 context,
953 id=request.id,
954 broadcast=True)
955 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400956 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400957 context.set_details('Channelpair\'{}\' error'.format(request.id))
958 context.set_code(response.error_code)
959 returnValue(fb.ChannelpairConfig())
960 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400961 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400962 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400963
964 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400965 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400966 def GetAllChannelterminationConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400967 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400968 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400969 'GetAllChannelterminationConfig',
970 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400971 context,
972 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400973 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400974 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400975 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400976 context.set_details('Channeltermination \'{}\' error'.format(
977 request.id))
978 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400979 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400980 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400981 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400982 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400983
984 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400985 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400986 def CreateChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400987 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400988 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400989 'CreateChanneltermination',
990 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400991 context,
992 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400993 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400994 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400995 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400996 context.set_details('Channeltermination \'{}\' error'.format(
997 request.id))
998 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400999 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001000 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001001 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001002 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001003
1004 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001005 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001006 def UpdateChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001007 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001008 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001009 'UpdateChanneltermination',
1010 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001011 context,
1012 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001013 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001014 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001015 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001016 context.set_details('Channeltermination \'{}\' error'.format(
1017 request.id))
1018 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001019 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001020 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001021 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001022 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001023
1024 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001025 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001026 def DeleteChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001027 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001028 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001029 'DeleteChanneltermination',
1030 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001031 context,
1032 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001033 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001034 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001035 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001036 context.set_details('Channeltermination \'{}\' error'.format(
1037 request.id))
1038 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001039 returnValue(fb.ChannelterminationConfig())
1040 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001041 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001042 returnValue(response)
1043
1044 @twisted_async
1045 @inlineCallbacks
1046 def GetAllOntaniConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001047 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001048 response = yield self.dispatcher.dispatch(
1049 'GetAllOntaniConfig',
1050 Empty(),
1051 context,
1052 broadcast=True)
1053 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001054 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001055 context.set_details('Ontani error')
1056 context.set_code(response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001057 returnValue(Empty())
1058 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001059 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001060 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001061
1062 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001063 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001064 def CreateOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001065 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001066 try:
1067 assert isinstance(request, fb.OntaniConfig)
1068 request.id = create_empty_broadcast_id()
1069 except AssertionError, e:
1070 context.set_details(e.message)
1071 context.set_code(StatusCode.INVALID_ARGUMENT)
1072 returnValue(fb.OntaniConfig())
1073 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001074 'CreateOntani',
1075 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001076 context,
1077 id=request.id,
1078 broadcast=True)
1079 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001080 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001081 context.set_details('Ontani \'{}\' error'.format(request.id))
1082 context.set_code(response.error_code)
1083 returnValue(fb.OntaniConfig())
1084 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001085 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001086 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001087
1088 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001089 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001090 def UpdateOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001091 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001092 try:
1093 assert isinstance(request, fb.OntaniConfig)
1094 request.id = create_empty_broadcast_id()
1095 except AssertionError, e:
1096 context.set_details(e.message)
1097 context.set_code(StatusCode.INVALID_ARGUMENT)
1098 returnValue(fb.OntaniConfig())
1099 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001100 'UpdateOntani',
1101 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001102 context,
1103 id=request.id,
1104 broadcast=True)
1105 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001106 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001107 context.set_details('Ontani \'{}\' error'.format(request.id))
1108 context.set_code(response.error_code)
1109 returnValue(fb.OntaniConfig())
1110 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001111 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001112 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001113
1114 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001115 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001116 def DeleteOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001117 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001118 try:
1119 assert isinstance(request, fb.OntaniConfig)
1120 request.id = create_empty_broadcast_id()
1121 except AssertionError, e:
1122 context.set_details(e.message)
1123 context.set_code(StatusCode.INVALID_ARGUMENT)
1124 returnValue(fb.OntaniConfig())
1125 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001126 'DeleteOntani',
1127 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001128 context,
1129 id=request.id,
1130 broadcast=True)
1131 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001132 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001133 context.set_details('Ontani \'{}\' error'.format(request.id))
1134 context.set_code(response.error_code)
1135 returnValue(fb.OntaniConfig())
1136 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001137 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001138 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001139
1140 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001141 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001142 def GetAllVOntaniConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001143 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001144 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001145 'GetAllVOntaniConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001146 Empty(),
1147 context,
1148 broadcast=True)
1149 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001150 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001151 context.set_details('VOntani error')
1152 context.set_code(response.error_code)
1153 returnValue(Empty())
1154 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001155 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001156 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001157
1158 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001159 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001160 def CreateVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001161 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001162 try:
1163 assert isinstance(request, fb.VOntaniConfig)
1164 request.id = create_empty_broadcast_id()
1165 except AssertionError, e:
1166 context.set_details(e.message)
1167 context.set_code(StatusCode.INVALID_ARGUMENT)
1168 returnValue(fb.VOntaniConfig())
1169 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001170 'CreateVOntani',
1171 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001172 context,
1173 id=request.id,
1174 broadcast=True)
1175 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001176 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001177 context.set_details('VOntani \'{}\' error'.format(request.id))
1178 context.set_code(response.error_code)
1179 returnValue(fb.VOntaniConfig())
1180 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001181 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001182 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001183
1184 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001185 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001186 def UpdateVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001187 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001188 try:
1189 assert isinstance(request, fb.VOntaniConfig)
1190 request.id = create_empty_broadcast_id()
1191 except AssertionError, e:
1192 context.set_details(e.message)
1193 context.set_code(StatusCode.INVALID_ARGUMENT)
1194 returnValue(fb.VOntaniConfig())
1195 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001196 'UpdateVOntani',
1197 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001198 context,
1199 id=request.id,
1200 broadcast=True)
1201 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001202 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001203 context.set_details('VOntani \'{}\' error'.format(request.id))
1204 context.set_code(response.error_code)
1205 returnValue(fb.VOntaniConfig())
1206 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001207 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001208 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001209
1210 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001211 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001212 def DeleteVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001213 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001214 try:
1215 assert isinstance(request, fb.VOntaniConfig)
1216 request.id = create_empty_broadcast_id()
1217 except AssertionError, e:
1218 context.set_details(e.message)
1219 context.set_code(StatusCode.INVALID_ARGUMENT)
1220 returnValue(fb.VOntaniConfig())
1221 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001222 'DeleteVOntani',
1223 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001224 context,
1225 id=request.id,
1226 broadcast=True)
1227 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001228 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001229 context.set_details('VOntani \'{}\' error'.format(request.id))
1230 context.set_code(response.error_code)
1231 returnValue(fb.VOntaniConfig())
1232 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001233 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001234 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001235
1236 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001237 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001238 def GetAllVEnetConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001239 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001240 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001241 'GetAllVEnetConfig',
1242 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001243 context,
1244 broadcast=True)
1245 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001246 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001247 context.set_details('VEnet error')
1248 context.set_code(response.error_code)
1249 returnValue(Empty())
1250 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001251 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001252 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001253
1254 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001255 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001256 def CreateVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001257 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001258 try:
1259 assert isinstance(request, fb.VEnetConfig)
1260 request.id = create_empty_broadcast_id()
1261 except AssertionError, e:
1262 context.set_details(e.message)
1263 context.set_code(StatusCode.INVALID_ARGUMENT)
1264 returnValue(fb.VEnetConfig())
1265 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001266 'CreateVEnet',
1267 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001268 context,
1269 id=request.id,
1270 broadcast=True)
1271 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001272 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001273 context.set_details('VEnet \'{}\' error'.format(request.id))
1274 context.set_code(response.error_code)
1275 returnValue(fb.VEnetConfig())
1276 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001277 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001278 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001279
1280 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001281 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001282 def UpdateVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001283 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001284 try:
1285 assert isinstance(request, fb.VEnetConfig)
1286 request.id = create_empty_broadcast_id()
1287 except AssertionError, e:
1288 context.set_details(e.message)
1289 context.set_code(StatusCode.INVALID_ARGUMENT)
1290 returnValue(fb.VEnetConfig())
1291 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001292 'UpdateVEnet',
1293 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001294 context,
1295 id=request.id,
1296 broadcast=True)
1297 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001298 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001299 context.set_details('VEnet \'{}\' error'.format(request.id))
1300 context.set_code(response.error_code)
1301 returnValue(fb.VEnetConfig())
1302 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001303 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001304 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001305
1306 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001307 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001308 def DeleteVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001309 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001310 try:
1311 assert isinstance(request, fb.VEnetConfig)
1312 request.id = create_empty_broadcast_id()
1313 except AssertionError, e:
1314 context.set_details(e.message)
1315 context.set_code(StatusCode.INVALID_ARGUMENT)
1316 returnValue(fb.VEnetConfig())
1317 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001318 'DeleteVEnet',
1319 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001320 context,
1321 id=request.id,
1322 broadcast=True)
1323 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001324 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001325 context.set_details('VEnet \'{}\' error'.format(request.id))
1326 context.set_code(response.error_code)
1327 returnValue(fb.VEnetConfig())
1328 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001329 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001330 returnValue(response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001331
1332 @twisted_async
1333 @inlineCallbacks
1334 def GetAllTrafficDescriptorProfileData(self, request, context):
1335 _method_name = sys._getframe().f_code.co_name
1336 return self.get_all_global_xpon_object_data (request, context,
1337 _method_name)
1338
1339 @twisted_async
1340 @inlineCallbacks
1341 def CreateTrafficDescriptorProfileData(self, request, context):
1342 _method_name = sys._getframe().f_code.co_name
1343 return self.manage_global_xpon_object (request, context,
1344 _method_name)
1345
1346 @twisted_async
1347 @inlineCallbacks
1348 def UpdateTrafficDescriptorProfileData(self, request, context):
1349 _method_name = sys._getframe().f_code.co_name
1350 return self.manage_global_xpon_object (request, context,
1351 _method_name)
1352
1353 @twisted_async
1354 @inlineCallbacks
1355 def DeleteTrafficDescriptorProfileData(self, request, context):
1356 _method_name = sys._getframe().f_code.co_name
1357 return self.manage_global_xpon_object (request, context,
1358 _method_name)
1359
1360 @twisted_async
1361 @inlineCallbacks
1362 def GetAllTcontsConfigData(self, request, context):
1363 _method_name = sys._getframe().f_code.co_name
1364 return self.get_all_global_xpon_object_data (request, context,
1365 _method_name)
1366
1367 @twisted_async
1368 @inlineCallbacks
1369 def CreateTcontsConfigData(self, request, context):
1370 _method_name = sys._getframe().f_code.co_name
1371 return self.manage_global_xpon_object (request, context, _method_name)
1372
1373 @twisted_async
1374 @inlineCallbacks
1375 def UpdateTcontsConfigData(self, request, context):
1376 _method_name = sys._getframe().f_code.co_name
1377 return self.manage_global_xpon_object (request, context, _method_name)
1378
1379 @twisted_async
1380 @inlineCallbacks
1381 def DeleteTcontsConfigData(self, request, context):
1382 _method_name = sys._getframe().f_code.co_name
1383 return self.manage_global_xpon_object (request, context, _method_name)
1384
1385 @twisted_async
1386 @inlineCallbacks
1387 def GetAllGemportsConfigData(self, request, context):
1388 _method_name = sys._getframe().f_code.co_name
1389 return self.get_all_global_xpon_object_data (request, context,
1390 _method_name)
1391
1392 @twisted_async
1393 @inlineCallbacks
1394 def CreateGemportsConfigData(self, request, context):
1395 _method_name = sys._getframe().f_code.co_name
1396 return self.manage_global_xpon_object (request, context, _method_name)
1397
1398 @twisted_async
1399 @inlineCallbacks
1400 def UpdateGemportsConfigData(self, request, context):
1401 _method_name = sys._getframe().f_code.co_name
1402 return self.manage_global_xpon_object (request, context, _method_name)
1403
1404 @twisted_async
1405 @inlineCallbacks
1406 def DeleteGemportsConfigData(self, request, context):
1407 _method_name = sys._getframe().f_code.co_name
1408 return self.manage_global_xpon_object (request, context, _method_name)
1409
1410 @twisted_async
1411 @inlineCallbacks
1412 def GetAllMulticastGemportsConfigData(self, request, context):
1413 _method_name = sys._getframe().f_code.co_name
1414 return self.get_all_global_xpon_object_data (request, context,
1415 _method_name)
1416
1417 @twisted_async
1418 @inlineCallbacks
1419 def CreateMulticastGemportsConfigData(self, request, context):
1420 _method_name = sys._getframe().f_code.co_name
1421 return self.manage_global_xpon_object (request, context, _method_name)
1422
1423 @twisted_async
1424 @inlineCallbacks
1425 def UpdateMulticastGemportsConfigData(self, request, context):
1426 _method_name = sys._getframe().f_code.co_name
1427 return self.manage_global_xpon_object (request, context, _method_name)
1428
1429 @twisted_async
1430 @inlineCallbacks
1431 def DeleteMulticastGemportsConfigData(self, request, context):
1432 _method_name = sys._getframe().f_code.co_name
1433 return self.manage_global_xpon_object (request, context, _method_name)
1434
1435 @twisted_async
1436 @inlineCallbacks
1437 def GetAllMulticastDistributionSetData(self, request, context):
1438 _method_name = sys._getframe().f_code.co_name
1439 return self.get_all_global_xpon_object_data (request, context,
1440 _method_name)
1441
1442 @twisted_async
1443 @inlineCallbacks
1444 def CreateMulticastDistributionSetData(self, request, context):
1445 _method_name = sys._getframe().f_code.co_name
1446 return self.manage_global_xpon_object (request, context, _method_name)
1447
1448 @twisted_async
1449 @inlineCallbacks
1450 def UpdateMulticastDistributionSetData(self, request, context):
1451 _method_name = sys._getframe().f_code.co_name
1452 return self.manage_global_xpon_object (request, context, _method_name)
1453
1454 @twisted_async
1455 @inlineCallbacks
1456 def DeleteMulticastDistributionSetData(self, request, context):
1457 _method_name = sys._getframe().f_code.co_name
1458 return self.manage_global_xpon_object (request, context, _method_name)
1459
1460 def get_all_global_xpon_object_data(self, request, context, method_name):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001461 log.debug('grpc-request', request=request)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001462 response = yield self.dispatcher.dispatch(
1463 method_name,
1464 Empty(),
1465 context,
1466 broadcast=True)
1467 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001468 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001469 context.set_details('{}\' error' .format(type(request).__name__))
1470 context.set_code(response.error_code)
1471 returnValue(Empty())
1472 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001473 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001474 returnValue(response)
1475
1476 def manage_global_xpon_object(self, request, context, method_name):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001477 log.debug('grpc-request', request=request)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001478 _xpon_object_type = self.xpon_object_type[method_name]
1479 try:
1480 assert isinstance(request, _xpon_object_type)
1481 request.id = create_empty_broadcast_id()
1482 except AssertionError, e:
1483 context.set_details(e.message)
1484 context.set_code(StatusCode.INVALID_ARGUMENT)
1485 returnValue(_xpon_object_type())
1486 response = yield self.dispatcher.dispatch(
1487 method_name,
1488 request,
1489 context,
1490 id=request.id,
1491 broadcast=True)
1492 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001493 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001494 context.set_details('{}\'{}\' error'.format(type(request).__name__,
1495 request.id))
1496 context.set_code(response.error_code)
1497 returnValue(_xpon_object_type())
1498 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001499 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001500 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001501 # bbf_fiber rpcs end
1502
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001503 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001504 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001505 def CreateAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001506 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001507 # Since AlarmFilter applies to the entire cluster, it will be assigned
1508 # a global id (using a global core_id). Every Voltha instance will
1509 # have the same data. Since the voltha instances are managed by
1510 # docker swarm mode then whenever an instance goes down it will be
1511 # brought up right away, hence reducing the chance of two instances
1512 # having different data. In future phases, we should adopt the
1513 # strategy of having a unique persistence model for cluster data
1514 # compare to instance data
1515 try:
1516 assert isinstance(request, AlarmFilter)
1517 request.id = create_cluster_id()
1518 except AssertionError, e:
1519 context.set_details(e.message)
1520 context.set_code(StatusCode.INVALID_ARGUMENT)
1521 returnValue(AlarmFilter())
1522
1523 response = yield self.dispatcher.dispatch('CreateAlarmFilter',
1524 request,
1525 context,
1526 id=request.id,
1527 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001528 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001529 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001530 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001531 context.set_details('Create alarm error')
1532 context.set_code(response.error_code)
1533 returnValue(AlarmFilter())
1534 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001535 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001536 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001537
1538 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001539 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001540 def GetAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001541 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001542 response = yield self.dispatcher.dispatch('GetAlarmFilter',
1543 request,
1544 context,
1545 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001546 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001547 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001548 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001549 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1550 context.set_code(response.error_code)
1551 returnValue(AlarmFilter())
1552 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001553 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001554 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001555
1556 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001557 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001558 def UpdateAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001559 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001560 response = yield self.dispatcher.dispatch('UpdateAlarmFilter',
1561 request,
1562 context,
1563 id=request.id,
1564 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001565 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001566 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001567 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001568 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1569 context.set_code(response.error_code)
1570 returnValue(AlarmFilter())
1571 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001572 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001573 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001574
1575 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001576 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001577 def DeleteAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001578 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001579 response = yield self.dispatcher.dispatch('DeleteAlarmFilter',
1580 request,
1581 context,
1582 id=request.id,
1583 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001584 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001585 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001586 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001587 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1588 context.set_code(response.error_code)
1589 returnValue(Empty())
1590 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001591 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001592 returnValue(Empty())
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001593
1594 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001595 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001596 def ListAlarmFilters(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001597 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001598 response = yield self.dispatcher.dispatch('ListAlarmFilters',
1599 Empty(),
1600 context,
1601 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001602 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001603 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001604 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001605 context.set_details('Alarm filters error')
1606 context.set_code(response.error_code)
1607 returnValue(AlarmFilter())
1608 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001609 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001610 returnValue(response)
ggowdru236bd952017-06-20 20:32:55 -07001611
1612 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001613 @inlineCallbacks
ggowdru236bd952017-06-20 20:32:55 -07001614 def GetImages(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001615 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001616 response = yield self.dispatcher.dispatch('GetImages',
1617 request,
1618 context,
1619 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001620 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001621 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001622 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001623 context.set_details('Device \'{}\' error'.format(request.id))
1624 context.set_code(response.error_code)
1625 returnValue(Images())
1626 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001627 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001628 returnValue(response)
sathishg5ae86222017-06-28 15:16:29 +05301629
1630 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001631 @inlineCallbacks
sathishg5ae86222017-06-28 15:16:29 +05301632 def SelfTest(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001633 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001634 response = yield self.dispatcher.dispatch('SelfTest',
1635 request,
1636 context,
1637 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001638 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001639 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001640 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001641 context.set_details('Device \'{}\' error'.format(request.id))
1642 context.set_code(response.error_code)
1643 returnValue(SelfTestResponse())
1644 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001645 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001646 returnValue(response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001647
1648 @twisted_async
1649 @inlineCallbacks
1650 def DownloadImage(self, request, context):
1651 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001652 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001653 response = yield self.dispatcher.dispatch('DownloadImage',
1654 request,
1655 context,
1656 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001657 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001658 except Exception as e:
1659 log.exception('grpc-exception', e=e)
1660
1661 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001662 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001663 context.set_details('Device \'{}\' error'.format(request.id))
1664 context.set_code(response.error_code)
1665 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1666 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001667 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001668 returnValue(response)
1669
1670 @twisted_async
1671 @inlineCallbacks
1672 def GetImageDownloadStatus(self, request, context):
1673 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001674 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001675 response = yield self.dispatcher.dispatch('GetImageDownloadStatus',
1676 request,
1677 context,
1678 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001679 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001680 except Exception as e:
1681 log.exception('grpc-exception', e=e)
1682
1683 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001684 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001685 context.set_details('Device \'{}\' error'.format(request.id))
1686 context.set_code(response.error_code)
1687 returnValue(ImageDownloads())
1688 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001689 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001690 returnValue(response)
1691
1692 @twisted_async
1693 @inlineCallbacks
1694 def GetImageDownload(self, request, context):
1695 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001696 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001697 response = yield self.dispatcher.dispatch('GetImageDownload',
1698 request,
1699 context,
1700 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001701 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001702 except Exception as e:
1703 log.exception('grpc-exception', e=e)
1704
1705 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001706 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001707 context.set_details('Device \'{}\' error'.format(request.id))
1708 context.set_code(response.error_code)
1709 returnValue(ImageDownload())
1710 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001711 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001712 returnValue(response)
1713
1714 @twisted_async
1715 @inlineCallbacks
1716 def ListImageDownloads(self, request, context):
1717 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001718 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001719 response = yield self.dispatcher.dispatch('ListImageDownloads',
1720 request,
1721 context,
1722 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001723 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001724 except Exception as e:
1725 log.exception('grpc-exception', e=e)
1726
1727 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001728 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001729 context.set_details('Device \'{}\' error'.format(request.id))
1730 context.set_code(response.error_code)
1731 returnValue(ImageDownloads())
1732 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001733 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001734 returnValue(response)
1735
1736
1737 @twisted_async
1738 @inlineCallbacks
1739 def CancelImageDownload(self, request, context):
1740 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001741 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001742 response = yield self.dispatcher.dispatch('CancelImageDownload',
1743 request,
1744 context,
1745 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001746 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001747 except Exception as e:
1748 log.exception('grpc-exception', e=e)
1749
1750 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001751 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001752 context.set_details('Device \'{}\' error'.format(request.id))
1753 context.set_code(response.error_code)
1754 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1755 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001756 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001757 returnValue(response)
1758
1759 @twisted_async
1760 @inlineCallbacks
1761 def ActivateImageUpdate(self, request, context):
1762 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001763 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001764 response = yield self.dispatcher.dispatch('ActivateImageUpdate',
1765 request,
1766 context,
1767 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001768 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001769 except Exception as e:
1770 log.exception('grpc-exception', e=e)
1771
1772 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001773 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001774 context.set_details('Device \'{}\' error'.format(request.id))
1775 context.set_code(response.error_code)
1776 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1777 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001778 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001779 returnValue(response)
1780
1781 @twisted_async
1782 @inlineCallbacks
1783 def RevertImageUpdate(self, request, context):
1784 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001785 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001786 response = yield self.dispatcher.dispatch('RevertImageUpdate',
1787 request,
1788 context,
1789 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001790 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001791 except Exception as e:
1792 log.exception('grpc-exception', e=e)
1793
1794 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001795 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001796 context.set_details('Device \'{}\' error'.format(request.id))
1797 context.set_code(response.error_code)
1798 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1799 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001800 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001801 returnValue(response)
Chip Boling69abce82018-06-18 09:56:23 -05001802
1803 @twisted_async
1804 @inlineCallbacks
1805 def GetMibDeviceData(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001806 log.debug('grpc-request', request=request)
Chip Boling69abce82018-06-18 09:56:23 -05001807 response = yield self.dispatcher.dispatch('GetMibDeviceData',
1808 request,
1809 context,
1810 id=request.id)
1811 log.debug('grpc-response', response=response)
1812 if isinstance(response, DispatchError):
1813 log.warn('grpc-error-response', error=response.error_code)
1814 context.set_details('Device \'{}\' error'.format(request.id))
1815 context.set_code(response.error_code)
1816 returnValue(MibDeviceData())
1817 else:
1818 log.debug('grpc-success-response', response=response)
1819 returnValue(response)
jasonhuang5f3e63b2018-07-27 01:32:48 +08001820
1821 @twisted_async
1822 @inlineCallbacks
1823 def GetAlarmDeviceData(self, request, context):
1824 log.info('grpc-request', request=request)
1825 response = yield self.dispatcher.dispatch('GetAlarmDeviceData',
1826 request,
1827 context,
1828 id=request.id)
1829 log.debug('grpc-response', response=response)
1830 if isinstance(response, DispatchError):
1831 log.warn('grpc-error-response', error=response.error_code)
1832 context.set_details('Device \'{}\' error'.format(request.id))
1833 context.set_code(response.error_code)
1834 returnValue(AlarmDeviceData())
1835 else:
1836 log.debug('grpc-success-response', response=response)
Scott Bakerd3190952018-09-04 15:47:28 -07001837 returnValue(response)
1838
1839 @twisted_async
1840 @inlineCallbacks
1841 def SimulateAlarm(self, request, context):
1842 try:
1843 log.debug('grpc-request', request=request)
1844 response = yield self.dispatcher.dispatch('SimulateAlarm',
1845 request,
1846 context,
1847 id=request.id)
1848 log.debug('grpc-response', response=response)
1849 except Exception as e:
1850 log.exception('grpc-exception', e=e)
1851
1852 if isinstance(response, DispatchError):
1853 log.warn('grpc-error-response', error=response.error_code)
1854 context.set_details('Device \'{}\' error'.format(request.id))
1855 context.set_code(response.error_code)
1856 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1857 else:
1858 log.debug('grpc-success-response', response=response)
Saurav Das458b7902019-02-25 22:48:05 -08001859 returnValue(response)