blob: bfaaf043b301aab4ad6580c8ba5e7525a700f3ba [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
Zsolt Haraszti66862032016-11-28 14:28:39 -080049
50log = structlog.get_logger()
51
52
53class GlobalHandler(VolthaGlobalServiceServicer):
Nikolay Titov3b31db92017-08-02 18:11:33 -040054
55 xpon_object_type = {
56 'CreateChannelgroup': ChannelgroupConfig,
57 'UpdateChannelgroup': ChannelgroupConfig,
58 'DeleteChannelgroup': ChannelgroupConfig,
59 'CreateChannelpartition': ChannelpartitionConfig,
60 'UpdateChannelpartition': ChannelpartitionConfig,
61 'DeleteChannelpartition': ChannelpartitionConfig,
62 'CreateChannelpair': ChannelpairConfig,
63 'UpdateChannelpair': ChannelpairConfig,
64 'DeleteChannelpair': ChannelpairConfig,
65 'CreateChanneltermination': ChannelterminationConfig,
66 'UpdateChanneltermination': ChannelterminationConfig,
67 'DeleteChanneltermination': ChannelterminationConfig,
68 'CreateVOntani': VOntaniConfig,
69 'UpdateVOntani': VOntaniConfig,
70 'DeleteVOntani': VOntaniConfig,
71 'CreateOntani': OntaniConfig,
72 'UpdateOntani': OntaniConfig,
73 'DeleteOntani': OntaniConfig,
74 'CreateVEnet': VEnetConfig,
75 'UpdateVEnet': VEnetConfig,
76 'DeleteVEnet': VEnetConfig,
77 'CreateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
78 'UpdateTrafficDescriptorProfileData': TrafficDescriptorProfileData,
79 'DeleteTrafficDescriptorProfileData': TrafficDescriptorProfileData,
80 'CreateTcontsConfigData': TcontsConfigData,
81 'UpdateTcontsConfigData': TcontsConfigData,
82 'DeleteTcontsConfigData': TcontsConfigData,
83 'CreateGemportsConfigData': GemportsConfigData,
84 'UpdateGemportsConfigData': GemportsConfigData,
85 'DeleteGemportsConfigData': GemportsConfigData,
86 'CreateMulticastGemportsConfigData': MulticastGemportsConfigData,
87 'UpdateMulticastGemportsConfigData': MulticastGemportsConfigData,
88 'DeleteMulticastGemportsConfigData': MulticastGemportsConfigData,
89 'CreateMulticastDistributionSetData': MulticastDistributionSetData,
90 'UpdateMulticastDistributionSetData': MulticastDistributionSetData,
91 'DeleteMulticastDistributionSetData': MulticastDistributionSetData
92 }
93
Zsolt Haraszti66862032016-11-28 14:28:39 -080094 def __init__(self, dispatcher, instance_id, **init_kw):
95 self.dispatcher = dispatcher
96 self.instance_id = instance_id
97 self.init_kw = init_kw
98 self.root = None
99 self.stopped = False
100
101 def start(self):
102 log.debug('starting')
103 self.root = ConfigRoot(Voltha(**self.init_kw))
Zsolt Haraszti66862032016-11-28 14:28:39 -0800104 log.info('started')
105 return self
106
khenaidoocbe30832017-08-25 10:43:27 -0400107 def register_grpc_service(self):
108 log.debug('registering')
109 registry('grpc_server').register(
110 add_VolthaGlobalServiceServicer_to_server, self)
111 log.info('registered')
112
Zsolt Haraszti66862032016-11-28 14:28:39 -0800113 def stop(self):
114 log.debug('stopping')
115 self.stopped = True
116 log.info('stopped')
117
118 # gRPC service method implementations. BE CAREFUL; THESE ARE CALLED ON
119 # the gRPC threadpool threads.
120
121 @twisted_async
122 def GetVoltha(self, request, context):
123 log.info('grpc-request', request=request)
124 return self.root.get('/', depth=1)
125
126 @twisted_async
Zsolt Haraszti66862032016-11-28 14:28:39 -0800127 def ListVolthaInstances(self, request, context):
128 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400129 items = self.dispatcher.get_cluster_instances()
130 return VolthaInstances(items=items)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800131
132 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400133 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800134 def GetVolthaInstance(self, request, context):
135 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400136 core_id = self.dispatcher.get_core_id_from_instance_id(request.id)
137 if not core_id:
138 log.info('invalid-instance-id', instance=request.id)
139 context.set_details('Voltha Instance error')
Zsolt Haraszti66862032016-11-28 14:28:39 -0800140 context.set_code(StatusCode.NOT_FOUND)
khenaidoo08d48d22017-06-29 19:42:49 -0400141 returnValue(VolthaInstance())
142
143 response = yield self.dispatcher.dispatch('GetVolthaInstance',
144 Empty(),
145 context,
146 core_id=core_id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400147 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400148 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400149 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400150 context.set_details('Voltha Instance error')
151 context.set_code(response.error_code)
152 returnValue(VolthaInstance())
153 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400154 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400155 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800156
157 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400158 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800159 def ListLogicalDevices(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400160 log.info('grpc-request', request=request)
161 response = yield self.dispatcher.dispatch('ListLogicalDevices',
162 Empty(),
163 context,
164 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400165 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400166 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800167
168 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400169 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800170 def GetLogicalDevice(self, request, context):
171 log.info('grpc-request', request=request)
172
khenaidoo08d48d22017-06-29 19:42:49 -0400173 response = yield self.dispatcher.dispatch('GetLogicalDevice',
174 request,
175 context,
176 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400177 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400178 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400179 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800180 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400181 'Logical device \'{}\' error'.format(request.id))
182 context.set_code(response.error_code)
183 returnValue(LogicalDevice())
184 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400185 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400186 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800187
188 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400189 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800190 def ListLogicalDevicePorts(self, request, context):
191 log.info('grpc-request', request=request)
192
khenaidoo08d48d22017-06-29 19:42:49 -0400193 response = yield self.dispatcher.dispatch('ListLogicalDevicePorts',
194 request,
195 context,
196 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400197 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400198 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400199 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800200 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400201 'Logical device ports \'{}\' error'.format(request.id))
202 context.set_code(response.error_code)
203 returnValue(Ports())
204 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400205 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400206 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800207
208 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400209 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700210 def GetLogicalDevicePort(self, request, context):
211 log.info('grpc-request', request=request)
212
213 response = yield self.dispatcher.dispatch('GetLogicalDevicePort',
214 request,
215 context,
216 id=request.id)
217 log.debug('grpc-response', response=response)
218 if isinstance(response, DispatchError):
219 log.warn('grpc-error-response', error=response.error_code)
220 context.set_details(
221 'Logical port \'{}\' on device \'{}\' error'.format(request.port_id, request.id))
222 context.set_code(response.error_code)
223 returnValue(LogicalPort())
224 else:
225 log.debug('grpc-success-response', response=response)
226 returnValue(response)
227
228 @twisted_async
229 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800230 def ListLogicalDeviceFlows(self, request, context):
231 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400232 response = yield self.dispatcher.dispatch('ListLogicalDeviceFlows',
233 request,
234 context,
235 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400236 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400237 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400238 log.warn('grpc-error-response', error=response.error_code)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800239 context.set_details(
khenaidoo08d48d22017-06-29 19:42:49 -0400240 'Logical device \'{}\' error'.format(request.id))
241 context.set_code(response.error_code)
242 returnValue(Flows())
243 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400244 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400245 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800246
247 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400248 @inlineCallbacks
Jonathan Hart8d21c322018-04-17 07:42:02 -0700249 def EnableLogicalDevicePort(self, request, context):
250 log.info('grpc-request', request=request)
251 response = yield self.dispatcher.dispatch('EnableLogicalDevicePort',
252 request,
253 context,
254 id=request.id)
255 log.debug('grpc-response', response=response)
256 if isinstance(response, DispatchError):
257 log.warn('grpc-error-response', error=response.error_code)
258 context.set_details(
259 'Logical device \'{}\' error'.format(request.id))
260 context.set_code(response.error_code)
261 returnValue(Empty())
262 else:
263 log.debug('grpc-success-response', response=response)
264 returnValue(response)
265
266 @twisted_async
267 @inlineCallbacks
268 def DisableLogicalDevicePort(self, request, context):
269 log.info('grpc-request', request=request)
270 response = yield self.dispatcher.dispatch('DisableLogicalDevicePort',
271 request,
272 context,
273 id=request.id)
274 log.debug('grpc-response', response=response)
275 if isinstance(response, DispatchError):
276 log.warn('grpc-error-response', error=response.error_code)
277 context.set_details(
278 'Logical device \'{}\' error'.format(request.id))
279 context.set_code(response.error_code)
280 returnValue(Empty())
281 else:
282 log.debug('grpc-success-response', response=response)
283 returnValue(response)
284
285 @twisted_async
286 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800287 def UpdateLogicalDeviceFlowTable(self, request, context):
288 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400289 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800290 'UpdateLogicalDeviceFlowTable',
291 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400292 context,
293 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400294 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400295 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400296 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400297 context.set_details(
298 'Logical device \'{}\' error'.format(request.id))
299 context.set_code(response.error_code)
300 returnValue(Empty())
301 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400302 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400303 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800304
305 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400306 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800307 def ListLogicalDeviceFlowGroups(self, request, context):
308 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400309 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800310 'ListLogicalDeviceFlowGroups',
311 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400312 context,
313 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400314 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400315 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400316 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400317 context.set_details(
318 'Logical device \'{}\' error'.format(request.id))
319 context.set_code(response.error_code)
320 returnValue(FlowGroups())
321 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400322 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400323 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800324
325 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400326 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800327 def UpdateLogicalDeviceFlowGroupTable(self, request, context):
328 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400329 response = yield self.dispatcher.dispatch(
Zsolt Haraszti66862032016-11-28 14:28:39 -0800330 'UpdateLogicalDeviceFlowGroupTable',
331 request,
khenaidoo08d48d22017-06-29 19:42:49 -0400332 context,
333 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400334 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400335 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400336 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400337 context.set_details(
338 'Logical device \'{}\' error'.format(request.id))
339 context.set_code(response.error_code)
340 returnValue(Empty())
341 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400342 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400343 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800344
345 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400346 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800347 def ListDevices(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400348 log.info('grpc-request', request=request)
349 response = yield self.dispatcher.dispatch('ListDevices',
350 Empty(),
351 context,
352 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400353 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400354 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800355
356 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400357 @inlineCallbacks
khenaidoo997edbc2017-07-13 10:25:58 -0400358 def ListAdapters(self, request, context):
359 log.info('grpc-request', request=request)
360 response = yield self.dispatcher.dispatch('ListAdapters',
361 Empty(),
362 context,
363 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400364 log.debug('grpc-response', response=response)
khenaidoo997edbc2017-07-13 10:25:58 -0400365 returnValue(response)
366
367 @twisted_async
368 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800369 def GetDevice(self, request, context):
370 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400371 response = yield self.dispatcher.dispatch('GetDevice',
372 request,
373 context,
374 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400375 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400376 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400377 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400378 context.set_details('Device \'{}\' error'.format(request.id))
379 context.set_code(response.error_code)
380 returnValue(Device())
381 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400382 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400383 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800384
385 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400386 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800387 def CreateDevice(self, request, context):
388 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400389 response = yield self.dispatcher.dispatch('CreateDevice',
390 request,
391 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400392 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400393 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400394 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400395 context.set_details('Create device error')
396 context.set_code(response.error_code)
397 returnValue(Device())
398 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400399 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400400 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800401
402 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400403 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500404 def EnableDevice(self, request, context):
Zsolt Haraszti66862032016-11-28 14:28:39 -0800405 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400406 response = yield self.dispatcher.dispatch('EnableDevice',
407 request,
408 context,
409 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400410 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400411 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400412 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400413 context.set_details('Device \'{}\' error'.format(request.id))
414 context.set_code(response.error_code)
415 returnValue(Device())
416 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400417 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400418 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500419
420 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400421 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500422 def DisableDevice(self, request, context):
423 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400424 response = yield self.dispatcher.dispatch('DisableDevice',
425 request,
426 context,
427 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400428 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400429 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400430 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400431 context.set_details('Device \'{}\' error'.format(request.id))
432 context.set_code(response.error_code)
433 returnValue(Device())
434 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400435 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400436 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500437
438 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400439 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500440 def RebootDevice(self, request, context):
441 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400442 response = yield self.dispatcher.dispatch('RebootDevice',
443 request,
444 context,
445 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400446 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400447 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400448 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400449 context.set_details('Device \'{}\' error'.format(request.id))
450 context.set_code(response.error_code)
451 returnValue(Device())
452 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400453 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400454 returnValue(response)
Khen Nursimulud068d812017-03-06 11:44:18 -0500455
456 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400457 @inlineCallbacks
Khen Nursimulud068d812017-03-06 11:44:18 -0500458 def DeleteDevice(self, request, context):
459 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400460 response = yield self.dispatcher.dispatch('DeleteDevice',
461 request,
462 context,
463 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400464 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400465 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400466 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400467 context.set_details('Device \'{}\' error'.format(request.id))
468 context.set_code(response.error_code)
469 returnValue(Empty())
470 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400471 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400472 returnValue(Empty())
Zsolt Haraszti66862032016-11-28 14:28:39 -0800473
474 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400475 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800476 def ListDevicePorts(self, request, context):
477 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400478 response = yield self.dispatcher.dispatch('ListDevicePorts',
479 request,
480 context,
481 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400482 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400483 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400484 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400485 context.set_details('Device \'{}\' error'.format(request.id))
486 context.set_code(response.error_code)
487 returnValue(Ports())
488 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400489 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400490 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800491
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500492 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400493 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500494 def ListDevicePmConfigs(self, request, context):
Sergio Slobodrian71960022017-03-09 10:20:57 -0500495 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400496 response = yield self.dispatcher.dispatch('ListDevicePmConfigs',
497 request,
498 context,
499 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400500 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400501 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400502 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400503 context.set_details('Device \'{}\' error'.format(request.id))
504 context.set_code(response.error_code)
505 returnValue(PmConfigs())
506 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400507 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400508 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500509
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500510 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400511 @inlineCallbacks
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500512 def UpdateDevicePmConfigs(self, request, context):
Sergio Slobodrian4236ade2017-03-17 22:01:20 -0400513 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400514 response = yield self.dispatcher.dispatch('UpdateDevicePmConfigs',
515 request,
516 context,
517 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400518 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400519 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400520 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400521 context.set_details('Device \'{}\' error'.format(request.id))
522 context.set_code(response.error_code)
523 returnValue(Empty())
524 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400525 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400526 returnValue(response)
Sergio Slobodriana2eb52b2017-03-07 12:24:46 -0500527
Zsolt Haraszti66862032016-11-28 14:28:39 -0800528 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400529 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800530 def ListDeviceFlows(self, request, context):
531 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400532 response = yield self.dispatcher.dispatch('ListDeviceFlows',
533 request,
534 context,
535 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400536 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400537 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400538 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400539 context.set_details('Device \'{}\' error'.format(request.id))
540 context.set_code(response.error_code)
541 returnValue(Flows())
542 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400543 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400544 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800545
546 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400547 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800548 def ListDeviceFlowGroups(self, request, context):
549 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -0400550 response = yield self.dispatcher.dispatch('ListDeviceFlowGroups',
551 request,
552 context,
553 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -0400554 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400555 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400556 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400557 context.set_details('Device \'{}\' error'.format(request.id))
558 context.set_code(response.error_code)
559 returnValue(FlowGroups())
560 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400561 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400562 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800563
564 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400565 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800566 def ListDeviceTypes(self, request, context):
567 log.info('grpc-request', request=request)
568 # we always deflect this to the local instance, as we assume
569 # they all loaded the same adapters, supporting the same device
570 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400571 response = yield self.dispatcher.dispatch('ListDeviceTypes',
572 request,
573 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400574 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400575 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400576 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400577 context.set_details('Device types error')
578 context.set_code(response.error_code)
579 returnValue(DeviceTypes())
580 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400581 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400582 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800583
584 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400585 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800586 def GetDeviceType(self, request, context):
587 log.info('grpc-request', request=request)
588 # we always deflect this to the local instance, as we assume
589 # they all loaded the same adapters, supporting the same device
590 # types
khenaidoo08d48d22017-06-29 19:42:49 -0400591 response = yield self.dispatcher.dispatch('GetDeviceType',
592 request,
593 context)
khenaidoo5431e4c2017-08-17 15:05:40 -0400594 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400595 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400596 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400597 context.set_details('Device type \'{}\' error'.format(
598 request.id))
599 context.set_code(response.error_code)
600 returnValue(DeviceType())
601 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400602 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400603 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800604
605 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400606 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800607 def ListDeviceGroups(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400608 log.info('grpc-request', request=request)
609 response = yield self.dispatcher.dispatch('ListDeviceGroups',
610 Empty(),
611 context,
612 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -0400613 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400614 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800615
616 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -0400617 @inlineCallbacks
Zsolt Haraszti66862032016-11-28 14:28:39 -0800618 def GetDeviceGroup(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -0400619 log.info('grpc-request', request=request)
620 response = yield self.dispatcher.dispatch('GetDeviceGroup',
621 request,
622 context,
623 id=request.id)
624 log.info('grpc-response', response=response)
625 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400626 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -0400627 context.set_details('Device group\'{}\' error'.format(request.id))
628 context.set_code(response.error_code)
629 returnValue(DeviceGroup())
630 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400631 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -0400632 returnValue(response)
Zsolt Haraszti66862032016-11-28 14:28:39 -0800633
Nikolay Titov89004ec2017-06-19 18:22:42 -0400634 # bbf_fiber rpcs start
635 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400636 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400637 def GetAllChannelgroupConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400638 log.info('grpc-request', request=request)
639 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400640 'GetAllChannelgroupConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400641 Empty(),
642 context,
643 broadcast=True)
644 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400645 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400646 context.set_details('Channelgroup error')
647 context.set_code(response.error_code)
648 returnValue(Empty())
649 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400650 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400651 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400652
653 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400654 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400655 def CreateChannelgroup(self, request, context):
Nikolay Titov3b31db92017-08-02 18:11:33 -0400656 _method_name = sys._getframe().f_code.co_name
657 return self.manage_global_xpon_object (request, context, _method_name)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400658
659 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400660 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400661 def UpdateChannelgroup(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400662 log.info('grpc-request', request=request)
663 try:
664 assert isinstance(request, fb.ChannelgroupConfig)
665 request.id = create_empty_broadcast_id()
666 except AssertionError, e:
667 context.set_details(e.message)
668 context.set_code(StatusCode.INVALID_ARGUMENT)
669 returnValue(fb.ChannelgroupConfig())
670 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400671 'UpdateChannelgroup',
672 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400673 context,
674 id=request.id,
675 broadcast=True)
676 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400677 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400678 context.set_details('Channelgroup\'{}\' error'.format(request.id))
679 context.set_code(response.error_code)
680 returnValue(fb.ChannelgroupConfig())
681 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400682 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400683 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400684
685 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400686 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400687 def DeleteChannelgroup(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400688 log.info('grpc-request', request=request)
689 try:
690 assert isinstance(request, fb.ChannelgroupConfig)
691 request.id = create_empty_broadcast_id()
692 except AssertionError, e:
693 context.set_details(e.message)
694 context.set_code(StatusCode.INVALID_ARGUMENT)
695 returnValue(fb.ChannelgroupConfig())
696 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400697 'DeleteChannelgroup',
698 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400699 context,
700 id=request.id,
701 broadcast=True)
702 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400703 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400704 context.set_details('Channelgroup\'{}\' error'.format(request.id))
705 context.set_code(response.error_code)
706 returnValue(fb.ChannelgroupConfig())
707 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400708 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400709 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400710
711 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400712 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400713 def GetAllChannelpartitionConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400714 log.info('grpc-request', request=request)
715 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400716 'GetAllChannelpartitionConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400717 Empty(),
718 context,
719 broadcast=True)
720 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400721 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400722 context.set_details('Channelpartition error')
723 context.set_code(response.error_code)
724 returnValue(Empty())
725 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400726 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400727 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400728
729 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400730 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400731 def CreateChannelpartition(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400732 log.info('grpc-request', request=request)
733 try:
734 assert isinstance(request, fb.ChannelpartitionConfig)
735 request.id = create_empty_broadcast_id()
736 except AssertionError, e:
737 context.set_details(e.message)
738 context.set_code(StatusCode.INVALID_ARGUMENT)
739 returnValue(fb.ChannelpartitionConfig())
740 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400741 'CreateChannelpartition',
742 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400743 context,
744 id=request.id,
745 broadcast=True)
746 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400747 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400748 context.set_details('Channelpartition\'{}\' error'.format(
749 request.id))
750 context.set_code(response.error_code)
751 returnValue(fb.ChannelpartitionConfig())
752 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400753 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400754 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400755
756 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400757 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400758 def UpdateChannelpartition(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400759 log.info('grpc-request', request=request)
760 try:
761 assert isinstance(request, fb.ChannelpartitionConfig)
762 request.id = create_empty_broadcast_id()
763 except AssertionError, e:
764 context.set_details(e.message)
765 context.set_code(StatusCode.INVALID_ARGUMENT)
766 returnValue(fb.ChannelpartitionConfig())
767 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400768 'UpdateChannelpartition',
769 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400770 context,
771 id=request.id,
772 broadcast=True)
773 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400774 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400775 context.set_details('Channelpartition\'{}\' error'.format(
776 request.id))
777 context.set_code(response.error_code)
778 returnValue(fb.ChannelpartitionConfig())
779 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400780 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400781 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400782
783 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400784 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400785 def DeleteChannelpartition(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400786 log.info('grpc-request', request=request)
787 try:
788 assert isinstance(request, fb.ChannelpartitionConfig)
789 request.id = create_empty_broadcast_id()
790 except AssertionError, e:
791 context.set_details(e.message)
792 context.set_code(StatusCode.INVALID_ARGUMENT)
793 returnValue(fb.ChannelpartitionConfig())
794 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400795 'DeleteChannelpartition',
796 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400797 context,
798 id=request.id,
799 broadcast=True)
800 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400801 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400802 context.set_details('Channelpartition\'{}\' error'.format(
803 request.id))
804 context.set_code(response.error_code)
805 returnValue(fb.ChannelpartitionConfig())
806 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400807 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400808 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400809
810 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400811 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400812 def GetAllChannelpairConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400813 log.info('grpc-request', request=request)
814 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400815 'GetAllChannelpairConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400816 Empty(),
817 context,
818 broadcast=True)
819 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400820 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400821 context.set_details('Channelpair error')
822 context.set_code(response.error_code)
823 returnValue(Empty())
824 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400825 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400826 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400827
828 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400829 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400830 def CreateChannelpair(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400831 log.info('grpc-request', request=request)
832 try:
833 assert isinstance(request, fb.ChannelpairConfig)
834 request.id = create_empty_broadcast_id()
835 except AssertionError, e:
836 context.set_details(e.message)
837 context.set_code(StatusCode.INVALID_ARGUMENT)
838 returnValue(fb.ChannelpairConfig())
839 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400840 'CreateChannelpair',
841 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400842 context,
843 id=request.id,
844 broadcast=True)
845 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400846 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400847 context.set_details('Channelpair\'{}\' error'.format(request.id))
848 context.set_code(response.error_code)
849 returnValue(fb.ChannelpairConfig())
850 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400851 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400852 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400853
854 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400855 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400856 def UpdateChannelpair(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400857 log.info('grpc-request', request=request)
858 try:
859 assert isinstance(request, fb.ChannelpairConfig)
860 request.id = create_empty_broadcast_id()
861 except AssertionError, e:
862 context.set_details(e.message)
863 context.set_code(StatusCode.INVALID_ARGUMENT)
864 returnValue(fb.ChannelpairConfig())
865 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400866 'UpdateChannelpair',
867 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400868 context,
869 id=request.id,
870 broadcast=True)
871 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400872 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400873 context.set_details('Channelpair\'{}\' error'.format(request.id))
874 context.set_code(response.error_code)
875 returnValue(fb.ChannelpairConfig())
876 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400877 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400878 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400879
880 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400881 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400882 def DeleteChannelpair(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400883 log.info('grpc-request', request=request)
884 try:
885 assert isinstance(request, fb.ChannelpairConfig)
886 request.id = create_empty_broadcast_id()
887 except AssertionError, e:
888 context.set_details(e.message)
889 context.set_code(StatusCode.INVALID_ARGUMENT)
890 returnValue(fb.ChannelpairConfig())
891 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400892 'DeleteChannelpair',
893 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400894 context,
895 id=request.id,
896 broadcast=True)
897 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400898 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400899 context.set_details('Channelpair\'{}\' error'.format(request.id))
900 context.set_code(response.error_code)
901 returnValue(fb.ChannelpairConfig())
902 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400903 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400904 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400905
906 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400907 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400908 def GetAllChannelterminationConfig(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400909 log.info('grpc-request', request=request)
910 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400911 'GetAllChannelterminationConfig',
912 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400913 context,
914 id=request.id)
915 log.info('grpc-response', response=response)
916 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400917 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400918 context.set_details('Channeltermination \'{}\' error'.format(
919 request.id))
920 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400921 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400922 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400923 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400924 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400925
926 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400927 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400928 def CreateChanneltermination(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400929 log.info('grpc-request', request=request)
930 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400931 'CreateChanneltermination',
932 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400933 context,
934 id=request.id)
935 log.info('grpc-response', response=response)
936 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400937 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400938 context.set_details('Channeltermination \'{}\' error'.format(
939 request.id))
940 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400941 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400942 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400943 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400944 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400945
946 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400947 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400948 def UpdateChanneltermination(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400949 log.info('grpc-request', request=request)
950 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400951 'UpdateChanneltermination',
952 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400953 context,
954 id=request.id)
955 log.info('grpc-response', response=response)
956 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400957 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400958 context.set_details('Channeltermination \'{}\' error'.format(
959 request.id))
960 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400961 returnValue(fb.ChannelterminationConfig())
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400962 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400963 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400964 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -0400965
966 @twisted_async
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400967 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -0400968 def DeleteChanneltermination(self, request, context):
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400969 log.info('grpc-request', request=request)
970 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -0400971 'DeleteChanneltermination',
972 request,
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400973 context,
974 id=request.id)
975 log.info('grpc-response', response=response)
976 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400977 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400978 context.set_details('Channeltermination \'{}\' error'.format(
979 request.id))
980 context.set_code(response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400981 returnValue(fb.ChannelterminationConfig())
982 else:
khenaidoo5431e4c2017-08-17 15:05:40 -0400983 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400984 returnValue(response)
985
986 @twisted_async
987 @inlineCallbacks
988 def GetAllOntaniConfig(self, request, context):
989 log.info('grpc-request', request=request)
990 response = yield self.dispatcher.dispatch(
991 'GetAllOntaniConfig',
992 Empty(),
993 context,
994 broadcast=True)
995 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -0400996 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -0400997 context.set_details('Ontani error')
998 context.set_code(response.error_code)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -0400999 returnValue(Empty())
1000 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001001 log.debug('grpc-success-response', response=response)
Rachit Shrivastava8f4f9bf2017-07-20 11:59:30 -04001002 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001003
1004 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001005 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001006 def CreateOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001007 log.info('grpc-request', request=request)
1008 try:
1009 assert isinstance(request, fb.OntaniConfig)
1010 request.id = create_empty_broadcast_id()
1011 except AssertionError, e:
1012 context.set_details(e.message)
1013 context.set_code(StatusCode.INVALID_ARGUMENT)
1014 returnValue(fb.OntaniConfig())
1015 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001016 'CreateOntani',
1017 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001018 context,
1019 id=request.id,
1020 broadcast=True)
1021 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001022 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001023 context.set_details('Ontani \'{}\' error'.format(request.id))
1024 context.set_code(response.error_code)
1025 returnValue(fb.OntaniConfig())
1026 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001027 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001028 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001029
1030 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001031 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001032 def UpdateOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001033 log.info('grpc-request', request=request)
1034 try:
1035 assert isinstance(request, fb.OntaniConfig)
1036 request.id = create_empty_broadcast_id()
1037 except AssertionError, e:
1038 context.set_details(e.message)
1039 context.set_code(StatusCode.INVALID_ARGUMENT)
1040 returnValue(fb.OntaniConfig())
1041 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001042 'UpdateOntani',
1043 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001044 context,
1045 id=request.id,
1046 broadcast=True)
1047 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001048 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001049 context.set_details('Ontani \'{}\' error'.format(request.id))
1050 context.set_code(response.error_code)
1051 returnValue(fb.OntaniConfig())
1052 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001053 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001054 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001055
1056 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001057 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001058 def DeleteOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001059 log.info('grpc-request', request=request)
1060 try:
1061 assert isinstance(request, fb.OntaniConfig)
1062 request.id = create_empty_broadcast_id()
1063 except AssertionError, e:
1064 context.set_details(e.message)
1065 context.set_code(StatusCode.INVALID_ARGUMENT)
1066 returnValue(fb.OntaniConfig())
1067 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001068 'DeleteOntani',
1069 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001070 context,
1071 id=request.id,
1072 broadcast=True)
1073 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001074 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001075 context.set_details('Ontani \'{}\' error'.format(request.id))
1076 context.set_code(response.error_code)
1077 returnValue(fb.OntaniConfig())
1078 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001079 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001080 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001081
1082 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001083 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001084 def GetAllVOntaniConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001085 log.info('grpc-request', request=request)
1086 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001087 'GetAllVOntaniConfig',
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001088 Empty(),
1089 context,
1090 broadcast=True)
1091 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001092 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001093 context.set_details('VOntani error')
1094 context.set_code(response.error_code)
1095 returnValue(Empty())
1096 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001097 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001098 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001099
1100 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001101 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001102 def CreateVOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001103 log.info('grpc-request', request=request)
1104 try:
1105 assert isinstance(request, fb.VOntaniConfig)
1106 request.id = create_empty_broadcast_id()
1107 except AssertionError, e:
1108 context.set_details(e.message)
1109 context.set_code(StatusCode.INVALID_ARGUMENT)
1110 returnValue(fb.VOntaniConfig())
1111 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001112 'CreateVOntani',
1113 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001114 context,
1115 id=request.id,
1116 broadcast=True)
1117 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001118 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001119 context.set_details('VOntani \'{}\' error'.format(request.id))
1120 context.set_code(response.error_code)
1121 returnValue(fb.VOntaniConfig())
1122 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001123 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001124 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001125
1126 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001127 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001128 def UpdateVOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001129 log.info('grpc-request', request=request)
1130 try:
1131 assert isinstance(request, fb.VOntaniConfig)
1132 request.id = create_empty_broadcast_id()
1133 except AssertionError, e:
1134 context.set_details(e.message)
1135 context.set_code(StatusCode.INVALID_ARGUMENT)
1136 returnValue(fb.VOntaniConfig())
1137 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001138 'UpdateVOntani',
1139 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001140 context,
1141 id=request.id,
1142 broadcast=True)
1143 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001144 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001145 context.set_details('VOntani \'{}\' error'.format(request.id))
1146 context.set_code(response.error_code)
1147 returnValue(fb.VOntaniConfig())
1148 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001149 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001150 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001151
1152 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001153 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001154 def DeleteVOntani(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001155 log.info('grpc-request', request=request)
1156 try:
1157 assert isinstance(request, fb.VOntaniConfig)
1158 request.id = create_empty_broadcast_id()
1159 except AssertionError, e:
1160 context.set_details(e.message)
1161 context.set_code(StatusCode.INVALID_ARGUMENT)
1162 returnValue(fb.VOntaniConfig())
1163 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001164 'DeleteVOntani',
1165 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001166 context,
1167 id=request.id,
1168 broadcast=True)
1169 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001170 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001171 context.set_details('VOntani \'{}\' error'.format(request.id))
1172 context.set_code(response.error_code)
1173 returnValue(fb.VOntaniConfig())
1174 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001175 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001176 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001177
1178 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001179 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001180 def GetAllVEnetConfig(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001181 log.info('grpc-request', request=request)
1182 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001183 'GetAllVEnetConfig',
1184 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001185 context,
1186 broadcast=True)
1187 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001188 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001189 context.set_details('VEnet error')
1190 context.set_code(response.error_code)
1191 returnValue(Empty())
1192 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001193 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001194 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001195
1196 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001197 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001198 def CreateVEnet(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001199 log.info('grpc-request', request=request)
1200 try:
1201 assert isinstance(request, fb.VEnetConfig)
1202 request.id = create_empty_broadcast_id()
1203 except AssertionError, e:
1204 context.set_details(e.message)
1205 context.set_code(StatusCode.INVALID_ARGUMENT)
1206 returnValue(fb.VEnetConfig())
1207 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001208 'CreateVEnet',
1209 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001210 context,
1211 id=request.id,
1212 broadcast=True)
1213 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001214 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001215 context.set_details('VEnet \'{}\' error'.format(request.id))
1216 context.set_code(response.error_code)
1217 returnValue(fb.VEnetConfig())
1218 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001219 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001220 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001221
1222 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001223 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001224 def UpdateVEnet(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001225 log.info('grpc-request', request=request)
1226 try:
1227 assert isinstance(request, fb.VEnetConfig)
1228 request.id = create_empty_broadcast_id()
1229 except AssertionError, e:
1230 context.set_details(e.message)
1231 context.set_code(StatusCode.INVALID_ARGUMENT)
1232 returnValue(fb.VEnetConfig())
1233 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001234 'UpdateVEnet',
1235 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001236 context,
1237 id=request.id,
1238 broadcast=True)
1239 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001240 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001241 context.set_details('VEnet \'{}\' error'.format(request.id))
1242 context.set_code(response.error_code)
1243 returnValue(fb.VEnetConfig())
1244 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001245 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001246 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001247
1248 @twisted_async
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001249 @inlineCallbacks
Nikolay Titov89004ec2017-06-19 18:22:42 -04001250 def DeleteVEnet(self, request, context):
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001251 log.info('grpc-request', request=request)
1252 try:
1253 assert isinstance(request, fb.VEnetConfig)
1254 request.id = create_empty_broadcast_id()
1255 except AssertionError, e:
1256 context.set_details(e.message)
1257 context.set_code(StatusCode.INVALID_ARGUMENT)
1258 returnValue(fb.VEnetConfig())
1259 response = yield self.dispatcher.dispatch(
Nikolay Titov89004ec2017-06-19 18:22:42 -04001260 'DeleteVEnet',
1261 request,
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001262 context,
1263 id=request.id,
1264 broadcast=True)
1265 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001266 log.warn('grpc-error-response', error=response.error_code)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001267 context.set_details('VEnet \'{}\' error'.format(request.id))
1268 context.set_code(response.error_code)
1269 returnValue(fb.VEnetConfig())
1270 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001271 log.debug('grpc-success-response', response=response)
Rachit Shrivastavaa182e912017-07-28 15:18:34 -04001272 returnValue(response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001273
1274 @twisted_async
1275 @inlineCallbacks
1276 def GetAllTrafficDescriptorProfileData(self, request, context):
1277 _method_name = sys._getframe().f_code.co_name
1278 return self.get_all_global_xpon_object_data (request, context,
1279 _method_name)
1280
1281 @twisted_async
1282 @inlineCallbacks
1283 def CreateTrafficDescriptorProfileData(self, request, context):
1284 _method_name = sys._getframe().f_code.co_name
1285 return self.manage_global_xpon_object (request, context,
1286 _method_name)
1287
1288 @twisted_async
1289 @inlineCallbacks
1290 def UpdateTrafficDescriptorProfileData(self, request, context):
1291 _method_name = sys._getframe().f_code.co_name
1292 return self.manage_global_xpon_object (request, context,
1293 _method_name)
1294
1295 @twisted_async
1296 @inlineCallbacks
1297 def DeleteTrafficDescriptorProfileData(self, request, context):
1298 _method_name = sys._getframe().f_code.co_name
1299 return self.manage_global_xpon_object (request, context,
1300 _method_name)
1301
1302 @twisted_async
1303 @inlineCallbacks
1304 def GetAllTcontsConfigData(self, request, context):
1305 _method_name = sys._getframe().f_code.co_name
1306 return self.get_all_global_xpon_object_data (request, context,
1307 _method_name)
1308
1309 @twisted_async
1310 @inlineCallbacks
1311 def CreateTcontsConfigData(self, request, context):
1312 _method_name = sys._getframe().f_code.co_name
1313 return self.manage_global_xpon_object (request, context, _method_name)
1314
1315 @twisted_async
1316 @inlineCallbacks
1317 def UpdateTcontsConfigData(self, request, context):
1318 _method_name = sys._getframe().f_code.co_name
1319 return self.manage_global_xpon_object (request, context, _method_name)
1320
1321 @twisted_async
1322 @inlineCallbacks
1323 def DeleteTcontsConfigData(self, request, context):
1324 _method_name = sys._getframe().f_code.co_name
1325 return self.manage_global_xpon_object (request, context, _method_name)
1326
1327 @twisted_async
1328 @inlineCallbacks
1329 def GetAllGemportsConfigData(self, request, context):
1330 _method_name = sys._getframe().f_code.co_name
1331 return self.get_all_global_xpon_object_data (request, context,
1332 _method_name)
1333
1334 @twisted_async
1335 @inlineCallbacks
1336 def CreateGemportsConfigData(self, request, context):
1337 _method_name = sys._getframe().f_code.co_name
1338 return self.manage_global_xpon_object (request, context, _method_name)
1339
1340 @twisted_async
1341 @inlineCallbacks
1342 def UpdateGemportsConfigData(self, request, context):
1343 _method_name = sys._getframe().f_code.co_name
1344 return self.manage_global_xpon_object (request, context, _method_name)
1345
1346 @twisted_async
1347 @inlineCallbacks
1348 def DeleteGemportsConfigData(self, request, context):
1349 _method_name = sys._getframe().f_code.co_name
1350 return self.manage_global_xpon_object (request, context, _method_name)
1351
1352 @twisted_async
1353 @inlineCallbacks
1354 def GetAllMulticastGemportsConfigData(self, request, context):
1355 _method_name = sys._getframe().f_code.co_name
1356 return self.get_all_global_xpon_object_data (request, context,
1357 _method_name)
1358
1359 @twisted_async
1360 @inlineCallbacks
1361 def CreateMulticastGemportsConfigData(self, request, context):
1362 _method_name = sys._getframe().f_code.co_name
1363 return self.manage_global_xpon_object (request, context, _method_name)
1364
1365 @twisted_async
1366 @inlineCallbacks
1367 def UpdateMulticastGemportsConfigData(self, request, context):
1368 _method_name = sys._getframe().f_code.co_name
1369 return self.manage_global_xpon_object (request, context, _method_name)
1370
1371 @twisted_async
1372 @inlineCallbacks
1373 def DeleteMulticastGemportsConfigData(self, request, context):
1374 _method_name = sys._getframe().f_code.co_name
1375 return self.manage_global_xpon_object (request, context, _method_name)
1376
1377 @twisted_async
1378 @inlineCallbacks
1379 def GetAllMulticastDistributionSetData(self, request, context):
1380 _method_name = sys._getframe().f_code.co_name
1381 return self.get_all_global_xpon_object_data (request, context,
1382 _method_name)
1383
1384 @twisted_async
1385 @inlineCallbacks
1386 def CreateMulticastDistributionSetData(self, request, context):
1387 _method_name = sys._getframe().f_code.co_name
1388 return self.manage_global_xpon_object (request, context, _method_name)
1389
1390 @twisted_async
1391 @inlineCallbacks
1392 def UpdateMulticastDistributionSetData(self, request, context):
1393 _method_name = sys._getframe().f_code.co_name
1394 return self.manage_global_xpon_object (request, context, _method_name)
1395
1396 @twisted_async
1397 @inlineCallbacks
1398 def DeleteMulticastDistributionSetData(self, request, context):
1399 _method_name = sys._getframe().f_code.co_name
1400 return self.manage_global_xpon_object (request, context, _method_name)
1401
1402 def get_all_global_xpon_object_data(self, request, context, method_name):
1403 log.info('grpc-request', request=request)
1404 response = yield self.dispatcher.dispatch(
1405 method_name,
1406 Empty(),
1407 context,
1408 broadcast=True)
1409 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001410 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001411 context.set_details('{}\' error' .format(type(request).__name__))
1412 context.set_code(response.error_code)
1413 returnValue(Empty())
1414 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001415 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001416 returnValue(response)
1417
1418 def manage_global_xpon_object(self, request, context, method_name):
1419 log.info('grpc-request', request=request)
1420 _xpon_object_type = self.xpon_object_type[method_name]
1421 try:
1422 assert isinstance(request, _xpon_object_type)
1423 request.id = create_empty_broadcast_id()
1424 except AssertionError, e:
1425 context.set_details(e.message)
1426 context.set_code(StatusCode.INVALID_ARGUMENT)
1427 returnValue(_xpon_object_type())
1428 response = yield self.dispatcher.dispatch(
1429 method_name,
1430 request,
1431 context,
1432 id=request.id,
1433 broadcast=True)
1434 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001435 log.warn('grpc-error-response', error=response.error_code)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001436 context.set_details('{}\'{}\' error'.format(type(request).__name__,
1437 request.id))
1438 context.set_code(response.error_code)
1439 returnValue(_xpon_object_type())
1440 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001441 log.debug('grpc-success-response', response=response)
Nikolay Titov3b31db92017-08-02 18:11:33 -04001442 returnValue(response)
Nikolay Titov89004ec2017-06-19 18:22:42 -04001443 # bbf_fiber rpcs end
1444
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001445 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001446 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001447 def CreateAlarmFilter(self, request, context):
1448 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001449 # Since AlarmFilter applies to the entire cluster, it will be assigned
1450 # a global id (using a global core_id). Every Voltha instance will
1451 # have the same data. Since the voltha instances are managed by
1452 # docker swarm mode then whenever an instance goes down it will be
1453 # brought up right away, hence reducing the chance of two instances
1454 # having different data. In future phases, we should adopt the
1455 # strategy of having a unique persistence model for cluster data
1456 # compare to instance data
1457 try:
1458 assert isinstance(request, AlarmFilter)
1459 request.id = create_cluster_id()
1460 except AssertionError, e:
1461 context.set_details(e.message)
1462 context.set_code(StatusCode.INVALID_ARGUMENT)
1463 returnValue(AlarmFilter())
1464
1465 response = yield self.dispatcher.dispatch('CreateAlarmFilter',
1466 request,
1467 context,
1468 id=request.id,
1469 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001470 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001471 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001472 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001473 context.set_details('Create alarm error')
1474 context.set_code(response.error_code)
1475 returnValue(AlarmFilter())
1476 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001477 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001478 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001479
1480 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001481 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001482 def GetAlarmFilter(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -04001483 log.info('grpc-request', request=request)
1484 response = yield self.dispatcher.dispatch('GetAlarmFilter',
1485 request,
1486 context,
1487 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001488 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001489 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001490 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001491 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1492 context.set_code(response.error_code)
1493 returnValue(AlarmFilter())
1494 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001495 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001496 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001497
1498 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001499 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001500 def UpdateAlarmFilter(self, request, context):
1501 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001502 response = yield self.dispatcher.dispatch('UpdateAlarmFilter',
1503 request,
1504 context,
1505 id=request.id,
1506 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001507 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001508 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001509 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001510 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1511 context.set_code(response.error_code)
1512 returnValue(AlarmFilter())
1513 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001514 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001515 returnValue(response)
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001516
1517 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001518 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001519 def DeleteAlarmFilter(self, request, context):
1520 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001521 response = yield self.dispatcher.dispatch('DeleteAlarmFilter',
1522 request,
1523 context,
1524 id=request.id,
1525 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001526 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001527 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001528 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001529 context.set_details('Alarm filter\'{}\' error'.format(request.id))
1530 context.set_code(response.error_code)
1531 returnValue(Empty())
1532 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001533 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001534 returnValue(Empty())
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001535
1536 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001537 @inlineCallbacks
Stephane Barbarie4db8ca22017-04-24 10:30:20 -04001538 def ListAlarmFilters(self, request, context):
khenaidoo08d48d22017-06-29 19:42:49 -04001539 log.info('grpc-request', request=request)
1540 response = yield self.dispatcher.dispatch('ListAlarmFilters',
1541 Empty(),
1542 context,
1543 broadcast=True)
khenaidoo5431e4c2017-08-17 15:05:40 -04001544 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001545 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001546 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001547 context.set_details('Alarm filters error')
1548 context.set_code(response.error_code)
1549 returnValue(AlarmFilter())
1550 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001551 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001552 returnValue(response)
ggowdru236bd952017-06-20 20:32:55 -07001553
1554 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001555 @inlineCallbacks
ggowdru236bd952017-06-20 20:32:55 -07001556 def GetImages(self, request, context):
1557 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001558 response = yield self.dispatcher.dispatch('GetImages',
1559 request,
1560 context,
1561 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001562 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001563 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001564 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001565 context.set_details('Device \'{}\' error'.format(request.id))
1566 context.set_code(response.error_code)
1567 returnValue(Images())
1568 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001569 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001570 returnValue(response)
sathishg5ae86222017-06-28 15:16:29 +05301571
1572 @twisted_async
khenaidoo08d48d22017-06-29 19:42:49 -04001573 @inlineCallbacks
sathishg5ae86222017-06-28 15:16:29 +05301574 def SelfTest(self, request, context):
1575 log.info('grpc-request', request=request)
khenaidoo08d48d22017-06-29 19:42:49 -04001576 response = yield self.dispatcher.dispatch('SelfTest',
1577 request,
1578 context,
1579 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001580 log.debug('grpc-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001581 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001582 log.warn('grpc-error-response', error=response.error_code)
khenaidoo08d48d22017-06-29 19:42:49 -04001583 context.set_details('Device \'{}\' error'.format(request.id))
1584 context.set_code(response.error_code)
1585 returnValue(SelfTestResponse())
1586 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001587 log.debug('grpc-success-response', response=response)
khenaidoo08d48d22017-06-29 19:42:49 -04001588 returnValue(response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001589
1590 @twisted_async
1591 @inlineCallbacks
1592 def DownloadImage(self, request, context):
1593 try:
1594 log.info('grpc-request', request=request)
1595 response = yield self.dispatcher.dispatch('DownloadImage',
1596 request,
1597 context,
1598 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001599 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001600 except Exception as e:
1601 log.exception('grpc-exception', e=e)
1602
1603 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001604 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001605 context.set_details('Device \'{}\' error'.format(request.id))
1606 context.set_code(response.error_code)
1607 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1608 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001609 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001610 returnValue(response)
1611
1612 @twisted_async
1613 @inlineCallbacks
1614 def GetImageDownloadStatus(self, request, context):
1615 try:
1616 log.info('grpc-request', request=request)
1617 response = yield self.dispatcher.dispatch('GetImageDownloadStatus',
1618 request,
1619 context,
1620 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001621 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001622 except Exception as e:
1623 log.exception('grpc-exception', e=e)
1624
1625 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001626 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001627 context.set_details('Device \'{}\' error'.format(request.id))
1628 context.set_code(response.error_code)
1629 returnValue(ImageDownloads())
1630 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001631 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001632 returnValue(response)
1633
1634 @twisted_async
1635 @inlineCallbacks
1636 def GetImageDownload(self, request, context):
1637 try:
1638 log.info('grpc-request', request=request)
1639 response = yield self.dispatcher.dispatch('GetImageDownload',
1640 request,
1641 context,
1642 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001643 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001644 except Exception as e:
1645 log.exception('grpc-exception', e=e)
1646
1647 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001648 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001649 context.set_details('Device \'{}\' error'.format(request.id))
1650 context.set_code(response.error_code)
1651 returnValue(ImageDownload())
1652 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001653 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001654 returnValue(response)
1655
1656 @twisted_async
1657 @inlineCallbacks
1658 def ListImageDownloads(self, request, context):
1659 try:
1660 log.info('grpc-request', request=request)
1661 response = yield self.dispatcher.dispatch('ListImageDownloads',
1662 request,
1663 context,
1664 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001665 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001666 except Exception as e:
1667 log.exception('grpc-exception', e=e)
1668
1669 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001670 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001671 context.set_details('Device \'{}\' error'.format(request.id))
1672 context.set_code(response.error_code)
1673 returnValue(ImageDownloads())
1674 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001675 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001676 returnValue(response)
1677
1678
1679 @twisted_async
1680 @inlineCallbacks
1681 def CancelImageDownload(self, request, context):
1682 try:
1683 log.info('grpc-request', request=request)
1684 response = yield self.dispatcher.dispatch('CancelImageDownload',
1685 request,
1686 context,
1687 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001688 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001689 except Exception as e:
1690 log.exception('grpc-exception', e=e)
1691
1692 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001693 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001694 context.set_details('Device \'{}\' error'.format(request.id))
1695 context.set_code(response.error_code)
1696 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1697 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001698 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001699 returnValue(response)
1700
1701 @twisted_async
1702 @inlineCallbacks
1703 def ActivateImageUpdate(self, request, context):
1704 try:
1705 log.info('grpc-request', request=request)
1706 response = yield self.dispatcher.dispatch('ActivateImageUpdate',
1707 request,
1708 context,
1709 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001710 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001711 except Exception as e:
1712 log.exception('grpc-exception', e=e)
1713
1714 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001715 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001716 context.set_details('Device \'{}\' error'.format(request.id))
1717 context.set_code(response.error_code)
1718 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1719 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001720 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001721 returnValue(response)
1722
1723 @twisted_async
1724 @inlineCallbacks
1725 def RevertImageUpdate(self, request, context):
1726 try:
1727 log.info('grpc-request', request=request)
1728 response = yield self.dispatcher.dispatch('RevertImageUpdate',
1729 request,
1730 context,
1731 id=request.id)
khenaidoo5431e4c2017-08-17 15:05:40 -04001732 log.debug('grpc-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001733 except Exception as e:
1734 log.exception('grpc-exception', e=e)
1735
1736 if isinstance(response, DispatchError):
khenaidoo5431e4c2017-08-17 15:05:40 -04001737 log.warn('grpc-error-response', error=response.error_code)
Lydia Fang01f2e852017-06-28 17:24:58 -07001738 context.set_details('Device \'{}\' error'.format(request.id))
1739 context.set_code(response.error_code)
1740 returnValue(OperationResp(code=OperationResp.OPERATION_FAILURE))
1741 else:
khenaidoo5431e4c2017-08-17 15:05:40 -04001742 log.debug('grpc-success-response', response=response)
Lydia Fang01f2e852017-06-28 17:24:58 -07001743 returnValue(response)