Skip to content
Snippets Groups Projects
Commit ded005de authored by Pablo Armingol's avatar Pablo Armingol
Browse files

Add support for new vendor in Openconfig Driver

parent b0a502e7
No related branches found
No related tags found
2 merge requests!235Release TeraFlowSDN 3.0,!162Resolve "(TID) Add support for Juniper in OpenConfig Driver"
......@@ -53,6 +53,8 @@ MAX_RETRIES = 15
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')
LOGGER = logging.getLogger(__name__)
class NetconfSessionHandler:
def __init__(self, address : str, port : int, **settings) -> None:
self.__lock = threading.RLock()
......@@ -109,7 +111,16 @@ class NetconfSessionHandler:
@RETRY_DECORATOR
def get(self, filter=None, with_defaults=None): # pylint: disable=redefined-builtin
with self.__lock:
return self.__manager.get(filter=filter, with_defaults=with_defaults)
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)
@RETRY_DECORATOR
def edit_config(
......
......@@ -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)
component_parent = xml_component.find('ocp:state/ocp:parent', namespaces=NAMESPACES)
if component_parent is None or component_parent.text is None:
add_value_from_tag(inventory, 'parent-component-references', component_type)
else:
if not component_parent is None:
add_value_from_tag(inventory, 'parent-component-references', component_parent)
component_HW = xml_component.find('ocp:state/ocp:hardware-version', namespaces=NAMESPACES)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment