blob: aed018e865c34b381523f87427edfad02052862d [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
jasonhuang5f3e63b2018-07-27 01:32:48 +080049from voltha.protos.omci_alarm_db_pb2 import AlarmDeviceData
Zsolt Haraszti66862032016-11-28 14:28:39 -080050
51log = structlog.get_logger()
52
53
54class GlobalHandler(VolthaGlobalServiceServicer):
Nikolay Titov3b31db92017-08-02 18:11:33 -040055
56 xpon_object_type = {
57 'CreateChannelgroup': ChannelgroupConfig,
58 'UpdateChannelgroup': ChannelgroupConfig,
59 'DeleteChannelgroup': ChannelgroupConfig,
60 'CreateChannelpartition': ChannelpartitionConfig,
61 'UpdateChannelpartition': ChannelpartitionConfig,
62 'DeleteChannelpartition': ChannelpartitionConfig,
63 'CreateChannelpair': ChannelpairConfig,
64 'UpdateChannelpair': ChannelpairConfig,
65 'DeleteChannelpair': ChannelpairConfig,
66 'CreateChanneltermination': ChannelterminationConfig,
67 'UpdateChanneltermination': ChannelterminationConfig,
68 'DeleteChanneltermination': ChannelterminationConfig,
69 'CreateVOntani': VOntaniConfig,
70 'UpdateVOntani': VOntaniConfig,
71 'DeleteVOntani': VOntaniConfig,
72 'CreateOntani': OntaniConfig,
73 'UpdateOntani': OntaniConfig,
74 'DeleteOntani': OntaniConfig,
75 'CreateVEnet': VEnetConfig,
76 'UpdateVEnet': VEnetConfig,
77 'DeleteVEnet': VEnetConfig,
78 'CreateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
79 'UpdateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
80 'DeleteTrafficDescriptorProfileData': TrafficDescriptorProfileData,
81 'CreateTcontsConfigData': TcontsConfigData,
82 'UpdateTcontsConfigData': TcontsConfigData,
83 'DeleteTcontsConfigData': TcontsConfigData,
84 'CreateGemportsConfigData': GemportsConfigData,
85 'UpdateGemportsConfigData': GemportsConfigData,
86 'DeleteGemportsConfigData': GemportsConfigData,
87 'CreateMulticastGemportsConfigData': MulticastGemportsConfigData,
88 'UpdateMulticastGemportsConfigData': MulticastGemportsConfigData,
89 'DeleteMulticastGemportsConfigData': MulticastGemportsConfigData,
90 'CreateMulticastDistributionSetData': MulticastDistributionSetData,
91 'UpdateMulticastDistributionSetData': MulticastDistributionSetData,
92 'DeleteMulticastDistributionSetData': MulticastDistributionSetData
93 }
94
Zsolt Haraszti66862032016-11-28 14:28:39 -080095 def __init__(self, dispatcher, instance_id, **init_kw):
96 self.dispatcher = dispatcher
97 self.instance_id = instance_id
98 self.init_kw = init_kw
99 self.root = None
100 self.stopped = False
101
102 def start(self):
103 log.debug('starting')
104 self.root = ConfigRoot(Voltha(**self.init_kw))
Zsolt Haraszti66862032016-11-28 14:28:39 -0800105 log.info('started')
106 return self
107
khenaidoocbe30832017-08-25 10:43:27 -0400108 def register_grpc_service(self):
109 log.debug('registering')
110 registry('grpc_server').register(
111 add_VolthaGlobalServiceServicer_to_server, self)
112 log.info('registered')
113
Zsolt Haraszti66862032016-11-28 14:28:39 -0800114 def stop(self):
115 log.debug('stopping')
116 self.stopped = True
117 log.info('stopped')
118
119 # gRPC service method implementations. BE CAREFUL; THESE ARE CALLED ON
120 # the gRPC threadpool threads.
121
122 @twisted_async
123 def GetVoltha(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400124 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800125 return self.root.get('/', depth=1)
126
127 @twisted_async
Zsolt Haraszti66862032016-11-28 14:28:39 -0800128 def ListVolthaInstances(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400129 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400130 items = self.dispatcher.get_cluster_instances()
131 return VolthaInstances(items=items)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800132
133 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400134 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800135 def GetVolthaInstance(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400136 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400137 core_id = self.dispatcher.get_core_id_from_instance_id(request.id)
138 if not core_id:
139 log.info('invalid-instance-id', instance=request.id)
140 context.set_details('Voltha Instance error')
Zsolt Haraszti66862032016-11-28 14:28:39 -0800141 context.set_code(StatusCode.NOT_FOUND)
khenaidoo08d48d22017-06-29 19:42:49 -0400142 returnValue(VolthaInstance())
143
144 response = yield self.dispatcher.dispatch('GetVolthaInstance',
145 Empty(),
146 context,
147 core_id=core_id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400148 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400149 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400150 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400151 context.set_details('Voltha Instance error')
152 context.set_code(response.error_code)
153 returnValue(VolthaInstance())
154 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400155 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400156 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800157
158 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400159 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800160 def ListLogicalDevices(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400161 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400162 response = yield self.dispatcher.dispatch('ListLogicalDevices',
163 Empty(),
164 context,
165 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400166 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400167 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800168
169 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400170 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800171 def GetLogicalDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400172 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800173
khenaidoo08d48d22017-06-29 19:42:49 -0400174 response = yield self.dispatcher.dispatch('GetLogicalDevice',
175 request,
176 context,
177 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400178 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400179 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400180 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800181 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400182 'Logical device \'{}\' error'.format(request.id))
183 context.set_code(response.error_code)
184 returnValue(LogicalDevice())
185 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400186 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400187 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800188
189 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400190 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800191 def ListLogicalDevicePorts(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400192 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800193
khenaidoo08d48d22017-06-29 19:42:49 -0400194 response = yield self.dispatcher.dispatch('ListLogicalDevicePorts',
195 request,
196 context,
197 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400198 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400199 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400200 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800201 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400202 'Logical device ports \'{}\' error'.format(request.id))
203 context.set_code(response.error_code)
204 returnValue(Ports())
205 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400206 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400207 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800208
209 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400210 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700211 def GetLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400212 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700213
214 response = yield self.dispatcher.dispatch('GetLogicalDevicePort',
215 request,
216 context,
217 id=request.id)
218 log.debug('grpc-response', response=response)
219 if isinstance(response, DispatchError):
220 log.warn('grpc-error-response', error=response.error_code)
221 context.set_details(
222 'Logical port \'{}\' on device \'{}\' error'.format(request.port_id, request.id))
223 context.set_code(response.error_code)
224 returnValue(LogicalPort())
225 else:
226 log.debug('grpc-success-response', response=response)
227 returnValue(response)
228
229 @twisted_async
230 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800231 def ListLogicalDeviceFlows(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400232 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400233 response = yield self.dispatcher.dispatch('ListLogicalDeviceFlows',
234 request,
235 context,
236 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400237 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400238 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400239 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800240 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400241 'Logical device \'{}\' error'.format(request.id))
242 context.set_code(response.error_code)
243 returnValue(Flows())
244 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400245 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400246 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800247
248 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400249 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700250 def EnableLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400251 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700252 response = yield self.dispatcher.dispatch('EnableLogicalDevicePort',
253 request,
254 context,
255 id=request.id)
256 log.debug('grpc-response', response=response)
257 if isinstance(response, DispatchError):
258 log.warn('grpc-error-response', error=response.error_code)
259 context.set_details(
260 'Logical device \'{}\' error'.format(request.id))
261 context.set_code(response.error_code)
262 returnValue(Empty())
263 else:
264 log.debug('grpc-success-response', response=response)
265 returnValue(response)
266
267 @twisted_async
268 @inlineCallbacks
269 def DisableLogicalDevicePort(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400270 log.debug('grpc-request', request=request)
Jonathan Hart8d21c322018-04-17 07:42:02 -0700271 response = yield self.dispatcher.dispatch('DisableLogicalDevicePort',
272 request,
273 context,
274 id=request.id)
275 log.debug('grpc-response', response=response)
276 if isinstance(response, DispatchError):
277 log.warn('grpc-error-response', error=response.error_code)
278 context.set_details(
279 'Logical device \'{}\' error'.format(request.id))
280 context.set_code(response.error_code)
281 returnValue(Empty())
282 else:
283 log.debug('grpc-success-response', response=response)
284 returnValue(response)
285
286 @twisted_async
287 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800288 def UpdateLogicalDeviceFlowTable(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400289 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400290 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800291 'UpdateLogicalDeviceFlowTable',
292 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400293 context,
294 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400295 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400296 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400297 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400298 context.set_details(
299 'Logical device \'{}\' error'.format(request.id))
300 context.set_code(response.error_code)
301 returnValue(Empty())
302 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400303 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400304 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800305
306 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400307 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800308 def ListLogicalDeviceFlowGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400309 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400310 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800311 'ListLogicalDeviceFlowGroups',
312 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400313 context,
314 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400315 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400316 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400317 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400318 context.set_details(
319 'Logical device \'{}\' error'.format(request.id))
320 context.set_code(response.error_code)
321 returnValue(FlowGroups())
322 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400323 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400324 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800325
326 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400327 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800328 def UpdateLogicalDeviceFlowGroupTable(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400329 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400330 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800331 'UpdateLogicalDeviceFlowGroupTable',
332 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400333 context,
334 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400335 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400336 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400337 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400338 context.set_details(
339 'Logical device \'{}\' error'.format(request.id))
340 context.set_code(response.error_code)
341 returnValue(Empty())
342 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400343 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400344 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800345
346 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400347 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800348 def ListDevices(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400349 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400350 response = yield self.dispatcher.dispatch('ListDevices',
351 Empty(),
352 context,
353 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400354 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400355 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800356
357 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400358 @inlineCallbacks
khenaidoo997edbc2017-07-13 10:25:58 -0400359 def ListAdapters(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400360 log.debug('grpc-request', request=request)
khenaidoo997edbc2017-07-13 10:25:58 -0400361 response = yield self.dispatcher.dispatch('ListAdapters',
362 Empty(),
363 context,
364 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400365 log.debug('grpc-response', response=response)
khenaidoo997edbc2017-07-13 10:25:58 -0400366 returnValue(response)
367
368 @twisted_async
369 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800370 def GetDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400371 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400372 response = yield self.dispatcher.dispatch('GetDevice',
373 request,
374 context,
375 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400376 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400377 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400378 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400379 context.set_details('Device \'{}\' error'.format(request.id))
380 context.set_code(response.error_code)
381 returnValue(Device())
382 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400383 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400384 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800385
386 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400387 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800388 def CreateDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400389 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400390 response = yield self.dispatcher.dispatch('CreateDevice',
391 request,
392 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400393 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400394 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400395 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400396 context.set_details('Create device error')
397 context.set_code(response.error_code)
398 returnValue(Device())
399 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400400 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400401 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800402
403 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400404 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500405 def EnableDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400406 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400407 response = yield self.dispatcher.dispatch('EnableDevice',
408 request,
409 context,
410 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400411 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400412 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400413 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400414 context.set_details('Device \'{}\' error'.format(request.id))
415 context.set_code(response.error_code)
416 returnValue(Device())
417 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400418 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400419 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500420
421 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400422 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500423 def DisableDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400424 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400425 response = yield self.dispatcher.dispatch('DisableDevice',
426 request,
427 context,
428 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400429 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400430 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400431 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400432 context.set_details('Device \'{}\' error'.format(request.id))
433 context.set_code(response.error_code)
434 returnValue(Device())
435 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400436 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400437 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500438
439 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400440 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500441 def RebootDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400442 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400443 response = yield self.dispatcher.dispatch('RebootDevice',
444 request,
445 context,
446 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400447 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400448 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400449 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400450 context.set_details('Device \'{}\' error'.format(request.id))
451 context.set_code(response.error_code)
452 returnValue(Device())
453 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400454 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400455 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500456
457 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400458 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500459 def DeleteDevice(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400460 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400461 response = yield self.dispatcher.dispatch('DeleteDevice',
462 request,
463 context,
464 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400465 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400466 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400467 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400468 context.set_details('Device \'{}\' error'.format(request.id))
469 context.set_code(response.error_code)
470 returnValue(Empty())
471 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400472 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400473 returnValue(Empty())
Zsolt Haraszti66862032016-11-28 14:28:39 -0800474
475 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400476 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800477 def ListDevicePorts(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400478 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400479 response = yield self.dispatcher.dispatch('ListDevicePorts',
480 request,
481 context,
482 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400483 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400484 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400485 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400486 context.set_details('Device \'{}\' error'.format(request.id))
487 context.set_code(response.error_code)
488 returnValue(Ports())
489 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400490 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400491 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800492
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500493 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400494 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500495 def ListDevicePmConfigs(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400496 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400497 response = yield self.dispatcher.dispatch('ListDevicePmConfigs',
498 request,
499 context,
500 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400501 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400502 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400503 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400504 context.set_details('Device \'{}\' error'.format(request.id))
505 context.set_code(response.error_code)
506 returnValue(PmConfigs())
507 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400508 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400509 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500510
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500511 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400512 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500513 def UpdateDevicePmConfigs(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400514 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400515 response = yield self.dispatcher.dispatch('UpdateDevicePmConfigs',
516 request,
517 context,
518 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400519 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400520 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400521 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400522 context.set_details('Device \'{}\' error'.format(request.id))
523 context.set_code(response.error_code)
524 returnValue(Empty())
525 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400526 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400527 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500528
Zsolt Haraszti66862032016-11-28 14:28:39 -0800529 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400530 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800531 def ListDeviceFlows(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400532 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400533 response = yield self.dispatcher.dispatch('ListDeviceFlows',
534 request,
535 context,
536 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400537 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400538 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400539 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400540 context.set_details('Device \'{}\' error'.format(request.id))
541 context.set_code(response.error_code)
542 returnValue(Flows())
543 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400544 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400545 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800546
547 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400548 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800549 def ListDeviceFlowGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400550 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400551 response = yield self.dispatcher.dispatch('ListDeviceFlowGroups',
552 request,
553 context,
554 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400555 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400556 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400557 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400558 context.set_details('Device \'{}\' error'.format(request.id))
559 context.set_code(response.error_code)
560 returnValue(FlowGroups())
561 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400562 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400563 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800564
565 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400566 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800567 def ListDeviceTypes(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400568 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800569 # we always deflect this to the local instance, as we assume
570 # they all loaded the same adapters, supporting the same device
571 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400572 response = yield self.dispatcher.dispatch('ListDeviceTypes',
573 request,
574 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400575 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400576 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400577 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400578 context.set_details('Device types error')
579 context.set_code(response.error_code)
580 returnValue(DeviceTypes())
581 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400582 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400583 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800584
585 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400586 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800587 def GetDeviceType(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400588 log.debug('grpc-request', request=request)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800589 # we always deflect this to the local instance, as we assume
590 # they all loaded the same adapters, supporting the same device
591 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400592 response = yield self.dispatcher.dispatch('GetDeviceType',
593 request,
594 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400595 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400596 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400597 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400598 context.set_details('Device type \'{}\' error'.format(
599 request.id))
600 context.set_code(response.error_code)
601 returnValue(DeviceType())
602 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400603 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400604 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800605
606 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400607 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800608 def ListDeviceGroups(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400609 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400610 response = yield self.dispatcher.dispatch('ListDeviceGroups',
611 Empty(),
612 context,
613 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400614 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400615 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800616
617 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400618 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800619 def GetDeviceGroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400620 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400621 response = yield self.dispatcher.dispatch('GetDeviceGroup',
622 request,
623 context,
624 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400625 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400626 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400627 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400628 context.set_details('Device group\'{}\' error'.format(request.id))
629 context.set_code(response.error_code)
630 returnValue(DeviceGroup())
631 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400632 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400633 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800634
Nikolay Titov89004ec2017-06-19 18:22:42 -0400635 # bbf_fiber rpcs start
636 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400637 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400638 def GetAllChannelgroupConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400639 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400640 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400641 'GetAllChannelgroupConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400642 Empty(),
643 context,
644 broadcast=True)
645 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400646 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400647 context.set_details('Channelgroup error')
648 context.set_code(response.error_code)
649 returnValue(Empty())
650 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400651 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400652 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400653
654 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400655 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400656 def CreateChannelgroup(self, request, context):
Nikolay Titov3b31db92017-08-02 18:11:33 -0400657 _method_name = sys._getframe().f_code.co_name
658 return self.manage_global_xpon_object (request, context, _method_name)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400659
660 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400661 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400662 def UpdateChannelgroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400663 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400664 try:
665 assert isinstance(request, fb.ChannelgroupConfig)
666 request.id = create_empty_broadcast_id()
667 except AssertionError, e:
668 context.set_details(e.message)
669 context.set_code(StatusCode.INVALID_ARGUMENT)
670 returnValue(fb.ChannelgroupConfig())
671 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400672 'UpdateChannelgroup',
673 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400674 context,
675 id=request.id,
676 broadcast=True)
677 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400678 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400679 context.set_details('Channelgroup\'{}\' error'.format(request.id))
680 context.set_code(response.error_code)
681 returnValue(fb.ChannelgroupConfig())
682 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400683 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400684 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400685
686 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400687 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400688 def DeleteChannelgroup(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400689 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400690 try:
691 assert isinstance(request, fb.ChannelgroupConfig)
692 request.id = create_empty_broadcast_id()
693 except AssertionError, e:
694 context.set_details(e.message)
695 context.set_code(StatusCode.INVALID_ARGUMENT)
696 returnValue(fb.ChannelgroupConfig())
697 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400698 'DeleteChannelgroup',
699 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400700 context,
701 id=request.id,
702 broadcast=True)
703 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400704 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400705 context.set_details('Channelgroup\'{}\' error'.format(request.id))
706 context.set_code(response.error_code)
707 returnValue(fb.ChannelgroupConfig())
708 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400709 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400710 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400711
712 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400713 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400714 def GetAllChannelpartitionConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400715 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400716 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400717 'GetAllChannelpartitionConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400718 Empty(),
719 context,
720 broadcast=True)
721 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400722 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400723 context.set_details('Channelpartition error')
724 context.set_code(response.error_code)
725 returnValue(Empty())
726 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400727 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400728 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400729
730 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400731 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400732 def CreateChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400733 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400734 try:
735 assert isinstance(request, fb.ChannelpartitionConfig)
736 request.id = create_empty_broadcast_id()
737 except AssertionError, e:
738 context.set_details(e.message)
739 context.set_code(StatusCode.INVALID_ARGUMENT)
740 returnValue(fb.ChannelpartitionConfig())
741 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400742 'CreateChannelpartition',
743 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400744 context,
745 id=request.id,
746 broadcast=True)
747 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400748 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400749 context.set_details('Channelpartition\'{}\' error'.format(
750 request.id))
751 context.set_code(response.error_code)
752 returnValue(fb.ChannelpartitionConfig())
753 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400754 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400755 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400756
757 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400758 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400759 def UpdateChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400760 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400761 try:
762 assert isinstance(request, fb.ChannelpartitionConfig)
763 request.id = create_empty_broadcast_id()
764 except AssertionError, e:
765 context.set_details(e.message)
766 context.set_code(StatusCode.INVALID_ARGUMENT)
767 returnValue(fb.ChannelpartitionConfig())
768 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400769 'UpdateChannelpartition',
770 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400771 context,
772 id=request.id,
773 broadcast=True)
774 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400775 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400776 context.set_details('Channelpartition\'{}\' error'.format(
777 request.id))
778 context.set_code(response.error_code)
779 returnValue(fb.ChannelpartitionConfig())
780 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400781 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400782 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400783
784 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400785 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400786 def DeleteChannelpartition(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400787 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400788 try:
789 assert isinstance(request, fb.ChannelpartitionConfig)
790 request.id = create_empty_broadcast_id()
791 except AssertionError, e:
792 context.set_details(e.message)
793 context.set_code(StatusCode.INVALID_ARGUMENT)
794 returnValue(fb.ChannelpartitionConfig())
795 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400796 'DeleteChannelpartition',
797 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400798 context,
799 id=request.id,
800 broadcast=True)
801 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400802 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400803 context.set_details('Channelpartition\'{}\' error'.format(
804 request.id))
805 context.set_code(response.error_code)
806 returnValue(fb.ChannelpartitionConfig())
807 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400808 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400809 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400810
811 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400812 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400813 def GetAllChannelpairConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400814 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400815 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400816 'GetAllChannelpairConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400817 Empty(),
818 context,
819 broadcast=True)
820 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400821 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400822 context.set_details('Channelpair error')
823 context.set_code(response.error_code)
824 returnValue(Empty())
825 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400826 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400827 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400828
829 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400830 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400831 def CreateChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400832 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400833 try:
834 assert isinstance(request, fb.ChannelpairConfig)
835 request.id = create_empty_broadcast_id()
836 except AssertionError, e:
837 context.set_details(e.message)
838 context.set_code(StatusCode.INVALID_ARGUMENT)
839 returnValue(fb.ChannelpairConfig())
840 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400841 'CreateChannelpair',
842 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400843 context,
844 id=request.id,
845 broadcast=True)
846 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400847 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400848 context.set_details('Channelpair\'{}\' error'.format(request.id))
849 context.set_code(response.error_code)
850 returnValue(fb.ChannelpairConfig())
851 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400852 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400853 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400854
855 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400856 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400857 def UpdateChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400858 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400859 try:
860 assert isinstance(request, fb.ChannelpairConfig)
861 request.id = create_empty_broadcast_id()
862 except AssertionError, e:
863 context.set_details(e.message)
864 context.set_code(StatusCode.INVALID_ARGUMENT)
865 returnValue(fb.ChannelpairConfig())
866 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400867 'UpdateChannelpair',
868 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400869 context,
870 id=request.id,
871 broadcast=True)
872 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400873 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400874 context.set_details('Channelpair\'{}\' error'.format(request.id))
875 context.set_code(response.error_code)
876 returnValue(fb.ChannelpairConfig())
877 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400878 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400879 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400880
881 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400882 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400883 def DeleteChannelpair(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400884 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400885 try:
886 assert isinstance(request, fb.ChannelpairConfig)
887 request.id = create_empty_broadcast_id()
888 except AssertionError, e:
889 context.set_details(e.message)
890 context.set_code(StatusCode.INVALID_ARGUMENT)
891 returnValue(fb.ChannelpairConfig())
892 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400893 'DeleteChannelpair',
894 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400895 context,
896 id=request.id,
897 broadcast=True)
898 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400899 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400900 context.set_details('Channelpair\'{}\' error'.format(request.id))
901 context.set_code(response.error_code)
902 returnValue(fb.ChannelpairConfig())
903 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400904 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400905 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400906
907 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400908 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400909 def GetAllChannelterminationConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400910 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400911 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400912 'GetAllChannelterminationConfig',
913 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400914 context,
915 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400916 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400917 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400918 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400919 context.set_details('Channeltermination \'{}\' error'.format(
920 request.id))
921 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400922 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400923 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400924 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400925 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400926
927 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400928 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400929 def CreateChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400930 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400931 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400932 'CreateChanneltermination',
933 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400934 context,
935 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400936 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400937 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400938 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400939 context.set_details('Channeltermination \'{}\' error'.format(
940 request.id))
941 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400942 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400943 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400944 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400945 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400946
947 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400948 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400949 def UpdateChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400950 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400951 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400952 'UpdateChanneltermination',
953 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400954 context,
955 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400956 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400957 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400958 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400959 context.set_details('Channeltermination \'{}\' error'.format(
960 request.id))
961 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400962 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400963 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400964 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400965 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400966
967 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400968 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400969 def DeleteChanneltermination(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400970 log.debug('grpc-request', request=request)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400971 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400972 'DeleteChanneltermination',
973 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400974 context,
975 id=request.id)
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400976 log.debug('grpc-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400977 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400978 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400979 context.set_details('Channeltermination \'{}\' error'.format(
980 request.id))
981 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400982 returnValue(fb.ChannelterminationConfig())
983 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400984 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400985 returnValue(response)
986
987 @twisted_async
988 @inlineCallbacks
989 def GetAllOntaniConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -0400990 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400991 response = yield self.dispatcher.dispatch(
992 'GetAllOntaniConfig',
993 Empty(),
994 context,
995 broadcast=True)
996 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400997 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400998 context.set_details('Ontani error')
999 context.set_code(response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001000 returnValue(Empty())
1001 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001002 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001003 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001004
1005 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001006 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001007 def CreateOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001008 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001009 try:
1010 assert isinstance(request, fb.OntaniConfig)
1011 request.id = create_empty_broadcast_id()
1012 except AssertionError, e:
1013 context.set_details(e.message)
1014 context.set_code(StatusCode.INVALID_ARGUMENT)
1015 returnValue(fb.OntaniConfig())
1016 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001017 'CreateOntani',
1018 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001019 context,
1020 id=request.id,
1021 broadcast=True)
1022 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001023 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001024 context.set_details('Ontani \'{}\' error'.format(request.id))
1025 context.set_code(response.error_code)
1026 returnValue(fb.OntaniConfig())
1027 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001028 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001029 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001030
1031 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001032 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001033 def UpdateOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001034 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001035 try:
1036 assert isinstance(request, fb.OntaniConfig)
1037 request.id = create_empty_broadcast_id()
1038 except AssertionError, e:
1039 context.set_details(e.message)
1040 context.set_code(StatusCode.INVALID_ARGUMENT)
1041 returnValue(fb.OntaniConfig())
1042 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001043 'UpdateOntani',
1044 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001045 context,
1046 id=request.id,
1047 broadcast=True)
1048 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001049 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001050 context.set_details('Ontani \'{}\' error'.format(request.id))
1051 context.set_code(response.error_code)
1052 returnValue(fb.OntaniConfig())
1053 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001054 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001055 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001056
1057 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001058 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001059 def DeleteOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001060 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001061 try:
1062 assert isinstance(request, fb.OntaniConfig)
1063 request.id = create_empty_broadcast_id()
1064 except AssertionError, e:
1065 context.set_details(e.message)
1066 context.set_code(StatusCode.INVALID_ARGUMENT)
1067 returnValue(fb.OntaniConfig())
1068 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001069 'DeleteOntani',
1070 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001071 context,
1072 id=request.id,
1073 broadcast=True)
1074 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001075 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001076 context.set_details('Ontani \'{}\' error'.format(request.id))
1077 context.set_code(response.error_code)
1078 returnValue(fb.OntaniConfig())
1079 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001080 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001081 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001082
1083 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001084 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001085 def GetAllVOntaniConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001086 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001087 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001088 'GetAllVOntaniConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001089 Empty(),
1090 context,
1091 broadcast=True)
1092 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001093 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001094 context.set_details('VOntani error')
1095 context.set_code(response.error_code)
1096 returnValue(Empty())
1097 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001098 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001099 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001100
1101 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001102 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001103 def CreateVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001104 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001105 try:
1106 assert isinstance(request, fb.VOntaniConfig)
1107 request.id = create_empty_broadcast_id()
1108 except AssertionError, e:
1109 context.set_details(e.message)
1110 context.set_code(StatusCode.INVALID_ARGUMENT)
1111 returnValue(fb.VOntaniConfig())
1112 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001113 'CreateVOntani',
1114 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001115 context,
1116 id=request.id,
1117 broadcast=True)
1118 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001119 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001120 context.set_details('VOntani \'{}\' error'.format(request.id))
1121 context.set_code(response.error_code)
1122 returnValue(fb.VOntaniConfig())
1123 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001124 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001125 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001126
1127 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001128 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001129 def UpdateVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001130 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001131 try:
1132 assert isinstance(request, fb.VOntaniConfig)
1133 request.id = create_empty_broadcast_id()
1134 except AssertionError, e:
1135 context.set_details(e.message)
1136 context.set_code(StatusCode.INVALID_ARGUMENT)
1137 returnValue(fb.VOntaniConfig())
1138 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001139 'UpdateVOntani',
1140 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001141 context,
1142 id=request.id,
1143 broadcast=True)
1144 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001145 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001146 context.set_details('VOntani \'{}\' error'.format(request.id))
1147 context.set_code(response.error_code)
1148 returnValue(fb.VOntaniConfig())
1149 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001150 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001151 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001152
1153 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001154 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001155 def DeleteVOntani(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001156 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001157 try:
1158 assert isinstance(request, fb.VOntaniConfig)
1159 request.id = create_empty_broadcast_id()
1160 except AssertionError, e:
1161 context.set_details(e.message)
1162 context.set_code(StatusCode.INVALID_ARGUMENT)
1163 returnValue(fb.VOntaniConfig())
1164 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001165 'DeleteVOntani',
1166 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001167 context,
1168 id=request.id,
1169 broadcast=True)
1170 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001171 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001172 context.set_details('VOntani \'{}\' error'.format(request.id))
1173 context.set_code(response.error_code)
1174 returnValue(fb.VOntaniConfig())
1175 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001176 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001177 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001178
1179 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001180 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001181 def GetAllVEnetConfig(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001182 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001183 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001184 'GetAllVEnetConfig',
1185 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001186 context,
1187 broadcast=True)
1188 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001189 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001190 context.set_details('VEnet error')
1191 context.set_code(response.error_code)
1192 returnValue(Empty())
1193 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001194 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001195 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001196
1197 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001198 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001199 def CreateVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001200 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001201 try:
1202 assert isinstance(request, fb.VEnetConfig)
1203 request.id = create_empty_broadcast_id()
1204 except AssertionError, e:
1205 context.set_details(e.message)
1206 context.set_code(StatusCode.INVALID_ARGUMENT)
1207 returnValue(fb.VEnetConfig())
1208 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001209 'CreateVEnet',
1210 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001211 context,
1212 id=request.id,
1213 broadcast=True)
1214 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001215 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001216 context.set_details('VEnet \'{}\' error'.format(request.id))
1217 context.set_code(response.error_code)
1218 returnValue(fb.VEnetConfig())
1219 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001220 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001221 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001222
1223 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001224 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001225 def UpdateVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001226 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001227 try:
1228 assert isinstance(request, fb.VEnetConfig)
1229 request.id = create_empty_broadcast_id()
1230 except AssertionError, e:
1231 context.set_details(e.message)
1232 context.set_code(StatusCode.INVALID_ARGUMENT)
1233 returnValue(fb.VEnetConfig())
1234 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001235 'UpdateVEnet',
1236 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001237 context,
1238 id=request.id,
1239 broadcast=True)
1240 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001241 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001242 context.set_details('VEnet \'{}\' error'.format(request.id))
1243 context.set_code(response.error_code)
1244 returnValue(fb.VEnetConfig())
1245 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001246 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001247 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001248
1249 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001250 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001251 def DeleteVEnet(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001252 log.debug('grpc-request', request=request)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001253 try:
1254 assert isinstance(request, fb.VEnetConfig)
1255 request.id = create_empty_broadcast_id()
1256 except AssertionError, e:
1257 context.set_details(e.message)
1258 context.set_code(StatusCode.INVALID_ARGUMENT)
1259 returnValue(fb.VEnetConfig())
1260 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001261 'DeleteVEnet',
1262 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001263 context,
1264 id=request.id,
1265 broadcast=True)
1266 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001267 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001268 context.set_details('VEnet \'{}\' error'.format(request.id))
1269 context.set_code(response.error_code)
1270 returnValue(fb.VEnetConfig())
1271 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001272 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001273 returnValue(response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001274
1275 @twisted_async
1276 @inlineCallbacks
1277 def GetAllTrafficDescriptorProfileData(self, request, context):
1278 _method_name = sys._getframe().f_code.co_name
1279 return self.get_all_global_xpon_object_data (request, context,
1280 _method_name)
1281
1282 @twisted_async
1283 @inlineCallbacks
1284 def CreateTrafficDescriptorProfileData(self, request, context):
1285 _method_name = sys._getframe().f_code.co_name
1286 return self.manage_global_xpon_object (request, context,
1287 _method_name)
1288
1289 @twisted_async
1290 @inlineCallbacks
1291 def UpdateTrafficDescriptorProfileData(self, request, context):
1292 _method_name = sys._getframe().f_code.co_name
1293 return self.manage_global_xpon_object (request, context,
1294 _method_name)
1295
1296 @twisted_async
1297 @inlineCallbacks
1298 def DeleteTrafficDescriptorProfileData(self, request, context):
1299 _method_name = sys._getframe().f_code.co_name
1300 return self.manage_global_xpon_object (request, context,
1301 _method_name)
1302
1303 @twisted_async
1304 @inlineCallbacks
1305 def GetAllTcontsConfigData(self, request, context):
1306 _method_name = sys._getframe().f_code.co_name
1307 return self.get_all_global_xpon_object_data (request, context,
1308 _method_name)
1309
1310 @twisted_async
1311 @inlineCallbacks
1312 def CreateTcontsConfigData(self, request, context):
1313 _method_name = sys._getframe().f_code.co_name
1314 return self.manage_global_xpon_object (request, context, _method_name)
1315
1316 @twisted_async
1317 @inlineCallbacks
1318 def UpdateTcontsConfigData(self, request, context):
1319 _method_name = sys._getframe().f_code.co_name
1320 return self.manage_global_xpon_object (request, context, _method_name)
1321
1322 @twisted_async
1323 @inlineCallbacks
1324 def DeleteTcontsConfigData(self, request, context):
1325 _method_name = sys._getframe().f_code.co_name
1326 return self.manage_global_xpon_object (request, context, _method_name)
1327
1328 @twisted_async
1329 @inlineCallbacks
1330 def GetAllGemportsConfigData(self, request, context):
1331 _method_name = sys._getframe().f_code.co_name
1332 return self.get_all_global_xpon_object_data (request, context,
1333 _method_name)
1334
1335 @twisted_async
1336 @inlineCallbacks
1337 def CreateGemportsConfigData(self, request, context):
1338 _method_name = sys._getframe().f_code.co_name
1339 return self.manage_global_xpon_object (request, context, _method_name)
1340
1341 @twisted_async
1342 @inlineCallbacks
1343 def UpdateGemportsConfigData(self, request, context):
1344 _method_name = sys._getframe().f_code.co_name
1345 return self.manage_global_xpon_object (request, context, _method_name)
1346
1347 @twisted_async
1348 @inlineCallbacks
1349 def DeleteGemportsConfigData(self, request, context):
1350 _method_name = sys._getframe().f_code.co_name
1351 return self.manage_global_xpon_object (request, context, _method_name)
1352
1353 @twisted_async
1354 @inlineCallbacks
1355 def GetAllMulticastGemportsConfigData(self, request, context):
1356 _method_name = sys._getframe().f_code.co_name
1357 return self.get_all_global_xpon_object_data (request, context,
1358 _method_name)
1359
1360 @twisted_async
1361 @inlineCallbacks
1362 def CreateMulticastGemportsConfigData(self, request, context):
1363 _method_name = sys._getframe().f_code.co_name
1364 return self.manage_global_xpon_object (request, context, _method_name)
1365
1366 @twisted_async
1367 @inlineCallbacks
1368 def UpdateMulticastGemportsConfigData(self, request, context):
1369 _method_name = sys._getframe().f_code.co_name
1370 return self.manage_global_xpon_object (request, context, _method_name)
1371
1372 @twisted_async
1373 @inlineCallbacks
1374 def DeleteMulticastGemportsConfigData(self, request, context):
1375 _method_name = sys._getframe().f_code.co_name
1376 return self.manage_global_xpon_object (request, context, _method_name)
1377
1378 @twisted_async
1379 @inlineCallbacks
1380 def GetAllMulticastDistributionSetData(self, request, context):
1381 _method_name = sys._getframe().f_code.co_name
1382 return self.get_all_global_xpon_object_data (request, context,
1383 _method_name)
1384
1385 @twisted_async
1386 @inlineCallbacks
1387 def CreateMulticastDistributionSetData(self, request, context):
1388 _method_name = sys._getframe().f_code.co_name
1389 return self.manage_global_xpon_object (request, context, _method_name)
1390
1391 @twisted_async
1392 @inlineCallbacks
1393 def UpdateMulticastDistributionSetData(self, request, context):
1394 _method_name = sys._getframe().f_code.co_name
1395 return self.manage_global_xpon_object (request, context, _method_name)
1396
1397 @twisted_async
1398 @inlineCallbacks
1399 def DeleteMulticastDistributionSetData(self, request, context):
1400 _method_name = sys._getframe().f_code.co_name
1401 return self.manage_global_xpon_object (request, context, _method_name)
1402
1403 def get_all_global_xpon_object_data(self, request, context, method_name):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001404 log.debug('grpc-request', request=request)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001405 response = yield self.dispatcher.dispatch(
1406 method_name,
1407 Empty(),
1408 context,
1409 broadcast=True)
1410 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001411 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001412 context.set_details('{}\' error' .format(type(request).__name__))
1413 context.set_code(response.error_code)
1414 returnValue(Empty())
1415 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001416 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001417 returnValue(response)
1418
1419 def manage_global_xpon_object(self, request, context, method_name):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001420 log.debug('grpc-request', request=request)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001421 _xpon_object_type = self.xpon_object_type[method_name]
1422 try:
1423 assert isinstance(request, _xpon_object_type)
1424 request.id = create_empty_broadcast_id()
1425 except AssertionError, e:
1426 context.set_details(e.message)
1427 context.set_code(StatusCode.INVALID_ARGUMENT)
1428 returnValue(_xpon_object_type())
1429 response = yield self.dispatcher.dispatch(
1430 method_name,
1431 request,
1432 context,
1433 id=request.id,
1434 broadcast=True)
1435 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001436 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001437 context.set_details('{}\'{}\' error'.format(type(request).__name__,
1438 request.id))
1439 context.set_code(response.error_code)
1440 returnValue(_xpon_object_type())
1441 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001442 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001443 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001444 # bbf_fiber rpcs end
1445
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001446 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001447 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001448 def CreateAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001449 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001450 # Since AlarmFilter applies to the entire cluster, it will be assigned
1451 # a global id (using a global core_id). Every Voltha instance will
1452 # have the same data. Since the voltha instances are managed by
1453 # docker swarm mode then whenever an instance goes down it will be
1454 # brought up right away, hence reducing the chance of two instances
1455 # having different data. In future phases, we should adopt the
1456 # strategy of having a unique persistence model for cluster data
1457 # compare to instance data
1458 try:
1459 assert isinstance(request, AlarmFilter)
1460 request.id = create_cluster_id()
1461 except AssertionError, e:
1462 context.set_details(e.message)
1463 context.set_code(StatusCode.INVALID_ARGUMENT)
1464 returnValue(AlarmFilter())
1465
1466 response = yield self.dispatcher.dispatch('CreateAlarmFilter',
1467 request,
1468 context,
1469 id=request.id,
1470 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001471 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001472 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001473 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001474 context.set_details('Create alarm error')
1475 context.set_code(response.error_code)
1476 returnValue(AlarmFilter())
1477 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001478 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001479 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001480
1481 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001482 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001483 def GetAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001484 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001485 response = yield self.dispatcher.dispatch('GetAlarmFilter',
1486 request,
1487 context,
1488 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001489 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001490 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001491 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001492 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1493 context.set_code(response.error_code)
1494 returnValue(AlarmFilter())
1495 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001496 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001497 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001498
1499 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001500 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001501 def UpdateAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001502 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001503 response = yield self.dispatcher.dispatch('UpdateAlarmFilter',
1504 request,
1505 context,
1506 id=request.id,
1507 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001508 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001509 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001510 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001511 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1512 context.set_code(response.error_code)
1513 returnValue(AlarmFilter())
1514 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001515 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001516 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001517
1518 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001519 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001520 def DeleteAlarmFilter(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001521 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001522 response = yield self.dispatcher.dispatch('DeleteAlarmFilter',
1523 request,
1524 context,
1525 id=request.id,
1526 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001527 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001528 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001529 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001530 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1531 context.set_code(response.error_code)
1532 returnValue(Empty())
1533 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001534 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001535 returnValue(Empty())
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001536
1537 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001538 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001539 def ListAlarmFilters(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001540 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001541 response = yield self.dispatcher.dispatch('ListAlarmFilters',
1542 Empty(),
1543 context,
1544 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001545 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001546 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001547 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001548 context.set_details('Alarm filters error')
1549 context.set_code(response.error_code)
1550 returnValue(AlarmFilter())
1551 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001552 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001553 returnValue(response)
ggowdru236bd952017-06-20 20:32:55 -07001554
1555 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001556 @inlineCallbacks
ggowdru236bd952017-06-20 20:32:55 -07001557 def GetImages(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001558 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001559 response = yield self.dispatcher.dispatch('GetImages',
1560 request,
1561 context,
1562 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001563 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001564 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001565 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001566 context.set_details('Device \'{}\' error'.format(request.id))
1567 context.set_code(response.error_code)
1568 returnValue(Images())
1569 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001570 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001571 returnValue(response)
sathishg5ae86222017-06-28 15:16:29 +05301572
1573 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001574 @inlineCallbacks
sathishg5ae86222017-06-28 15:16:29 +05301575 def SelfTest(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001576 log.debug('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001577 response = yield self.dispatcher.dispatch('SelfTest',
1578 request,
1579 context,
1580 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001581 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001582 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001583 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001584 context.set_details('Device \'{}\' error'.format(request.id))
1585 context.set_code(response.error_code)
1586 returnValue(SelfTestResponse())
1587 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001588 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001589 returnValue(response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001590
1591 @twisted_async
1592 @inlineCallbacks
1593 def DownloadImage(self, request, context):
1594 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001595 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001596 response = yield self.dispatcher.dispatch('DownloadImage',
1597 request,
1598 context,
1599 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001600 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001601 except Exception as e:
1602 log.exception('grpc-exception', e=e)
1603
1604 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001605 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001606 context.set_details('Device \'{}\' error'.format(request.id))
1607 context.set_code(response.error_code)
1608 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1609 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001610 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001611 returnValue(response)
1612
1613 @twisted_async
1614 @inlineCallbacks
1615 def GetImageDownloadStatus(self, request, context):
1616 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001617 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001618 response = yield self.dispatcher.dispatch('GetImageDownloadStatus',
1619 request,
1620 context,
1621 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001622 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001623 except Exception as e:
1624 log.exception('grpc-exception', e=e)
1625
1626 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001627 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001628 context.set_details('Device \'{}\' error'.format(request.id))
1629 context.set_code(response.error_code)
1630 returnValue(ImageDownloads())
1631 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001632 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001633 returnValue(response)
1634
1635 @twisted_async
1636 @inlineCallbacks
1637 def GetImageDownload(self, request, context):
1638 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001639 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001640 response = yield self.dispatcher.dispatch('GetImageDownload',
1641 request,
1642 context,
1643 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001644 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001645 except Exception as e:
1646 log.exception('grpc-exception', e=e)
1647
1648 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001649 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001650 context.set_details('Device \'{}\' error'.format(request.id))
1651 context.set_code(response.error_code)
1652 returnValue(ImageDownload())
1653 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001654 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001655 returnValue(response)
1656
1657 @twisted_async
1658 @inlineCallbacks
1659 def ListImageDownloads(self, request, context):
1660 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001661 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001662 response = yield self.dispatcher.dispatch('ListImageDownloads',
1663 request,
1664 context,
1665 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001666 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001667 except Exception as e:
1668 log.exception('grpc-exception', e=e)
1669
1670 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001671 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001672 context.set_details('Device \'{}\' error'.format(request.id))
1673 context.set_code(response.error_code)
1674 returnValue(ImageDownloads())
1675 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001676 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001677 returnValue(response)
1678
1679
1680 @twisted_async
1681 @inlineCallbacks
1682 def CancelImageDownload(self, request, context):
1683 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001684 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001685 response = yield self.dispatcher.dispatch('CancelImageDownload',
1686 request,
1687 context,
1688 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001689 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001690 except Exception as e:
1691 log.exception('grpc-exception', e=e)
1692
1693 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001694 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001695 context.set_details('Device \'{}\' error'.format(request.id))
1696 context.set_code(response.error_code)
1697 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1698 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001699 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001700 returnValue(response)
1701
1702 @twisted_async
1703 @inlineCallbacks
1704 def ActivateImageUpdate(self, request, context):
1705 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001706 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001707 response = yield self.dispatcher.dispatch('ActivateImageUpdate',
1708 request,
1709 context,
1710 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001711 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001712 except Exception as e:
1713 log.exception('grpc-exception', e=e)
1714
1715 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001716 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001717 context.set_details('Device \'{}\' error'.format(request.id))
1718 context.set_code(response.error_code)
1719 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1720 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001721 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001722 returnValue(response)
1723
1724 @twisted_async
1725 @inlineCallbacks
1726 def RevertImageUpdate(self, request, context):
1727 try:
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001728 log.debug('grpc-request', request=request)
Lydia Fang01f2e852017-06-28 17:24:58 -07001729 response = yield self.dispatcher.dispatch('RevertImageUpdate',
1730 request,
1731 context,
1732 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001733 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001734 except Exception as e:
1735 log.exception('grpc-exception', e=e)
1736
1737 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001738 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001739 context.set_details('Device \'{}\' error'.format(request.id))
1740 context.set_code(response.error_code)
1741 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1742 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001743 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001744 returnValue(response)
Chip Boling69abce82018-06-18 09:56:23 -05001745
1746 @twisted_async
1747 @inlineCallbacks
1748 def GetMibDeviceData(self, request, context):
Nicolas Palpacuer324dcae2018-08-02 11:12:22 -04001749 log.debug('grpc-request', request=request)
Chip Boling69abce82018-06-18 09:56:23 -05001750 response = yield self.dispatcher.dispatch('GetMibDeviceData',
1751 request,
1752 context,
1753 id=request.id)
1754 log.debug('grpc-response', response=response)
1755 if isinstance(response, DispatchError):
1756 log.warn('grpc-error-response', error=response.error_code)
1757 context.set_details('Device \'{}\' error'.format(request.id))
1758 context.set_code(response.error_code)
1759 returnValue(MibDeviceData())
1760 else:
1761 log.debug('grpc-success-response', response=response)
1762 returnValue(response)
jasonhuang5f3e63b2018-07-27 01:32:48 +08001763
1764 @twisted_async
1765 @inlineCallbacks
1766 def GetAlarmDeviceData(self, request, context):
1767 log.info('grpc-request', request=request)
1768 response = yield self.dispatcher.dispatch('GetAlarmDeviceData',
1769 request,
1770 context,
1771 id=request.id)
1772 log.debug('grpc-response', response=response)
1773 if isinstance(response, DispatchError):
1774 log.warn('grpc-error-response', error=response.error_code)
1775 context.set_details('Device \'{}\' error'.format(request.id))
1776 context.set_code(response.error_code)
1777 returnValue(AlarmDeviceData())
1778 else:
1779 log.debug('grpc-success-response', response=response)
1780 returnValue(response)