blob: 098e1454c9d9d6939d2ec0fa7720bf1b51d21e1c [file] [log] [blame]
Zsolt Haraszti3eb27a52017-01-03 21:56:48 -08001# Copyright 2017 the original author or authors.
Zsolt Haraszti66862032016-11-28 14:28:39 -08002#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
Nikolay Titov3b31db92017-08-02 18:11:33 -040015import sys
Zsolt Haraszti66862032016-11-28 14:28:39 -080016import structlog
17from grpc import StatusCode
18from twisted.internet.defer import inlineCallbacks
19from twisted.internet.defer import returnValue
20
21from common.utils.grpc_utils import twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -040022from common.utils.id_generation import \
23 create_cluster_id, create_empty_broadcast_id
Zsolt Haraszti66862032016-11-28 14:28:39 -080024from voltha.core.config.config_root import ConfigRoot
Lydia Fang01f2e852017-06-28 17:24:58 -070025from voltha.protos.device_pb2 import PmConfigs, Images, \
26 ImageDownload, ImageDownloads
27from voltha.protos.common_pb2 import OperationResp
Zsolt Haraszti66862032016-11-28 14:28:39 -080028from voltha.protos.voltha_pb2 import \
29 add_VolthaGlobalServiceServicer_to_server, VolthaLocalServiceStub, \
30 VolthaGlobalServiceServicer, Voltha, VolthaInstances, VolthaInstance, \
Jonathan Hart8d21c322018-04-17 07:42:02 -070031 LogicalDevice, LogicalPort, Ports, Flows, FlowGroups, Device, SelfTestResponse, \
khenaidoo08d48d22017-06-29 19:42:49 -040032 VolthaGlobalServiceStub, Devices, DeviceType, DeviceTypes, DeviceGroup, \
33 AlarmFilter, AlarmFilters
Zsolt Haraszti66862032016-11-28 14:28:39 -080034from voltha.registry import registry
35from google.protobuf.empty_pb2 import Empty
khenaidoo08d48d22017-06-29 19:42:49 -040036from dispatcher import DispatchError
Rachit Shrivastavaa182e912017-07-28 15:18:34 -040037from voltha.protos import bbf_fiber_base_pb2 as fb
Nikolay Titov3b31db92017-08-02 18:11:33 -040038from voltha.protos.bbf_fiber_base_pb2 import ChannelgroupConfig, \
39 ChannelpartitionConfig, ChannelpairConfig, ChannelterminationConfig, \
40 OntaniConfig, VOntaniConfig, VEnetConfig
41from voltha.protos.bbf_fiber_traffic_descriptor_profile_body_pb2 import \
42 TrafficDescriptorProfileData
43from voltha.protos.bbf_fiber_tcont_body_pb2 import TcontsConfigData
44from voltha.protos.bbf_fiber_gemport_body_pb2 import GemportsConfigData
45from voltha.protos.bbf_fiber_multicast_gemport_body_pb2 import \
46 MulticastGemportsConfigData
47from voltha.protos.bbf_fiber_multicast_distribution_set_body_pb2 import \
48 MulticastDistributionSetData
Chip Bolinga279a1c2018-08-29 15:18:13 -050049from voltha.protos.omci_mib_db_pb2 import MibDeviceData
jasonhuang5f3e63b2018-07-27 01:32:48 +080050from voltha.protos.omci_alarm_db_pb2 import AlarmDeviceData
Zsolt Haraszti66862032016-11-28 14:28:39 -080051
52log = structlog.get_logger()
53
54
55class GlobalHandler(VolthaGlobalServiceServicer):
Nikolay Titov3b31db92017-08-02 18:11:33 -040056
57 xpon_object_type = {
58 'CreateChannelgroup': ChannelgroupConfig,
59 'UpdateChannelgroup': ChannelgroupConfig,
60 'DeleteChannelgroup': ChannelgroupConfig,
61 'CreateChannelpartition': ChannelpartitionConfig,
62 'UpdateChannelpartition': ChannelpartitionConfig,
63 'DeleteChannelpartition': ChannelpartitionConfig,
64 'CreateChannelpair': ChannelpairConfig,
65 'UpdateChannelpair': ChannelpairConfig,
66 'DeleteChannelpair': ChannelpairConfig,
67 'CreateChanneltermination': ChannelterminationConfig,
68 'UpdateChanneltermination': ChannelterminationConfig,
69 'DeleteChanneltermination': ChannelterminationConfig,
70 'CreateVOntani': VOntaniConfig,
71 'UpdateVOntani': VOntaniConfig,
72 'DeleteVOntani': VOntaniConfig,
73 'CreateOntani': OntaniConfig,
74 'UpdateOntani': OntaniConfig,
75 'DeleteOntani': OntaniConfig,
76 'CreateVEnet': VEnetConfig,
77 'UpdateVEnet': VEnetConfig,
78 'DeleteVEnet': VEnetConfig,
79 'CreateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
80 'UpdateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
81 'DeleteTrafficDescriptorProfileData': TrafficDescriptorProfileData,
82 'CreateTcontsConfigData': TcontsConfigData,
83 'UpdateTcontsConfigData': TcontsConfigData,
84 'DeleteTcontsConfigData': TcontsConfigData,
85 'CreateGemportsConfigData': GemportsConfigData,
86 'UpdateGemportsConfigData': GemportsConfigData,
87 'DeleteGemportsConfigData': GemportsConfigData,
88 'CreateMulticastGemportsConfigData': MulticastGemportsConfigData,
89 'UpdateMulticastGemportsConfigData': MulticastGemportsConfigData,
90 'DeleteMulticastGemportsConfigData': MulticastGemportsConfigData,
91 'CreateMulticastDistributionSetData': MulticastDistributionSetData,
92 'UpdateMulticastDistributionSetData': MulticastDistributionSetData,
93 'DeleteMulticastDistributionSetData': MulticastDistributionSetData
94 }
95
Zsolt Haraszti66862032016-11-28 14:28:39 -080096 def __init__(self, dispatcher, instance_id, **init_kw):
97 self.dispatcher = dispatcher
98 self.instance_id = instance_id
99 self.init_kw = init_kw
100 self.root = None
101 self.stopped = False
102
103 def start(self):
104 log.debug('starting')
105 self.root = ConfigRoot(Voltha(**self.init_kw))
Zsolt Haraszti66862032016-11-28 14:28:39 -0800106 log.info('started')
107 return self
108
khenaidoocbe30832017-08-25 10:43:27 -0400109 def register_grpc_service(self):
110 log.debug('registering')
111 registry('grpc_server').register(
112 add_VolthaGlobalServiceServicer_to_server, self)
113 log.info('registered')
114
Zsolt Haraszti66862032016-11-28 14:28:39 -0800115 def stop(self):
116 log.debug('stopping')
117 self.stopped = True
118 log.info('stopped')
119
120 # gRPC service method implementations. BE CAREFUL; THESE ARE CALLED ON
121 # the gRPC threadpool threads.
122
123 @twisted_async
124 def GetVoltha(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400125 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800126 return self.root.get('/', depth=1)
127
128 @twisted_async
Zsolt Haraszti66862032016-11-28 14:28:39 -0800129 def ListVolthaInstances(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400130 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400131 items = self.dispatcher.get_cluster_instances()
132 return VolthaInstances(items=items)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800133
134 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400135 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800136 def GetVolthaInstance(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400137 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400138 core_id = self.dispatcher.get_core_id_from_instance_id(request.id)
139 if not core_id:
140 log.info('invalid-instance-id', instance=request.id)
141 context.set_details('Voltha Instance error')
Zsolt Haraszti66862032016-11-28 14:28:39 -0800142 context.set_code(StatusCode.NOT_FOUND)
khenaidoo08d48d22017-06-29 19:42:49 -0400143 returnValue(VolthaInstance())
144
145 response = yield self.dispatcher.dispatch('GetVolthaInstance',
146 Empty(),
147 context,
148 core_id=core_id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400149 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400150 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400151 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400152 context.set_details('Voltha Instance error')
153 context.set_code(response.error_code)
154 returnValue(VolthaInstance())
155 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400156 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400157 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800158
159 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400160 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800161 def ListLogicalDevices(self, request, context):
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000162 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400163 response = yield self.dispatcher.dispatch('ListLogicalDevices',
164 Empty(),
165 context,
166 broadcast=True)
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000167 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400168 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800169
170 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400171 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800172 def GetLogicalDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400173 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800174
khenaidoo08d48d22017-06-29 19:42:49 -0400175 response = yield self.dispatcher.dispatch('GetLogicalDevice',
176 request,
177 context,
178 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400179 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400180 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400181 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800182 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400183 'Logical device \'{}\' error'.format(request.id))
184 context.set_code(response.error_code)
185 returnValue(LogicalDevice())
186 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400187 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400188 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800189
190 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400191 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800192 def ListLogicalDevicePorts(self, request, context):
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000193 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800194
khenaidoo08d48d22017-06-29 19:42:49 -0400195 response = yield self.dispatcher.dispatch('ListLogicalDevicePorts',
196 request,
197 context,
198 id=request.id)
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000199 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400200 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400201 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800202 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400203 'Logical device ports \'{}\' error'.format(request.id))
204 context.set_code(response.error_code)
205 returnValue(Ports())
206 else:
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000207 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400208 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800209
210 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400211 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700212 def GetLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400213 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700214
215 response = yield self.dispatcher.dispatch('GetLogicalDevicePort',
216 request,
217 context,
218 id=request.id)
219 log.debug('grpc-response', response=response)
220 if isinstance(response, DispatchError):
221 log.warn('grpc-error-response', error=response.error_code)
222 context.set_details(
223 'Logical port \'{}\' on device \'{}\' error'.format(request.port_id, request.id))
224 context.set_code(response.error_code)
225 returnValue(LogicalPort())
226 else:
227 log.debug('grpc-success-response', response=response)
228 returnValue(response)
229
230 @twisted_async
231 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800232 def ListLogicalDeviceFlows(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400233 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400234 response = yield self.dispatcher.dispatch('ListLogicalDeviceFlows',
235 request,
236 context,
237 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400238 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400239 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400240 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800241 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400242 'Logical device \'{}\' error'.format(request.id))
243 context.set_code(response.error_code)
244 returnValue(Flows())
245 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400246 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400247 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800248
249 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400250 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700251 def EnableLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400252 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700253 response = yield self.dispatcher.dispatch('EnableLogicalDevicePort',
254 request,
255 context,
256 id=request.id)
257 log.debug('grpc-response', response=response)
258 if isinstance(response, DispatchError):
259 log.warn('grpc-error-response', error=response.error_code)
260 context.set_details(
261 'Logical device \'{}\' error'.format(request.id))
262 context.set_code(response.error_code)
263 returnValue(Empty())
264 else:
265 log.debug('grpc-success-response', response=response)
266 returnValue(response)
267
268 @twisted_async
269 @inlineCallbacks
270 def DisableLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400271 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700272 response = yield self.dispatcher.dispatch('DisableLogicalDevicePort',
273 request,
274 context,
275 id=request.id)
276 log.debug('grpc-response', response=response)
277 if isinstance(response, DispatchError):
278 log.warn('grpc-error-response', error=response.error_code)
279 context.set_details(
280 'Logical device \'{}\' error'.format(request.id))
281 context.set_code(response.error_code)
282 returnValue(Empty())
283 else:
284 log.debug('grpc-success-response', response=response)
285 returnValue(response)
286
287 @twisted_async
288 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800289 def UpdateLogicalDeviceFlowTable(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400290 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400291 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800292 'UpdateLogicalDeviceFlowTable',
293 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400294 context,
295 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400296 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400297 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400298 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400299 context.set_details(
300 'Logical device \'{}\' error'.format(request.id))
301 context.set_code(response.error_code)
302 returnValue(Empty())
303 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400304 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400305 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800306
307 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400308 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800309 def ListLogicalDeviceFlowGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400310 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400311 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800312 'ListLogicalDeviceFlowGroups',
313 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400314 context,
315 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400316 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400317 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400318 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400319 context.set_details(
320 'Logical device \'{}\' error'.format(request.id))
321 context.set_code(response.error_code)
322 returnValue(FlowGroups())
323 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400324 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400325 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800326
327 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400328 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800329 def UpdateLogicalDeviceFlowGroupTable(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400330 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400331 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800332 'UpdateLogicalDeviceFlowGroupTable',
333 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400334 context,
335 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400336 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400337 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400338 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400339 context.set_details(
340 'Logical device \'{}\' error'.format(request.id))
341 context.set_code(response.error_code)
342 returnValue(Empty())
343 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400344 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400345 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800346
347 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400348 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800349 def ListDevices(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400350 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400351 response = yield self.dispatcher.dispatch('ListDevices',
352 Empty(),
353 context,
354 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400355 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400356 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800357
358 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400359 @inlineCallbacks
khenaidoo997edbc2017-07-13 10:25:58 -0400360 def ListAdapters(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400361 log.debug('grpc-request', request=request)
khenaidoo997edbc2017-07-13 10:25:58 -0400362 response = yield self.dispatcher.dispatch('ListAdapters',
363 Empty(),
364 context,
365 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400366 log.debug('grpc-response', response=response)
khenaidoo997edbc2017-07-13 10:25:58 -0400367 returnValue(response)
368
369 @twisted_async
370 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800371 def GetDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400372 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400373 response = yield self.dispatcher.dispatch('GetDevice',
374 request,
375 context,
376 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400377 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400378 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400379 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400380 context.set_details('Device \'{}\' error'.format(request.id))
381 context.set_code(response.error_code)
382 returnValue(Device())
383 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400384 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400385 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800386
387 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400388 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800389 def CreateDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400390 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400391 response = yield self.dispatcher.dispatch('CreateDevice',
392 request,
393 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400394 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400395 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400396 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400397 context.set_details('Create device error')
398 context.set_code(response.error_code)
399 returnValue(Device())
400 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400401 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400402 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800403
404 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400405 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500406 def EnableDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400407 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400408 response = yield self.dispatcher.dispatch('EnableDevice',
409 request,
410 context,
411 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400412 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400413 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400414 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400415 context.set_details('Device \'{}\' error'.format(request.id))
416 context.set_code(response.error_code)
417 returnValue(Device())
418 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400419 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400420 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500421
422 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400423 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500424 def DisableDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400425 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400426 response = yield self.dispatcher.dispatch('DisableDevice',
427 request,
428 context,
429 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400430 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400431 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400432 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400433 context.set_details('Device \'{}\' error'.format(request.id))
434 context.set_code(response.error_code)
435 returnValue(Device())
436 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400437 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400438 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500439
440 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400441 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500442 def RebootDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400443 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400444 response = yield self.dispatcher.dispatch('RebootDevice',
445 request,
446 context,
447 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400448 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400449 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400450 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400451 context.set_details('Device \'{}\' error'.format(request.id))
452 context.set_code(response.error_code)
453 returnValue(Device())
454 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400455 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400456 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500457
458 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400459 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500460 def DeleteDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400461 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400462 response = yield self.dispatcher.dispatch('DeleteDevice',
463 request,
464 context,
465 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400466 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400467 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400468 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400469 context.set_details('Device \'{}\' error'.format(request.id))
470 context.set_code(response.error_code)
471 returnValue(Empty())
472 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400473 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400474 returnValue(Empty())
Zsolt Haraszti66862032016-11-28 14:28:39 -0800475
476 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400477 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800478 def ListDevicePorts(self, request, context):
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000479 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400480 response = yield self.dispatcher.dispatch('ListDevicePorts',
481 request,
482 context,
483 id=request.id)
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000484 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400485 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400486 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400487 context.set_details('Device \'{}\' error'.format(request.id))
488 context.set_code(response.error_code)
489 returnValue(Ports())
490 else:
Matteo Scandolo83dedc12018-09-16 15:11:44 +0000491 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400492 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800493
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500494 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400495 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500496 def ListDevicePmConfigs(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400497 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400498 response = yield self.dispatcher.dispatch('ListDevicePmConfigs',
499 request,
500 context,
501 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400502 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400503 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400504 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400505 context.set_details('Device \'{}\' error'.format(request.id))
506 context.set_code(response.error_code)
507 returnValue(PmConfigs())
508 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400509 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400510 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500511
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500512 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400513 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500514 def UpdateDevicePmConfigs(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400515 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400516 response = yield self.dispatcher.dispatch('UpdateDevicePmConfigs',
517 request,
518 context,
519 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400520 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400521 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400522 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400523 context.set_details('Device \'{}\' error'.format(request.id))
524 context.set_code(response.error_code)
525 returnValue(Empty())
526 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400527 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400528 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500529
Zsolt Haraszti66862032016-11-28 14:28:39 -0800530 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400531 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800532 def ListDeviceFlows(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400533 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400534 response = yield self.dispatcher.dispatch('ListDeviceFlows',
535 request,
536 context,
537 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400538 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400539 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400540 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400541 context.set_details('Device \'{}\' error'.format(request.id))
542 context.set_code(response.error_code)
543 returnValue(Flows())
544 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400545 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400546 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800547
548 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400549 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800550 def ListDeviceFlowGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400551 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400552 response = yield self.dispatcher.dispatch('ListDeviceFlowGroups',
553 request,
554 context,
555 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400556 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400557 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400558 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400559 context.set_details('Device \'{}\' error'.format(request.id))
560 context.set_code(response.error_code)
561 returnValue(FlowGroups())
562 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400563 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400564 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800565
566 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400567 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800568 def ListDeviceTypes(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400569 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800570 # we always deflect this to the local instance, as we assume
571 # they all loaded the same adapters, supporting the same device
572 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400573 response = yield self.dispatcher.dispatch('ListDeviceTypes',
574 request,
575 context)
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 types error')
580 context.set_code(response.error_code)
581 returnValue(DeviceTypes())
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)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800585
586 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400587 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800588 def GetDeviceType(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400589 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800590 # we always deflect this to the local instance, as we assume
591 # they all loaded the same adapters, supporting the same device
592 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400593 response = yield self.dispatcher.dispatch('GetDeviceType',
594 request,
595 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400596 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400597 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400598 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400599 context.set_details('Device type \'{}\' error'.format(
600 request.id))
601 context.set_code(response.error_code)
602 returnValue(DeviceType())
603 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400604 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400605 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800606
607 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400608 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800609 def ListDeviceGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400610 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400611 response = yield self.dispatcher.dispatch('ListDeviceGroups',
612 Empty(),
613 context,
614 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400615 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400616 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800617
618 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400619 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800620 def GetDeviceGroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400621 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400622 response = yield self.dispatcher.dispatch('GetDeviceGroup',
623 request,
624 context,
625 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400626 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400627 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400628 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400629 context.set_details('Device group\'{}\' error'.format(request.id))
630 context.set_code(response.error_code)
631 returnValue(DeviceGroup())
632 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400633 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400634 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800635
Nikolay Titov89004ec2017-06-19 18:22:42 -0400636 # bbf_fiber rpcs start
637 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400638 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400639 def GetAllChannelgroupConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400640 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400641 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400642 'GetAllChannelgroupConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400643 Empty(),
644 context,
645 broadcast=True)
646 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400647 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400648 context.set_details('Channelgroup error')
649 context.set_code(response.error_code)
650 returnValue(Empty())
651 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400652 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400653 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400654
655 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400656 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400657 def CreateChannelgroup(self, request, context):
Nikolay Titov3b31db92017-08-02 18:11:33 -0400658 _method_name = sys._getframe().f_code.co_name
659 return self.manage_global_xpon_object (request, context, _method_name)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400660
661 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400662 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400663 def UpdateChannelgroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400664 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400665 try:
666 assert isinstance(request, fb.ChannelgroupConfig)
667 request.id = create_empty_broadcast_id()
668 except AssertionError, e:
669 context.set_details(e.message)
670 context.set_code(StatusCode.INVALID_ARGUMENT)
671 returnValue(fb.ChannelgroupConfig())
672 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400673 'UpdateChannelgroup',
674 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400675 context,
676 id=request.id,
677 broadcast=True)
678 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400679 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400680 context.set_details('Channelgroup\'{}\' error'.format(request.id))
681 context.set_code(response.error_code)
682 returnValue(fb.ChannelgroupConfig())
683 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400684 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400685 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400686
687 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400688 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400689 def DeleteChannelgroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400690 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400691 try:
692 assert isinstance(request, fb.ChannelgroupConfig)
693 request.id = create_empty_broadcast_id()
694 except AssertionError, e:
695 context.set_details(e.message)
696 context.set_code(StatusCode.INVALID_ARGUMENT)
697 returnValue(fb.ChannelgroupConfig())
698 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400699 'DeleteChannelgroup',
700 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400701 context,
702 id=request.id,
703 broadcast=True)
704 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400705 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400706 context.set_details('Channelgroup\'{}\' error'.format(request.id))
707 context.set_code(response.error_code)
708 returnValue(fb.ChannelgroupConfig())
709 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400710 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400711 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400712
713 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400714 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400715 def GetAllChannelpartitionConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400716 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400717 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400718 'GetAllChannelpartitionConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400719 Empty(),
720 context,
721 broadcast=True)
722 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400723 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400724 context.set_details('Channelpartition error')
725 context.set_code(response.error_code)
726 returnValue(Empty())
727 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400728 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400729 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400730
731 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400732 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400733 def CreateChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400734 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400735 try:
736 assert isinstance(request, fb.ChannelpartitionConfig)
737 request.id = create_empty_broadcast_id()
738 except AssertionError, e:
739 context.set_details(e.message)
740 context.set_code(StatusCode.INVALID_ARGUMENT)
741 returnValue(fb.ChannelpartitionConfig())
742 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400743 'CreateChannelpartition',
744 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400745 context,
746 id=request.id,
747 broadcast=True)
748 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400749 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400750 context.set_details('Channelpartition\'{}\' error'.format(
751 request.id))
752 context.set_code(response.error_code)
753 returnValue(fb.ChannelpartitionConfig())
754 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400755 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400756 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400757
758 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400759 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400760 def UpdateChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400761 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400762 try:
763 assert isinstance(request, fb.ChannelpartitionConfig)
764 request.id = create_empty_broadcast_id()
765 except AssertionError, e:
766 context.set_details(e.message)
767 context.set_code(StatusCode.INVALID_ARGUMENT)
768 returnValue(fb.ChannelpartitionConfig())
769 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400770 'UpdateChannelpartition',
771 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400772 context,
773 id=request.id,
774 broadcast=True)
775 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400776 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400777 context.set_details('Channelpartition\'{}\' error'.format(
778 request.id))
779 context.set_code(response.error_code)
780 returnValue(fb.ChannelpartitionConfig())
781 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400782 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400783 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400784
785 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400786 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400787 def DeleteChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400788 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400789 try:
790 assert isinstance(request, fb.ChannelpartitionConfig)
791 request.id = create_empty_broadcast_id()
792 except AssertionError, e:
793 context.set_details(e.message)
794 context.set_code(StatusCode.INVALID_ARGUMENT)
795 returnValue(fb.ChannelpartitionConfig())
796 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400797 'DeleteChannelpartition',
798 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400799 context,
800 id=request.id,
801 broadcast=True)
802 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400803 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400804 context.set_details('Channelpartition\'{}\' error'.format(
805 request.id))
806 context.set_code(response.error_code)
807 returnValue(fb.ChannelpartitionConfig())
808 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400809 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400810 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400811
812 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400813 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400814 def GetAllChannelpairConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400815 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400816 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400817 'GetAllChannelpairConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400818 Empty(),
819 context,
820 broadcast=True)
821 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400822 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400823 context.set_details('Channelpair error')
824 context.set_code(response.error_code)
825 returnValue(Empty())
826 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400827 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400828 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400829
830 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400831 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400832 def CreateChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400833 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400834 try:
835 assert isinstance(request, fb.ChannelpairConfig)
836 request.id = create_empty_broadcast_id()
837 except AssertionError, e:
838 context.set_details(e.message)
839 context.set_code(StatusCode.INVALID_ARGUMENT)
840 returnValue(fb.ChannelpairConfig())
841 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400842 'CreateChannelpair',
843 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400844 context,
845 id=request.id,
846 broadcast=True)
847 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400848 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400849 context.set_details('Channelpair\'{}\' error'.format(request.id))
850 context.set_code(response.error_code)
851 returnValue(fb.ChannelpairConfig())
852 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400853 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400854 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400855
856 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400857 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400858 def UpdateChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400859 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400860 try:
861 assert isinstance(request, fb.ChannelpairConfig)
862 request.id = create_empty_broadcast_id()
863 except AssertionError, e:
864 context.set_details(e.message)
865 context.set_code(StatusCode.INVALID_ARGUMENT)
866 returnValue(fb.ChannelpairConfig())
867 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400868 'UpdateChannelpair',
869 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400870 context,
871 id=request.id,
872 broadcast=True)
873 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400874 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400875 context.set_details('Channelpair\'{}\' error'.format(request.id))
876 context.set_code(response.error_code)
877 returnValue(fb.ChannelpairConfig())
878 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400879 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400880 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400881
882 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400883 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400884 def DeleteChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400885 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400886 try:
887 assert isinstance(request, fb.ChannelpairConfig)
888 request.id = create_empty_broadcast_id()
889 except AssertionError, e:
890 context.set_details(e.message)
891 context.set_code(StatusCode.INVALID_ARGUMENT)
892 returnValue(fb.ChannelpairConfig())
893 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400894 'DeleteChannelpair',
895 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400896 context,
897 id=request.id,
898 broadcast=True)
899 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400900 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400901 context.set_details('Channelpair\'{}\' error'.format(request.id))
902 context.set_code(response.error_code)
903 returnValue(fb.ChannelpairConfig())
904 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400905 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400906 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400907
908 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400909 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400910 def GetAllChannelterminationConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400911 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400912 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400913 'GetAllChannelterminationConfig',
914 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400915 context,
916 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400917 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400918 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400919 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400920 context.set_details('Channeltermination \'{}\' error'.format(
921 request.id))
922 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400923 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400924 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400925 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400926 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400927
928 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400929 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400930 def CreateChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400931 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400932 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400933 'CreateChanneltermination',
934 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400935 context,
936 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400937 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400938 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400939 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400940 context.set_details('Channeltermination \'{}\' error'.format(
941 request.id))
942 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400943 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400944 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400945 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400946 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400947
948 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400949 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400950 def UpdateChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400951 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400952 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400953 'UpdateChanneltermination',
954 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400955 context,
956 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400957 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400958 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400959 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400960 context.set_details('Channeltermination \'{}\' error'.format(
961 request.id))
962 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400963 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400964 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400965 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400966 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400967
968 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400969 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400970 def DeleteChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400971 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400972 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400973 'DeleteChanneltermination',
974 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400975 context,
976 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400977 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400978 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400979 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400980 context.set_details('Channeltermination \'{}\' error'.format(
981 request.id))
982 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400983 returnValue(fb.ChannelterminationConfig())
984 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400985 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400986 returnValue(response)
987
988 @twisted_async
989 @inlineCallbacks
990 def GetAllOntaniConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400991 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400992 response = yield self.dispatcher.dispatch(
993 'GetAllOntaniConfig',
994 Empty(),
995 context,
996 broadcast=True)
997 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400998 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400999 context.set_details('Ontani error')
1000 context.set_code(response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001001 returnValue(Empty())
1002 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001003 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001004 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001005
1006 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001007 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001008 def CreateOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001009 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001010 try:
1011 assert isinstance(request, fb.OntaniConfig)
1012 request.id = create_empty_broadcast_id()
1013 except AssertionError, e:
1014 context.set_details(e.message)
1015 context.set_code(StatusCode.INVALID_ARGUMENT)
1016 returnValue(fb.OntaniConfig())
1017 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001018 'CreateOntani',
1019 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001020 context,
1021 id=request.id,
1022 broadcast=True)
1023 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001024 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001025 context.set_details('Ontani \'{}\' error'.format(request.id))
1026 context.set_code(response.error_code)
1027 returnValue(fb.OntaniConfig())
1028 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001029 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001030 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001031
1032 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001033 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001034 def UpdateOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001035 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001036 try:
1037 assert isinstance(request, fb.OntaniConfig)
1038 request.id = create_empty_broadcast_id()
1039 except AssertionError, e:
1040 context.set_details(e.message)
1041 context.set_code(StatusCode.INVALID_ARGUMENT)
1042 returnValue(fb.OntaniConfig())
1043 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001044 'UpdateOntani',
1045 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001046 context,
1047 id=request.id,
1048 broadcast=True)
1049 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001050 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001051 context.set_details('Ontani \'{}\' error'.format(request.id))
1052 context.set_code(response.error_code)
1053 returnValue(fb.OntaniConfig())
1054 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001055 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001056 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001057
1058 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001059 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001060 def DeleteOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001061 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001062 try:
1063 assert isinstance(request, fb.OntaniConfig)
1064 request.id = create_empty_broadcast_id()
1065 except AssertionError, e:
1066 context.set_details(e.message)
1067 context.set_code(StatusCode.INVALID_ARGUMENT)
1068 returnValue(fb.OntaniConfig())
1069 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001070 'DeleteOntani',
1071 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001072 context,
1073 id=request.id,
1074 broadcast=True)
1075 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001076 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001077 context.set_details('Ontani \'{}\' error'.format(request.id))
1078 context.set_code(response.error_code)
1079 returnValue(fb.OntaniConfig())
1080 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001081 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001082 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001083
1084 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001085 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001086 def GetAllVOntaniConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001087 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001088 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001089 'GetAllVOntaniConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001090 Empty(),
1091 context,
1092 broadcast=True)
1093 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001094 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001095 context.set_details('VOntani error')
1096 context.set_code(response.error_code)
1097 returnValue(Empty())
1098 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001099 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001100 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001101
1102 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001103 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001104 def CreateVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001105 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001106 try:
1107 assert isinstance(request, fb.VOntaniConfig)
1108 request.id = create_empty_broadcast_id()
1109 except AssertionError, e:
1110 context.set_details(e.message)
1111 context.set_code(StatusCode.INVALID_ARGUMENT)
1112 returnValue(fb.VOntaniConfig())
1113 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001114 'CreateVOntani',
1115 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001116 context,
1117 id=request.id,
1118 broadcast=True)
1119 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001120 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001121 context.set_details('VOntani \'{}\' error'.format(request.id))
1122 context.set_code(response.error_code)
1123 returnValue(fb.VOntaniConfig())
1124 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001125 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001126 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001127
1128 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001129 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001130 def UpdateVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001131 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001132 try:
1133 assert isinstance(request, fb.VOntaniConfig)
1134 request.id = create_empty_broadcast_id()
1135 except AssertionError, e:
1136 context.set_details(e.message)
1137 context.set_code(StatusCode.INVALID_ARGUMENT)
1138 returnValue(fb.VOntaniConfig())
1139 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001140 'UpdateVOntani',
1141 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001142 context,
1143 id=request.id,
1144 broadcast=True)
1145 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001146 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001147 context.set_details('VOntani \'{}\' error'.format(request.id))
1148 context.set_code(response.error_code)
1149 returnValue(fb.VOntaniConfig())
1150 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001151 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001152 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001153
1154 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001155 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001156 def DeleteVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001157 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001158 try:
1159 assert isinstance(request, fb.VOntaniConfig)
1160 request.id = create_empty_broadcast_id()
1161 except AssertionError, e:
1162 context.set_details(e.message)
1163 context.set_code(StatusCode.INVALID_ARGUMENT)
1164 returnValue(fb.VOntaniConfig())
1165 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001166 'DeleteVOntani',
1167 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001168 context,
1169 id=request.id,
1170 broadcast=True)
1171 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001172 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001173 context.set_details('VOntani \'{}\' error'.format(request.id))
1174 context.set_code(response.error_code)
1175 returnValue(fb.VOntaniConfig())
1176 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001177 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001178 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001179
1180 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001181 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001182 def GetAllVEnetConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001183 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001184 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001185 'GetAllVEnetConfig',
1186 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001187 context,
1188 broadcast=True)
1189 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001190 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001191 context.set_details('VEnet error')
1192 context.set_code(response.error_code)
1193 returnValue(Empty())
1194 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001195 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001196 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001197
1198 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001199 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001200 def CreateVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001201 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001202 try:
1203 assert isinstance(request, fb.VEnetConfig)
1204 request.id = create_empty_broadcast_id()
1205 except AssertionError, e:
1206 context.set_details(e.message)
1207 context.set_code(StatusCode.INVALID_ARGUMENT)
1208 returnValue(fb.VEnetConfig())
1209 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001210 'CreateVEnet',
1211 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001212 context,
1213 id=request.id,
1214 broadcast=True)
1215 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001216 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001217 context.set_details('VEnet \'{}\' error'.format(request.id))
1218 context.set_code(response.error_code)
1219 returnValue(fb.VEnetConfig())
1220 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001221 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001222 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001223
1224 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001225 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001226 def UpdateVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001227 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001228 try:
1229 assert isinstance(request, fb.VEnetConfig)
1230 request.id = create_empty_broadcast_id()
1231 except AssertionError, e:
1232 context.set_details(e.message)
1233 context.set_code(StatusCode.INVALID_ARGUMENT)
1234 returnValue(fb.VEnetConfig())
1235 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001236 'UpdateVEnet',
1237 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001238 context,
1239 id=request.id,
1240 broadcast=True)
1241 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001242 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001243 context.set_details('VEnet \'{}\' error'.format(request.id))
1244 context.set_code(response.error_code)
1245 returnValue(fb.VEnetConfig())
1246 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001247 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001248 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001249
1250 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001251 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001252 def DeleteVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001253 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001254 try:
1255 assert isinstance(request, fb.VEnetConfig)
1256 request.id = create_empty_broadcast_id()
1257 except AssertionError, e:
1258 context.set_details(e.message)
1259 context.set_code(StatusCode.INVALID_ARGUMENT)
1260 returnValue(fb.VEnetConfig())
1261 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001262 'DeleteVEnet',
1263 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001264 context,
1265 id=request.id,
1266 broadcast=True)
1267 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001268 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001269 context.set_details('VEnet \'{}\' error'.format(request.id))
1270 context.set_code(response.error_code)
1271 returnValue(fb.VEnetConfig())
1272 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001273 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001274 returnValue(response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001275
1276 @twisted_async
1277 @inlineCallbacks
1278 def GetAllTrafficDescriptorProfileData(self, request, context):
1279 _method_name = sys._getframe().f_code.co_name
1280 return self.get_all_global_xpon_object_data (request, context,
1281 _method_name)
1282
1283 @twisted_async
1284 @inlineCallbacks
1285 def CreateTrafficDescriptorProfileData(self, request, context):
1286 _method_name = sys._getframe().f_code.co_name
1287 return self.manage_global_xpon_object (request, context,
1288 _method_name)
1289
1290 @twisted_async
1291 @inlineCallbacks
1292 def UpdateTrafficDescriptorProfileData(self, request, context):
1293 _method_name = sys._getframe().f_code.co_name
1294 return self.manage_global_xpon_object (request, context,
1295 _method_name)
1296
1297 @twisted_async
1298 @inlineCallbacks
1299 def DeleteTrafficDescriptorProfileData(self, request, context):
1300 _method_name = sys._getframe().f_code.co_name
1301 return self.manage_global_xpon_object (request, context,
1302 _method_name)
1303
1304 @twisted_async
1305 @inlineCallbacks
1306 def GetAllTcontsConfigData(self, request, context):
1307 _method_name = sys._getframe().f_code.co_name
1308 return self.get_all_global_xpon_object_data (request, context,
1309 _method_name)
1310
1311 @twisted_async
1312 @inlineCallbacks
1313 def CreateTcontsConfigData(self, request, context):
1314 _method_name = sys._getframe().f_code.co_name
1315 return self.manage_global_xpon_object (request, context, _method_name)
1316
1317 @twisted_async
1318 @inlineCallbacks
1319 def UpdateTcontsConfigData(self, request, context):
1320 _method_name = sys._getframe().f_code.co_name
1321 return self.manage_global_xpon_object (request, context, _method_name)
1322
1323 @twisted_async
1324 @inlineCallbacks
1325 def DeleteTcontsConfigData(self, request, context):
1326 _method_name = sys._getframe().f_code.co_name
1327 return self.manage_global_xpon_object (request, context, _method_name)
1328
1329 @twisted_async
1330 @inlineCallbacks
1331 def GetAllGemportsConfigData(self, request, context):
1332 _method_name = sys._getframe().f_code.co_name
1333 return self.get_all_global_xpon_object_data (request, context,
1334 _method_name)
1335
1336 @twisted_async
1337 @inlineCallbacks
1338 def CreateGemportsConfigData(self, request, context):
1339 _method_name = sys._getframe().f_code.co_name
1340 return self.manage_global_xpon_object (request, context, _method_name)
1341
1342 @twisted_async
1343 @inlineCallbacks
1344 def UpdateGemportsConfigData(self, request, context):
1345 _method_name = sys._getframe().f_code.co_name
1346 return self.manage_global_xpon_object (request, context, _method_name)
1347
1348 @twisted_async
1349 @inlineCallbacks
1350 def DeleteGemportsConfigData(self, request, context):
1351 _method_name = sys._getframe().f_code.co_name
1352 return self.manage_global_xpon_object (request, context, _method_name)
1353
1354 @twisted_async
1355 @inlineCallbacks
1356 def GetAllMulticastGemportsConfigData(self, request, context):
1357 _method_name = sys._getframe().f_code.co_name
1358 return self.get_all_global_xpon_object_data (request, context,
1359 _method_name)
1360
1361 @twisted_async
1362 @inlineCallbacks
1363 def CreateMulticastGemportsConfigData(self, request, context):
1364 _method_name = sys._getframe().f_code.co_name
1365 return self.manage_global_xpon_object (request, context, _method_name)
1366
1367 @twisted_async
1368 @inlineCallbacks
1369 def UpdateMulticastGemportsConfigData(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 DeleteMulticastGemportsConfigData(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 GetAllMulticastDistributionSetData(self, request, context):
1382 _method_name = sys._getframe().f_code.co_name
1383 return self.get_all_global_xpon_object_data (request, context,
1384 _method_name)
1385
1386 @twisted_async
1387 @inlineCallbacks
1388 def CreateMulticastDistributionSetData(self, request, context):
1389 _method_name = sys._getframe().f_code.co_name
1390 return self.manage_global_xpon_object (request, context, _method_name)
1391
1392 @twisted_async
1393 @inlineCallbacks
1394 def UpdateMulticastDistributionSetData(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 DeleteMulticastDistributionSetData(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 def get_all_global_xpon_object_data(self, request, context, method_name):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001405 log.debug('grpc-request', request=request)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001406 response = yield self.dispatcher.dispatch(
1407 method_name,
1408 Empty(),
1409 context,
1410 broadcast=True)
1411 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001412 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001413 context.set_details('{}\' error' .format(type(request).__name__))
1414 context.set_code(response.error_code)
1415 returnValue(Empty())
1416 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001417 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001418 returnValue(response)
1419
1420 def manage_global_xpon_object(self, request, context, method_name):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001421 log.debug('grpc-request', request=request)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001422 _xpon_object_type = self.xpon_object_type[method_name]
1423 try:
1424 assert isinstance(request, _xpon_object_type)
1425 request.id = create_empty_broadcast_id()
1426 except AssertionError, e:
1427 context.set_details(e.message)
1428 context.set_code(StatusCode.INVALID_ARGUMENT)
1429 returnValue(_xpon_object_type())
1430 response = yield self.dispatcher.dispatch(
1431 method_name,
1432 request,
1433 context,
1434 id=request.id,
1435 broadcast=True)
1436 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001437 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001438 context.set_details('{}\'{}\' error'.format(type(request).__name__,
1439 request.id))
1440 context.set_code(response.error_code)
1441 returnValue(_xpon_object_type())
1442 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001443 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001444 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001445 # bbf_fiber rpcs end
1446
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001447 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001448 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001449 def CreateAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001450 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001451 # Since AlarmFilter applies to the entire cluster, it will be assigned
1452 # a global id (using a global core_id). Every Voltha instance will
1453 # have the same data. Since the voltha instances are managed by
1454 # docker swarm mode then whenever an instance goes down it will be
1455 # brought up right away, hence reducing the chance of two instances
1456 # having different data. In future phases, we should adopt the
1457 # strategy of having a unique persistence model for cluster data
1458 # compare to instance data
1459 try:
1460 assert isinstance(request, AlarmFilter)
1461 request.id = create_cluster_id()
1462 except AssertionError, e:
1463 context.set_details(e.message)
1464 context.set_code(StatusCode.INVALID_ARGUMENT)
1465 returnValue(AlarmFilter())
1466
1467 response = yield self.dispatcher.dispatch('CreateAlarmFilter',
1468 request,
1469 context,
1470 id=request.id,
1471 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001472 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001473 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001474 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001475 context.set_details('Create alarm error')
1476 context.set_code(response.error_code)
1477 returnValue(AlarmFilter())
1478 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001479 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001480 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001481
1482 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001483 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001484 def GetAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001485 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001486 response = yield self.dispatcher.dispatch('GetAlarmFilter',
1487 request,
1488 context,
1489 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001490 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001491 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001492 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001493 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1494 context.set_code(response.error_code)
1495 returnValue(AlarmFilter())
1496 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001497 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001498 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001499
1500 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001501 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001502 def UpdateAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001503 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001504 response = yield self.dispatcher.dispatch('UpdateAlarmFilter',
1505 request,
1506 context,
1507 id=request.id,
1508 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001509 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001510 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001511 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001512 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1513 context.set_code(response.error_code)
1514 returnValue(AlarmFilter())
1515 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001516 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001517 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001518
1519 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001520 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001521 def DeleteAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001522 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001523 response = yield self.dispatcher.dispatch('DeleteAlarmFilter',
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('Alarm filter\'{}\' error'.format(request.id))
1532 context.set_code(response.error_code)
1533 returnValue(Empty())
1534 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001535 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001536 returnValue(Empty())
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 ListAlarmFilters(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('ListAlarmFilters',
1543 Empty(),
1544 context,
1545 broadcast=True)
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 filters error')
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)
ggowdru236bd952017-06-20 20:32:55 -07001555
1556 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001557 @inlineCallbacks
ggowdru236bd952017-06-20 20:32:55 -07001558 def GetImages(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('GetImages',
1561 request,
1562 context,
1563 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001564 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001565 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001566 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001567 context.set_details('Device \'{}\' error'.format(request.id))
1568 context.set_code(response.error_code)
1569 returnValue(Images())
1570 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001571 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001572 returnValue(response)
sathishg5ae86222017-06-28 15:16:29 +05301573
1574 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001575 @inlineCallbacks
sathishg5ae86222017-06-28 15:16:29 +05301576 def SelfTest(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001577 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001578 response = yield self.dispatcher.dispatch('SelfTest',
1579 request,
1580 context,
1581 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001582 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001583 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001584 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001585 context.set_details('Device \'{}\' error'.format(request.id))
1586 context.set_code(response.error_code)
1587 returnValue(SelfTestResponse())
1588 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001589 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001590 returnValue(response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001591
1592 @twisted_async
1593 @inlineCallbacks
1594 def DownloadImage(self, request, context):
1595 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001596 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001597 response = yield self.dispatcher.dispatch('DownloadImage',
1598 request,
1599 context,
1600 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001601 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001602 except Exception as e:
1603 log.exception('grpc-exception', e=e)
1604
1605 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001606 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001607 context.set_details('Device \'{}\' error'.format(request.id))
1608 context.set_code(response.error_code)
1609 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1610 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001611 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001612 returnValue(response)
1613
1614 @twisted_async
1615 @inlineCallbacks
1616 def GetImageDownloadStatus(self, request, context):
1617 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001618 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001619 response = yield self.dispatcher.dispatch('GetImageDownloadStatus',
1620 request,
1621 context,
1622 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001623 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001624 except Exception as e:
1625 log.exception('grpc-exception', e=e)
1626
1627 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001628 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001629 context.set_details('Device \'{}\' error'.format(request.id))
1630 context.set_code(response.error_code)
1631 returnValue(ImageDownloads())
1632 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001633 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001634 returnValue(response)
1635
1636 @twisted_async
1637 @inlineCallbacks
1638 def GetImageDownload(self, request, context):
1639 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001640 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001641 response = yield self.dispatcher.dispatch('GetImageDownload',
1642 request,
1643 context,
1644 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001645 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001646 except Exception as e:
1647 log.exception('grpc-exception', e=e)
1648
1649 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001650 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001651 context.set_details('Device \'{}\' error'.format(request.id))
1652 context.set_code(response.error_code)
1653 returnValue(ImageDownload())
1654 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001655 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001656 returnValue(response)
1657
1658 @twisted_async
1659 @inlineCallbacks
1660 def ListImageDownloads(self, request, context):
1661 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001662 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001663 response = yield self.dispatcher.dispatch('ListImageDownloads',
1664 request,
1665 context,
1666 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001667 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001668 except Exception as e:
1669 log.exception('grpc-exception', e=e)
1670
1671 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001672 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001673 context.set_details('Device \'{}\' error'.format(request.id))
1674 context.set_code(response.error_code)
1675 returnValue(ImageDownloads())
1676 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001677 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001678 returnValue(response)
1679
1680
1681 @twisted_async
1682 @inlineCallbacks
1683 def CancelImageDownload(self, request, context):
1684 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001685 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001686 response = yield self.dispatcher.dispatch('CancelImageDownload',
1687 request,
1688 context,
1689 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001690 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001691 except Exception as e:
1692 log.exception('grpc-exception', e=e)
1693
1694 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001695 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001696 context.set_details('Device \'{}\' error'.format(request.id))
1697 context.set_code(response.error_code)
1698 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1699 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001700 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001701 returnValue(response)
1702
1703 @twisted_async
1704 @inlineCallbacks
1705 def ActivateImageUpdate(self, request, context):
1706 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001707 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001708 response = yield self.dispatcher.dispatch('ActivateImageUpdate',
1709 request,
1710 context,
1711 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001712 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001713 except Exception as e:
1714 log.exception('grpc-exception', e=e)
1715
1716 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001717 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001718 context.set_details('Device \'{}\' error'.format(request.id))
1719 context.set_code(response.error_code)
1720 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1721 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001722 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001723 returnValue(response)
1724
1725 @twisted_async
1726 @inlineCallbacks
1727 def RevertImageUpdate(self, request, context):
1728 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001729 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001730 response = yield self.dispatcher.dispatch('RevertImageUpdate',
1731 request,
1732 context,
1733 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001734 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001735 except Exception as e:
1736 log.exception('grpc-exception', e=e)
1737
1738 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001739 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001740 context.set_details('Device \'{}\' error'.format(request.id))
1741 context.set_code(response.error_code)
1742 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1743 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001744 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001745 returnValue(response)
Chip Boling69abce82018-06-18 09:56:23 -05001746
1747 @twisted_async
1748 @inlineCallbacks
1749 def GetMibDeviceData(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001750 log.debug('grpc-request', request=request)
Chip Boling69abce82018-06-18 09:56:23 -05001751 response = yield self.dispatcher.dispatch('GetMibDeviceData',
1752 request,
1753 context,
1754 id=request.id)
1755 log.debug('grpc-response', response=response)
1756 if isinstance(response, DispatchError):
1757 log.warn('grpc-error-response', error=response.error_code)
1758 context.set_details('Device \'{}\' error'.format(request.id))
1759 context.set_code(response.error_code)
1760 returnValue(MibDeviceData())
1761 else:
1762 log.debug('grpc-success-response', response=response)
1763 returnValue(response)
jasonhuang5f3e63b2018-07-27 01:32:48 +08001764
1765 @twisted_async
1766 @inlineCallbacks
1767 def GetAlarmDeviceData(self, request, context):
1768 log.info('grpc-request', request=request)
1769 response = yield self.dispatcher.dispatch('GetAlarmDeviceData',
1770 request,
1771 context,
1772 id=request.id)
1773 log.debug('grpc-response', response=response)
1774 if isinstance(response, DispatchError):
1775 log.warn('grpc-error-response', error=response.error_code)
1776 context.set_details('Device \'{}\' error'.format(request.id))
1777 context.set_code(response.error_code)
1778 returnValue(AlarmDeviceData())
1779 else:
1780 log.debug('grpc-success-response', response=response)
Scott Bakerd3190952018-09-04 15:47:28 -07001781 returnValue(response)
1782
1783 @twisted_async
1784 @inlineCallbacks
1785 def SimulateAlarm(self, request, context):
1786 try:
1787 log.debug('grpc-request', request=request)
1788 response = yield self.dispatcher.dispatch('SimulateAlarm',
1789 request,
1790 context,
1791 id=request.id)
1792 log.debug('grpc-response', response=response)
1793 except Exception as e:
1794 log.exception('grpc-exception', e=e)
1795
1796 if isinstance(response, DispatchError):
1797 log.warn('grpc-error-response', error=response.error_code)
1798 context.set_details('Device \'{}\' error'.format(request.id))
1799 context.set_code(response.error_code)
1800 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1801 else:
1802 log.debug('grpc-success-response', response=response)
jasonhuang5f3e63b2018-07-27 01:32:48 +08001803 returnValue(response)