Commit b7b9ac2c authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Device - gNMI OpenConfig Driver:

- Updated log levels
parent bd962f30
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -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
@@ -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):
@@ -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):
+3 −3
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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', {})
@@ -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))
+1 −2
Original line number Diff line number Diff line
@@ -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)
@@ -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
+1 −2
Original line number Diff line number Diff line
@@ -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)
@@ -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