From db0c5aad39824e05b2e7deb212abc23d8da7acae Mon Sep 17 00:00:00 2001 From: gifrerenom <lluis.gifre@cttc.es> Date: Tue, 23 Apr 2024 09:53:33 +0000 Subject: [PATCH] Device component - OpenConfig driver: - Fixes in per-vendor specificities - Cosmetic improvements --- src/device/service/drivers/openconfig/templates/Tools.py | 4 ++-- src/device/service/drivers/openconfig/templates/__init__.py | 3 ++- .../openconfig/templates/network_instance/edit_config.xml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/device/service/drivers/openconfig/templates/Tools.py b/src/device/service/drivers/openconfig/templates/Tools.py index d49d66c7a..c4ef22b1e 100644 --- a/src/device/service/drivers/openconfig/templates/Tools.py +++ b/src/device/service/drivers/openconfig/templates/Tools.py @@ -61,8 +61,8 @@ def generate_templates(resource_key: str, resource_value: str, delete: bool,vend elif "inter_instance_policies" in resource_key: result_templates.append(associate_RP_to_NI(data)) elif "protocols" in resource_key: - result_templates.append(add_protocol_NI(data, vendor, delete)) - # if vendor == "ADVA": result_templates.append(add_protocol_NI(data, vendor, delete)) + if vendor is None or vendor == "ADVA": + result_templates.append(add_protocol_NI(data, vendor, delete)) elif "table_connections" in resource_key: result_templates.append(create_table_conns(data, delete)) elif "interface" in resource_key: diff --git a/src/device/service/drivers/openconfig/templates/__init__.py b/src/device/service/drivers/openconfig/templates/__init__.py index 5c5424d28..969ca9f60 100644 --- a/src/device/service/drivers/openconfig/templates/__init__.py +++ b/src/device/service/drivers/openconfig/templates/__init__.py @@ -121,7 +121,8 @@ def compose_config( # template generation templates.append(JINJA_ENV.get_template('acl/acl-set/acl-entry/edit_config.xml')) templates.append(JINJA_ENV.get_template('acl/interfaces/ingress/edit_config.xml')) data : Dict[str, Any] = json.loads(resource_value) - operation = 'delete' if delete else '' + operation = 'delete' if delete else 'merge' # others + #operation = 'delete' if delete else '' # ipinfusion? return [ '<config>{:s}</config>'.format( diff --git a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml index 891881867..6b6b733da 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml @@ -1,5 +1,5 @@ <network-instances xmlns="http://openconfig.net/yang/network-instance"> - <network-instance{% if operation is defined %} xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="{{operation}}"{% endif %}> + <network-instance{% if operation is defined %} xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="{{operation}}"{% endif %}> <name>{{name}}</name> {% if operation is not defined or operation != 'delete' %} <config> -- GitLab