diff --git a/src/device/service/drivers/gnmi_openconfig/GnmiSessionHandler.py b/src/device/service/drivers/gnmi_openconfig/GnmiSessionHandler.py index 671182b1c8c78de5269116c7fbef34acd2423bdd..ff304d14490d57d49e93c9916a056fb1589ac138 100644 --- a/src/device/service/drivers/gnmi_openconfig/GnmiSessionHandler.py +++ b/src/device/service/drivers/gnmi_openconfig/GnmiSessionHandler.py @@ -40,18 +40,20 @@ class GnmiSessionHandler: self._use_tls = settings.get('use_tls', False) self._channel : Optional[grpc.Channel] = None self._stub : Optional[gNMIStub] = None - self._yang_handler = YangHandler() + self._yang_handler = None self._monit_thread = None + self._yang_handler = YangHandler() self._subscriptions = Subscriptions() self._in_subscriptions = queue.Queue() self._out_samples = queue.Queue() def __del__(self) -> None: self._logger.warning('Destroying YangValidator...') - self._logger.warning('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._yang_handler.destroy() + if self._yang_handler is not None: + self._logger.warning('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._yang_handler.destroy() self._logger.warning('DONE') @property diff --git a/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceInterface.py b/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceInterface.py index 4cf0b275c1627edba0baac87929dbacdaf3beb63..ed5e0408711fa54a25e1c2e2ca070f404465bdad 100644 --- a/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceInterface.py +++ b/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceInterface.py @@ -37,9 +37,8 @@ class NetworkInstanceInterfaceHandler(_Handler): if IS_CEOS: ni_if_id = if_name if delete: - #PATH_TMPL = '/network-instances/network-instance[name={:s}]/interfaces/interface[id={:s}]' - #str_path = PATH_TMPL.format(ni_name, ni_if_id) - str_path = None # nothing to delete + PATH_TMPL = '/network-instances/network-instance[name={:s}]/interfaces/interface[id={:s}]' + str_path = PATH_TMPL.format(ni_name, ni_if_id) str_data = json.dumps({}) return str_path, str_data diff --git a/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceProtocol.py b/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceProtocol.py index a54c40b4a3fe9f77db883599880781b1cee19ec7..f456461929bf80a04b96e2cf8cdda3070d94954c 100644 --- a/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceProtocol.py +++ b/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceProtocol.py @@ -38,7 +38,6 @@ class NetworkInstanceProtocolHandler(_Handler): str_path = PATH_TMPL.format(ni_name, identifier, proto_name) if delete: - str_path = None # nothing to delete str_data = json.dumps({}) return str_path, str_data diff --git a/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceStaticRoute.py b/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceStaticRoute.py index 3d1c240e37c0d66064b3c66d31ee62dcae7f6106..ad1ef8b700e022a3c3b55cbad1847ad989680bb0 100644 --- a/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceStaticRoute.py +++ b/src/device/service/drivers/gnmi_openconfig/handlers/NetworkInstanceStaticRoute.py @@ -37,10 +37,9 @@ class NetworkInstanceStaticRouteHandler(_Handler): identifier = 'openconfig-policy-types:{:s}'.format(identifier) if delete: - #PATH_TMPL = '/network-instances/network-instance[name={:s}]/protocols' - #PATH_TMPL += '/protocol[identifier={:s}][name={:s}]/static-routes/static[prefix={:s}]' - #str_path = PATH_TMPL.format(ni_name, identifier, proto_name, prefix) - str_path = None # nothing to delete + PATH_TMPL = '/network-instances/network-instance[name={:s}]/protocols' + PATH_TMPL += '/protocol[identifier={:s}][name={:s}]/static-routes/static[prefix={:s}]' + str_path = PATH_TMPL.format(ni_name, identifier, proto_name, prefix) str_data = json.dumps({}) return str_path, str_data