Loading src/device/service/drivers/gnmi_openconfig/GnmiSessionHandler.py +8 −8 Original line number Diff line number Diff line Loading @@ -48,13 +48,13 @@ class GnmiSessionHandler: self._out_samples = queue.Queue() def __del__(self) -> None: self._logger.warning('Destroying YangValidator...') self._logger.info('Destroying YangValidator...') if self._yang_handler is not None: self._logger.warning('yang_validator.data:') self._logger.debug('yang_validator.data:') for path, dnode in self._yang_handler.get_data_paths().items(): self._logger.warning(' {:s}: {:s}'.format(str(path), json.dumps(dnode.print_dict()))) self._logger.debug(' {:s}: {:s}'.format(str(path), json.dumps(dnode.print_dict()))) self._yang_handler.destroy() self._logger.warning('DONE') self._logger.info('DONE') @property def subscriptions(self): return self._subscriptions Loading Loading @@ -190,11 +190,11 @@ class GnmiSessionHandler: set_request_entry.val.json_val = str_data.encode('UTF-8') resources_requested.append((resource_key, resource_value)) self._logger.info('set_request={:s}'.format(grpc_message_to_json_string(set_request))) self._logger.debug('set_request={:s}'.format(grpc_message_to_json_string(set_request))) metadata = [('username', self._username), ('password', self._password)] timeout = None # GNMI_SUBSCRIPTION_TIMEOUT = int(sampling_duration) set_reply = self._stub.Set(set_request, metadata=metadata, timeout=timeout) self._logger.info('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) self._logger.debug('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) results = [] for (resource_key, resource_value), update_result in zip(resources_requested, set_reply.response): Loading Loading @@ -262,11 +262,11 @@ class GnmiSessionHandler: set_request_entry.CopyFrom(path_from_string(str_path)) resources_requested.append((resource_key, resource_value)) self._logger.info('set_request={:s}'.format(grpc_message_to_json_string(set_request))) self._logger.debug('set_request={:s}'.format(grpc_message_to_json_string(set_request))) metadata = [('username', self._username), ('password', self._password)] timeout = None # GNMI_SUBSCRIPTION_TIMEOUT = int(sampling_duration) set_reply = self._stub.Set(set_request, metadata=metadata, timeout=timeout) self._logger.info('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) self._logger.debug('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) results = [] for (resource_key, resource_value), update_result in zip(resources_requested, set_reply.response): Loading src/device/service/drivers/gnmi_openconfig/MonitoringThread.py +3 −3 Original line number Diff line number Diff line Loading @@ -112,15 +112,15 @@ class MonitoringThread(threading.Thread): subscriptions.append(subscription) except queue.Empty: if len(subscriptions) == 0: continue #self._logger.warning('[generate_requests] process') self._logger.debug('[generate_requests] process') prefix = path_from_string(GNMI_PATH_PREFIX) if GNMI_PATH_PREFIX is not None else None qos = QOSMarking(marking=GNMI_QOS_MARKING) if GNMI_QOS_MARKING is not None else None subscriptions_list = SubscriptionList( prefix=prefix, mode=GNMI_SUBSCRIPTION_LIST_MODE, allow_aggregation=GNMI_ALLOW_AGGREGATION, encoding=GNMI_ENCODING, subscription=subscriptions, qos=qos) subscribe_request = SubscribeRequest(subscribe=subscriptions_list) #str_subscribe_request = grpc_message_to_json_string(subscribe_request) #self._logger.warning('[generate_requests] subscribe_request={:s}'.format(str_subscribe_request)) str_subscribe_request = grpc_message_to_json_string(subscribe_request) self._logger.debug('[generate_requests] subscribe_request={:s}'.format(str_subscribe_request)) yield subscribe_request subscriptions = [] except: # pylint: disable=bare-except Loading src/device/service/drivers/gnmi_openconfig/handlers/InterfaceCounter.py +3 −3 Original line number Diff line number Diff line Loading @@ -27,14 +27,14 @@ class InterfaceCounterHandler(_Handler): def parse( self, json_data : Dict, yang_handler : YangHandler ) -> List[Tuple[str, Dict[str, Any]]]: LOGGER.info('json_data = {:s}'.format(json.dumps(json_data))) LOGGER.debug('json_data = {:s}'.format(json.dumps(json_data))) yang_interfaces_path = self.get_path() json_data_valid = yang_handler.parse_to_dict(yang_interfaces_path, json_data, fmt='json') entries = [] for interface in json_data_valid['interfaces']['interface']: LOGGER.info('interface={:s}'.format(str(interface))) LOGGER.debug('interface={:s}'.format(str(interface))) interface_name = interface['name'] interface_counters = interface.get('state', {}).get('counters', {}) Loading @@ -56,7 +56,7 @@ class InterfaceCounterHandler(_Handler): 'out-pkts' : interface_counters['out_pkts' ], 'out-unicast-pkts' : interface_counters['out_unicast_pkts' ], } LOGGER.info('interface = {:s}'.format(str(interface))) LOGGER.debug('interface = {:s}'.format(str(interface))) entry_interface_key = '/interface[{:s}]'.format(interface_name) entries.append((entry_interface_key, _interface)) Loading src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstance.py +1 −2 Original line number Diff line number Diff line Loading @@ -71,7 +71,6 @@ class NetworkInstanceHandler(_Handler): #'protocols': {'protocol': protocols}, str_data = yang_ni.print_mem('json') LOGGER.warning('str_data = {:s}'.format(str(str_data))) json_data = json.loads(str_data) json_data = json_data['openconfig-network-instance:network-instance'][0] str_data = json.dumps(json_data) Loading @@ -80,7 +79,7 @@ class NetworkInstanceHandler(_Handler): def parse( self, json_data : Dict, yang_handler : YangHandler ) -> List[Tuple[str, Dict[str, Any]]]: LOGGER.info('json_data = {:s}'.format(json.dumps(json_data))) LOGGER.debug('json_data = {:s}'.format(json.dumps(json_data))) # Arista Parsing Fixes: # - Default instance comes with mpls/signaling-protocols/rsvp-te/global/hellos/state/hello-interval set to 0 Loading src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceInterface.py +1 −2 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ class NetworkInstanceInterfaceHandler(_Handler): yang_ni_if.create_path('config/subinterface', sif_index) str_data = yang_ni_if.print_mem('json') LOGGER.warning('[compose] str_data = {:s}'.format(str(str_data))) json_data = json.loads(str_data) json_data = json_data['openconfig-network-instance:interface'][0] str_data = json.dumps(json_data) Loading @@ -69,6 +68,6 @@ class NetworkInstanceInterfaceHandler(_Handler): def parse( self, json_data : Dict, yang_handler : YangHandler ) -> List[Tuple[str, Dict[str, Any]]]: LOGGER.warning('[parse] json_data = {:s}'.format(str(json_data))) LOGGER.debug('[parse] json_data = {:s}'.format(str(json_data))) response = [] return response Loading
src/device/service/drivers/gnmi_openconfig/GnmiSessionHandler.py +8 −8 Original line number Diff line number Diff line Loading @@ -48,13 +48,13 @@ class GnmiSessionHandler: self._out_samples = queue.Queue() def __del__(self) -> None: self._logger.warning('Destroying YangValidator...') self._logger.info('Destroying YangValidator...') if self._yang_handler is not None: self._logger.warning('yang_validator.data:') self._logger.debug('yang_validator.data:') for path, dnode in self._yang_handler.get_data_paths().items(): self._logger.warning(' {:s}: {:s}'.format(str(path), json.dumps(dnode.print_dict()))) self._logger.debug(' {:s}: {:s}'.format(str(path), json.dumps(dnode.print_dict()))) self._yang_handler.destroy() self._logger.warning('DONE') self._logger.info('DONE') @property def subscriptions(self): return self._subscriptions Loading Loading @@ -190,11 +190,11 @@ class GnmiSessionHandler: set_request_entry.val.json_val = str_data.encode('UTF-8') resources_requested.append((resource_key, resource_value)) self._logger.info('set_request={:s}'.format(grpc_message_to_json_string(set_request))) self._logger.debug('set_request={:s}'.format(grpc_message_to_json_string(set_request))) metadata = [('username', self._username), ('password', self._password)] timeout = None # GNMI_SUBSCRIPTION_TIMEOUT = int(sampling_duration) set_reply = self._stub.Set(set_request, metadata=metadata, timeout=timeout) self._logger.info('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) self._logger.debug('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) results = [] for (resource_key, resource_value), update_result in zip(resources_requested, set_reply.response): Loading Loading @@ -262,11 +262,11 @@ class GnmiSessionHandler: set_request_entry.CopyFrom(path_from_string(str_path)) resources_requested.append((resource_key, resource_value)) self._logger.info('set_request={:s}'.format(grpc_message_to_json_string(set_request))) self._logger.debug('set_request={:s}'.format(grpc_message_to_json_string(set_request))) metadata = [('username', self._username), ('password', self._password)] timeout = None # GNMI_SUBSCRIPTION_TIMEOUT = int(sampling_duration) set_reply = self._stub.Set(set_request, metadata=metadata, timeout=timeout) self._logger.info('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) self._logger.debug('set_reply={:s}'.format(grpc_message_to_json_string(set_reply))) results = [] for (resource_key, resource_value), update_result in zip(resources_requested, set_reply.response): Loading
src/device/service/drivers/gnmi_openconfig/MonitoringThread.py +3 −3 Original line number Diff line number Diff line Loading @@ -112,15 +112,15 @@ class MonitoringThread(threading.Thread): subscriptions.append(subscription) except queue.Empty: if len(subscriptions) == 0: continue #self._logger.warning('[generate_requests] process') self._logger.debug('[generate_requests] process') prefix = path_from_string(GNMI_PATH_PREFIX) if GNMI_PATH_PREFIX is not None else None qos = QOSMarking(marking=GNMI_QOS_MARKING) if GNMI_QOS_MARKING is not None else None subscriptions_list = SubscriptionList( prefix=prefix, mode=GNMI_SUBSCRIPTION_LIST_MODE, allow_aggregation=GNMI_ALLOW_AGGREGATION, encoding=GNMI_ENCODING, subscription=subscriptions, qos=qos) subscribe_request = SubscribeRequest(subscribe=subscriptions_list) #str_subscribe_request = grpc_message_to_json_string(subscribe_request) #self._logger.warning('[generate_requests] subscribe_request={:s}'.format(str_subscribe_request)) str_subscribe_request = grpc_message_to_json_string(subscribe_request) self._logger.debug('[generate_requests] subscribe_request={:s}'.format(str_subscribe_request)) yield subscribe_request subscriptions = [] except: # pylint: disable=bare-except Loading
src/device/service/drivers/gnmi_openconfig/handlers/InterfaceCounter.py +3 −3 Original line number Diff line number Diff line Loading @@ -27,14 +27,14 @@ class InterfaceCounterHandler(_Handler): def parse( self, json_data : Dict, yang_handler : YangHandler ) -> List[Tuple[str, Dict[str, Any]]]: LOGGER.info('json_data = {:s}'.format(json.dumps(json_data))) LOGGER.debug('json_data = {:s}'.format(json.dumps(json_data))) yang_interfaces_path = self.get_path() json_data_valid = yang_handler.parse_to_dict(yang_interfaces_path, json_data, fmt='json') entries = [] for interface in json_data_valid['interfaces']['interface']: LOGGER.info('interface={:s}'.format(str(interface))) LOGGER.debug('interface={:s}'.format(str(interface))) interface_name = interface['name'] interface_counters = interface.get('state', {}).get('counters', {}) Loading @@ -56,7 +56,7 @@ class InterfaceCounterHandler(_Handler): 'out-pkts' : interface_counters['out_pkts' ], 'out-unicast-pkts' : interface_counters['out_unicast_pkts' ], } LOGGER.info('interface = {:s}'.format(str(interface))) LOGGER.debug('interface = {:s}'.format(str(interface))) entry_interface_key = '/interface[{:s}]'.format(interface_name) entries.append((entry_interface_key, _interface)) Loading
src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstance.py +1 −2 Original line number Diff line number Diff line Loading @@ -71,7 +71,6 @@ class NetworkInstanceHandler(_Handler): #'protocols': {'protocol': protocols}, str_data = yang_ni.print_mem('json') LOGGER.warning('str_data = {:s}'.format(str(str_data))) json_data = json.loads(str_data) json_data = json_data['openconfig-network-instance:network-instance'][0] str_data = json.dumps(json_data) Loading @@ -80,7 +79,7 @@ class NetworkInstanceHandler(_Handler): def parse( self, json_data : Dict, yang_handler : YangHandler ) -> List[Tuple[str, Dict[str, Any]]]: LOGGER.info('json_data = {:s}'.format(json.dumps(json_data))) LOGGER.debug('json_data = {:s}'.format(json.dumps(json_data))) # Arista Parsing Fixes: # - Default instance comes with mpls/signaling-protocols/rsvp-te/global/hellos/state/hello-interval set to 0 Loading
src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceInterface.py +1 −2 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ class NetworkInstanceInterfaceHandler(_Handler): yang_ni_if.create_path('config/subinterface', sif_index) str_data = yang_ni_if.print_mem('json') LOGGER.warning('[compose] str_data = {:s}'.format(str(str_data))) json_data = json.loads(str_data) json_data = json_data['openconfig-network-instance:interface'][0] str_data = json.dumps(json_data) Loading @@ -69,6 +68,6 @@ class NetworkInstanceInterfaceHandler(_Handler): def parse( self, json_data : Dict, yang_handler : YangHandler ) -> List[Tuple[str, Dict[str, Any]]]: LOGGER.warning('[parse] json_data = {:s}'.format(str(json_data))) LOGGER.debug('[parse] json_data = {:s}'.format(str(json_data))) response = [] return response