Commit ded005de authored by Pablo Armingol's avatar Pablo Armingol
Browse files

Add support for new vendor in Openconfig Driver

parent b0a502e7
Loading
Loading
Loading
Loading
+12 −1
Original line number Original line Diff line number Diff line
@@ -53,6 +53,8 @@ MAX_RETRIES = 15
DELAY_FUNCTION = delay_exponential(initial=0.01, increment=2.0, maximum=5.0)
DELAY_FUNCTION = delay_exponential(initial=0.01, increment=2.0, maximum=5.0)
RETRY_DECORATOR = retry(max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect')
RETRY_DECORATOR = retry(max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect')


LOGGER = logging.getLogger(__name__)

class NetconfSessionHandler:
class NetconfSessionHandler:
    def __init__(self, address : str, port : int, **settings) -> None:
    def __init__(self, address : str, port : int, **settings) -> None:
        self.__lock = threading.RLock()
        self.__lock = threading.RLock()
@@ -109,6 +111,15 @@ class NetconfSessionHandler:
    @RETRY_DECORATOR
    @RETRY_DECORATOR
    def get(self, filter=None, with_defaults=None): # pylint: disable=redefined-builtin
    def get(self, filter=None, with_defaults=None): # pylint: disable=redefined-builtin
        with self.__lock:
        with self.__lock:
            if self.__vendor == 'JUNIPER'and not 'component' in str(filter):
                LOGGER.info('filtros = {:s}'.format(str(filter)))
                data = self.__manager.get_config(source="running", filter=filter, with_defaults=with_defaults)
                LOGGER.info('resultado = {:s}'.format(str(data)))
                return self.__manager.get_config(source="running", filter=filter, with_defaults=with_defaults)
            else:
                LOGGER.info('filtros2 = {:s}'.format(str(filter)))
                data = self.__manager.get(filter=filter, with_defaults=with_defaults)
                LOGGER.info('resultado2 = {:s}'.format(str(data)))
                return self.__manager.get(filter=filter, with_defaults=with_defaults)
                return self.__manager.get(filter=filter, with_defaults=with_defaults)


    @RETRY_DECORATOR
    @RETRY_DECORATOR
+1 −3
Original line number Original line Diff line number Diff line
@@ -89,9 +89,7 @@ def parse(xml_data : ET.Element) -> List[Tuple[str, Dict[str, Any]]]:
            add_value_from_tag(inventory['attributes'], 'empty', component_empty)
            add_value_from_tag(inventory['attributes'], 'empty', component_empty)


        component_parent = xml_component.find('ocp:state/ocp:parent', namespaces=NAMESPACES)
        component_parent = xml_component.find('ocp:state/ocp:parent', namespaces=NAMESPACES)
        if component_parent is None or component_parent.text is None:
        if not component_parent is None: 
            add_value_from_tag(inventory, 'parent-component-references', component_type)
        else:
            add_value_from_tag(inventory, 'parent-component-references', component_parent)
            add_value_from_tag(inventory, 'parent-component-references', component_parent)


        component_HW = xml_component.find('ocp:state/ocp:hardware-version', namespaces=NAMESPACES)
        component_HW = xml_component.find('ocp:state/ocp:hardware-version', namespaces=NAMESPACES)