Skip to content
Snippets Groups Projects
Commit 8655f815 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Service - gNMI OpenConfig Service Handler:

- Generalized configuration of network instances
parent 8c0ed513
No related branches found
No related tags found
3 merge requests!346Draft: support for restconf protocol,!345Draft: support ipinfusion devices via netconf,!298Resolve "Merge Hackfest 5 in `develop` and related code fixes"
...@@ -21,8 +21,9 @@ from service.service.service_handler_api.AnyTreeTools import TreeNode ...@@ -21,8 +21,9 @@ from service.service.service_handler_api.AnyTreeTools import TreeNode
LOGGER = logging.getLogger(__name__) LOGGER = logging.getLogger(__name__)
#NETWORK_INSTANCE = 'teraflowsdn' #NETWORK_INSTANCE = 'teraflowsdn' # TODO: investigate; sometimes it does not create/delete static rules properly
NETWORK_INSTANCE = 'default' NETWORK_INSTANCE = 'default'
DEFAULT_NETWORK_INSTANCE = 'default'
RE_IF = re.compile(r'^\/interface\[([^\]]+)\]$') RE_IF = re.compile(r'^\/interface\[([^\]]+)\]$')
RE_SUBIF = re.compile(r'^\/interface\[([^\]]+)\]\/subinterface\[([^\]]+)\]$') RE_SUBIF = re.compile(r'^\/interface\[([^\]]+)\]\/subinterface\[([^\]]+)\]$')
...@@ -109,11 +110,13 @@ class EndpointComposer: ...@@ -109,11 +110,13 @@ class EndpointComposer:
if self.ipv4_address is None: return [] if self.ipv4_address is None: return []
if self.ipv4_prefix_len is None: return [] if self.ipv4_prefix_len is None: return []
json_config_rule = json_config_rule_delete if delete else json_config_rule_set json_config_rule = json_config_rule_delete if delete else json_config_rule_set
config_rules = [
#json_config_rule(*_network_instance_interface( config_rules : List[Dict] = list()
# network_instance_name, self.objekt.name, self.sub_interface_index if network_instance_name != DEFAULT_NETWORK_INSTANCE:
#)), config_rules.append(json_config_rule(*_network_instance_interface(
] network_instance_name, self.objekt.name, self.sub_interface_index
)))
if delete: if delete:
config_rules.extend([ config_rules.extend([
json_config_rule(*_interface( json_config_rule(*_interface(
...@@ -226,9 +229,9 @@ class DeviceComposer: ...@@ -226,9 +229,9 @@ class DeviceComposer:
if self.objekt.device_type not in SELECTED_DEVICES: return [] if self.objekt.device_type not in SELECTED_DEVICES: return []
json_config_rule = json_config_rule_delete if delete else json_config_rule_set json_config_rule = json_config_rule_delete if delete else json_config_rule_set
config_rules = [ config_rules : List[Dict] = list()
#json_config_rule(*_network_instance(network_instance_name, 'L3VRF')) if network_instance_name != DEFAULT_NETWORK_INSTANCE:
] json_config_rule(*_network_instance(network_instance_name, 'L3VRF'))
for endpoint in self.endpoints.values(): for endpoint in self.endpoints.values():
config_rules.extend(endpoint.get_config_rules(network_instance_name, delete=delete)) config_rules.extend(endpoint.get_config_rules(network_instance_name, delete=delete))
if len(self.static_routes) > 0: if len(self.static_routes) > 0:
......
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