Loading delete.json +2 −2 Original line number Diff line number Diff line Loading @@ -226,5 +226,5 @@ "port": "SRG1-INT-IN1/SRG1-INT-IN2/SRG1-INT-IN3/SRG1-INT-IN4/SRG1-INT-OUT1/SRG1-INT-OUT2/SRG1-INT-OUT3/SRG1-INT-OUT4/SRG1-IN1/SRG1-IN2/SRG1-IN3/SRG1-IN4/SRG1-IN5/SRG1-IN6/SRG1-OUT1/SRG1-OUT2/SRG1-OUT3/SRG1-OUT4/SRG1-OUT5/SRG1-OUT6", "interface_list": "NMC-SRG-SRG1-WSS-192031250", "frequency": 0.0, "width": 0 } No newline at end of file "a": 0 a No newline at end of file delete.xml +1 −78 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <org-openroadm-device xmlns="http://org/openroadm/device" xmlns:wd="urn:ietf:params:xml:ns:netconf:default:1.0"> <org-openroadm-device xmlns="http://org/openroadm/device"> <info> <node-id>ROADM-Torino</node-id> <node-number>1</node-number> Loading Loading @@ -1175,83 +1175,6 @@ <supporting-port>DEG4-AMPTX-OUT</supporting-port> <supporting-interface-list>OTS-DEG4-TTP-TX</supporting-interface-list> </interface> <interface> <name>MC-TTP-DEG1-RX-192056250</name> <description>Media-channel-192056250THz</description> <type>openROADM-if:mediaChannelTrailTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>DEG1-AMPRX</supporting-circuit-pack-name> <supporting-port>DEG1-AMPRX-IN</supporting-port> <supporting-interface-list>OMS-DEG1-TTP-RX</supporting-interface-list> <mc-ttp xmlns="http://org/openroadm/media-channel-interfaces"> <max-freq>192056300000.0</max-freq> <min-freq>192056200000.0</min-freq> </mc-ttp> <supporting-interface-list>NMC-CTP-DEG1-RX-192056250</supporting-interface-list> </interface> <interface> <name>NMC-CTP-DEG1-RX-192056250</name> <description>Media-channel-192056250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>DEG1-AMPRX</supporting-circuit-pack-name> <supporting-port>DEG1-AMPRX-IN</supporting-port> <supporting-interface-list>OMS-DEG1-TTP-RX</supporting-interface-list> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192056250</frequency> <width>100000.0</width> </nmc-ctp> <supporting-interface-list>NMC-CTP-DEG1-RX-192056250</supporting-interface-list> </interface> <interface> <name>NMC-SRG-SRG1-WSS-192031250</name> <description>Network-Media-Channel-CTP-192031250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>SRG1-WSS</supporting-circuit-pack-name> <supporting-port>SRG1-IN3</supporting-port> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192031250</frequency> <width>50000.0</width> </nmc-ctp> </interface> <interface> <name>NMC-NMC-CTP-DEG1-RX-192056250</name> <description>Media-channel-192056250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>DEG1-AMPRX</supporting-circuit-pack-name> <supporting-port>DEG1-AMPRX-IN</supporting-port> <supporting-interface-list>OMS-DEG1-TTP-RX</supporting-interface-list> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192056250</frequency> <width>100000.0</width> </nmc-ctp> </interface> <interface> <name>NMC-SRG-SRG-SRG1-WSS-192031250</name> <description>Network-Media-Channel-CTP-192031250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>SRG1-WSS</supporting-circuit-pack-name> <supporting-port>SRG1-IN3</supporting-port> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192031250</frequency> <width>50000.0</width> </nmc-ctp> </interface> <interface> <name>NMC-SRG-SRG-SRG1-WSS-192056250</name> <description>Network-Media-Channel-CTP-192056250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>SRG1-WSS</supporting-circuit-pack-name> <supporting-port>SRG1-IN3</supporting-port> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192056250</frequency> <width>100000</width> </nmc-ctp> </interface> </org-openroadm-device> <netopeer xmlns="urn:cesnet:tmc:netopeer:1.0"> <modules> Loading src/device/service/drivers/oc_driver/templates/VPN/common.py +6 −0 Original line number Diff line number Diff line Loading @@ -55,3 +55,9 @@ def filter_config(resources:list,unwanted_keys=[])->list[list,dict,str]: ports = extract_ports(resources=resources) logging.info(f"filter_config {ports}") return [config,ports,index] def convert_Thz (freq_hz:int)->int : freq_thz = freq_hz / 1_000_000 freq_thz_rounded = round(freq_thz, 2) return freq_thz_rounded No newline at end of file src/device/service/drivers/oc_driver/templates/VPN/openroadm.py +131 −119 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ from yattag import Doc, indent import logging from .common import seperate_port_config ,filter_config from .common import seperate_port_config ,filter_config ,convert_Thz from decimal import Decimal Loading Loading @@ -92,9 +92,13 @@ def create_network_media_channel (resources): or_device_ns="http://org/openroadm/device" band=next((r for r in resources if r['resource_key']== 'band'),None) frequency_dict=next((r for r in resources if r['resource_key']== 'frequency'),None) min_freq= int(Decimal(frequency_dict["value"])*1000) - (int(band["value"])/2) max_freq = int(Decimal(frequency_dict["value"])*1000) + (int(band["value"])/2) width_dict= (max_freq - min_freq) freq_thz=None if frequency_dict and frequency_dict['value']: freq_thz=convert_Thz(frequency_dict['value']) min_freq= int(Decimal(frequency_dict["value"])) - (int(band["value"])/2) max_freq = int(Decimal(frequency_dict["value"])) + (int(band["value"])/2) width_dict= (max_freq - min_freq)/1000 config,ports,index= filter_config(resources,unwanted_keys=[]) Loading @@ -104,14 +108,15 @@ def create_network_media_channel (resources): with tag('config',xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"): with tag('org-openroadm-device', ('xmlns',or_device_ns)): for i in list(ports[0]): for lst_i in [list(j) for j in ports ] : for i in lst_i: if i: #port,i_list,circuit=infer_opposite_port(i,interface_list["value"]) interface_list =next((r for r in resources if r['resource_key']== 'interface_list'+'-'+i),None) if interface_list['value'] == 'Null': continue administrative_state= next((r for r in resources if r['resource_key']== 'administrative_state'+'-'+i),None) circuit_pack =next((r for r in resources if r['resource_key']=='supporting-circuit-pack-name'+'-'+i),None) nmc_name = define_interface_name('nmc-nmc-ctp',interface_list["value"],frequency_dict['value']) nmc_name = define_interface_name('nmc-nmc-ctp',interface_list["value"],freq_thz) interfaces.append({ "name":nmc_name, "type":'nmc', Loading @@ -119,7 +124,7 @@ def create_network_media_channel (resources): "circuit_pack_name":circuit_pack["value"], "port":i, "interface_list":interface_list["value"], "frequency":frequency_dict["value"], "frequency":freq_thz, "width":width_dict, "roadm_uuid":"" }) Loading @@ -127,15 +132,15 @@ def create_network_media_channel (resources): with tag('interface'): with tag('name'):text(nmc_name) with tag('description'):text(f'Media-channel-{frequency_dict["value"]}THz') with tag('description'):text(f'Media-channel-{freq_thz}THz') with tag('type'):text("openROADM-if:networkMediaChannelConnectionTerminationPoint") with tag('administrative-state'):text("inService") with tag('supporting-circuit-pack-name'):text(circuit_pack['value']) with tag('supporting-port'):text(i) with tag('supporting-interface-list'):text(interface_list["value"]) with tag('nmc-ctp',xmlns="http://org/openroadm/network-media-channel-interfaces"): with tag('frequency'):text(frequency_dict['value']) with tag('width'):text(width_dict) with tag('frequency'):text(193.30) with tag('width'):text(100) Loading @@ -154,10 +159,13 @@ def create_network_media_channel (resources): def or_create_media_channel (resources): logging.info(f'or_mc {resources} ') frequency_dict=next((r for r in resources if r['resource_key']== 'frequency'),None) freq_thz=None if frequency_dict and frequency_dict['value']: freq_thz=convert_Thz(frequency_dict['value']) band=next((r for r in resources if r['resource_key']== 'band'),None) min_freq= int(Decimal(frequency_dict["value"])*1000) - (int(band["value"])/2) max_freq = int(Decimal(frequency_dict["value"])*1000) + (int(band["value"])/2) min_freq= convert_Thz( int(Decimal(frequency_dict["value"])) - (int(band["value"])/2)) max_freq =convert_Thz (int(Decimal(frequency_dict["value"])) + (int(band["value"])/2)) + 0.10 cconfig,ports,index= filter_config(resources,unwanted_keys=[]) Loading @@ -172,7 +180,8 @@ def or_create_media_channel (resources): with tag('config',xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"): with tag('org-openroadm-device', ('xmlns',or_device_ns)): for i in list(ports[0]): for lst_i in [list(j) for j in ports ] : for i in lst_i: if i : Loading @@ -181,7 +190,7 @@ def or_create_media_channel (resources): administrative_state= next((r for r in resources if r['resource_key']== 'administrative_state'+'-'+i),None) circuit_pack =next((r for r in resources if r['resource_key']=='supporting-circuit-pack-name'+'-'+i),None) mc_name = define_interface_name('mc-ttp',interface_list['value'],frequency_dict['value']) mc_name = define_interface_name('mc-ttp',interface_list['value'],freq_thz) interfaces.append({ "name":mc_name, "type":'mc', Loading @@ -189,7 +198,7 @@ def or_create_media_channel (resources): "circuit_pack_name":circuit_pack["value"], "port":i, "interface_list":interface_list["value"], "frequency":frequency_dict["value"], "frequency":freq_thz, "roadm_uuid":"" }) Loading @@ -197,15 +206,15 @@ def or_create_media_channel (resources): with tag('interface'): with tag('name'):text(mc_name) with tag('description'):text(f'Media-channel-{frequency_dict["value"]}THz') with tag('description'):text(f'Media-channel-{freq_thz}THz') with tag('type'):text("openROADM-if:mediaChannelTrailTerminationPoint") with tag('administrative-state'):text("inService") with tag('supporting-circuit-pack-name'):text(circuit_pack["value"]) with tag('supporting-port'):text(i) with tag('supporting-interface-list'):text(interface_list["value"]) with tag('mc-ttp',xmlns="http://org/openroadm/media-channel-interfaces"): with tag('max-freq'):text(max_freq) with tag('min-freq'):text(min_freq) with tag('max-freq'):text(193.35) with tag('min-freq'):text(193.25) Loading Loading @@ -242,9 +251,9 @@ def create_cross_connection (resources): with tag('opticalControlMode'):text('off') with tag('target-output-power'):text('0') with tag('source'): with tag('src-if'):text(resources['srg_name']) with tag('src-if'):text(resources['nmc_name']) with tag('destination') : with tag('dst-if'):text(resources['nmc_name']) with tag('dst-if'):text(resources['srg_name']) Loading @@ -269,6 +278,7 @@ def srg_network_media_channel_handle (resources): max_freq = int(Decimal(frequency_dict["value"])*1000) + (int(band["value"])/2) width_dict= (max_freq - min_freq) freq = int(frequency_dict['value']) + int(width_dict/2) freq_thz= convert_Thz(freq) + (band['value']/1000000) config,ports,index= filter_config(resources,unwanted_keys=[]) interfaces=[] results=[] Loading @@ -276,7 +286,8 @@ def srg_network_media_channel_handle (resources): with tag('config',xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"): with tag('org-openroadm-device', ('xmlns',or_device_ns)): for i in list(ports[0]): for lst_i in [list(j) for j in ports ] : for i in lst_i: if i : interface_list =next((r for r in resources if r['resource_key']== 'interface_list'+'-'+i),None) Loading @@ -290,12 +301,13 @@ def srg_network_media_channel_handle (resources): cross_conn_resources['nmc_port']=i # only port with no interface can be configured as srg if interface_list and interface_type: if interface_list['value'] != 'Null' and interface_type['value'] != 'srg':continue administrative_state= next((r for r in resources if r['resource_key']== 'administrative_state'+'-'+i),None) circuit_pack =next((r for r in resources if r['resource_key']=='supporting-circuit-pack-name'+'-'+i),None) srg_name = define_interface_name('nmc-srg-srg',circuit_pack["value"],freq) srg_name = define_interface_name(f'nmc-{i}',circuit_pack["value"],freq_thz) cross_conn_resources['srg_name']=srg_name cross_conn_resources['srg_port']=i Loading @@ -306,7 +318,7 @@ def srg_network_media_channel_handle (resources): "circuit_pack_name":circuit_pack["value"], "port":i, "interface_list":interface_list["value"], "frequency":freq, "frequency":freq_thz, "roadm_uuid":"" }) Loading @@ -314,15 +326,15 @@ def srg_network_media_channel_handle (resources): with tag('interface'): with tag('name'):text(srg_name) with tag('description'):text(f'Network-Media-Channel-CTP-{freq}THz') with tag('description'):text(f'Network-Media-Channel-CTP-{freq_thz}THz') with tag('type'):text("openROADM-if:networkMediaChannelConnectionTerminationPoint") with tag('administrative-state'):text("inService") with tag('supporting-circuit-pack-name'):text(circuit_pack["value"]) with tag('supporting-port'):text(i) #with tag('supporting-interface-list'):text(i_list) with tag('nmc-ctp',xmlns="http://org/openroadm/network-media-channel-interfaces"): with tag('frequency'):text(freq) with tag('width'):text(band['value']*2) with tag('frequency'):text(193.30) with tag('width'):text(100) Loading src/device/service/drivers/oc_driver/templates/discovery_tool/open_roadm.py +1 −1 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ def extract_openroadm_interface (xml_data:str): nmc= { 'name':name.text if name is not None else None, 'description':description.text if description is not None else None , 'type':"nmc", 'type':"nmc" if interface_list is not None else "srg", 'administrative_state':administrative_state.text if administrative_state is not None else None, 'circuit_pack_name':circuit_pack_name.text if circuit_pack_name is not None else None, 'port':port.text if port is not None else None , Loading Loading
delete.json +2 −2 Original line number Diff line number Diff line Loading @@ -226,5 +226,5 @@ "port": "SRG1-INT-IN1/SRG1-INT-IN2/SRG1-INT-IN3/SRG1-INT-IN4/SRG1-INT-OUT1/SRG1-INT-OUT2/SRG1-INT-OUT3/SRG1-INT-OUT4/SRG1-IN1/SRG1-IN2/SRG1-IN3/SRG1-IN4/SRG1-IN5/SRG1-IN6/SRG1-OUT1/SRG1-OUT2/SRG1-OUT3/SRG1-OUT4/SRG1-OUT5/SRG1-OUT6", "interface_list": "NMC-SRG-SRG1-WSS-192031250", "frequency": 0.0, "width": 0 } No newline at end of file "a": 0 a No newline at end of file
delete.xml +1 −78 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <org-openroadm-device xmlns="http://org/openroadm/device" xmlns:wd="urn:ietf:params:xml:ns:netconf:default:1.0"> <org-openroadm-device xmlns="http://org/openroadm/device"> <info> <node-id>ROADM-Torino</node-id> <node-number>1</node-number> Loading Loading @@ -1175,83 +1175,6 @@ <supporting-port>DEG4-AMPTX-OUT</supporting-port> <supporting-interface-list>OTS-DEG4-TTP-TX</supporting-interface-list> </interface> <interface> <name>MC-TTP-DEG1-RX-192056250</name> <description>Media-channel-192056250THz</description> <type>openROADM-if:mediaChannelTrailTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>DEG1-AMPRX</supporting-circuit-pack-name> <supporting-port>DEG1-AMPRX-IN</supporting-port> <supporting-interface-list>OMS-DEG1-TTP-RX</supporting-interface-list> <mc-ttp xmlns="http://org/openroadm/media-channel-interfaces"> <max-freq>192056300000.0</max-freq> <min-freq>192056200000.0</min-freq> </mc-ttp> <supporting-interface-list>NMC-CTP-DEG1-RX-192056250</supporting-interface-list> </interface> <interface> <name>NMC-CTP-DEG1-RX-192056250</name> <description>Media-channel-192056250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>DEG1-AMPRX</supporting-circuit-pack-name> <supporting-port>DEG1-AMPRX-IN</supporting-port> <supporting-interface-list>OMS-DEG1-TTP-RX</supporting-interface-list> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192056250</frequency> <width>100000.0</width> </nmc-ctp> <supporting-interface-list>NMC-CTP-DEG1-RX-192056250</supporting-interface-list> </interface> <interface> <name>NMC-SRG-SRG1-WSS-192031250</name> <description>Network-Media-Channel-CTP-192031250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>SRG1-WSS</supporting-circuit-pack-name> <supporting-port>SRG1-IN3</supporting-port> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192031250</frequency> <width>50000.0</width> </nmc-ctp> </interface> <interface> <name>NMC-NMC-CTP-DEG1-RX-192056250</name> <description>Media-channel-192056250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>DEG1-AMPRX</supporting-circuit-pack-name> <supporting-port>DEG1-AMPRX-IN</supporting-port> <supporting-interface-list>OMS-DEG1-TTP-RX</supporting-interface-list> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192056250</frequency> <width>100000.0</width> </nmc-ctp> </interface> <interface> <name>NMC-SRG-SRG-SRG1-WSS-192031250</name> <description>Network-Media-Channel-CTP-192031250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>SRG1-WSS</supporting-circuit-pack-name> <supporting-port>SRG1-IN3</supporting-port> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192031250</frequency> <width>50000.0</width> </nmc-ctp> </interface> <interface> <name>NMC-SRG-SRG-SRG1-WSS-192056250</name> <description>Network-Media-Channel-CTP-192056250THz</description> <type>openROADM-if:networkMediaChannelConnectionTerminationPoint</type> <administrative-state>inService</administrative-state> <supporting-circuit-pack-name>SRG1-WSS</supporting-circuit-pack-name> <supporting-port>SRG1-IN3</supporting-port> <nmc-ctp xmlns="http://org/openroadm/network-media-channel-interfaces"> <frequency>192056250</frequency> <width>100000</width> </nmc-ctp> </interface> </org-openroadm-device> <netopeer xmlns="urn:cesnet:tmc:netopeer:1.0"> <modules> Loading
src/device/service/drivers/oc_driver/templates/VPN/common.py +6 −0 Original line number Diff line number Diff line Loading @@ -55,3 +55,9 @@ def filter_config(resources:list,unwanted_keys=[])->list[list,dict,str]: ports = extract_ports(resources=resources) logging.info(f"filter_config {ports}") return [config,ports,index] def convert_Thz (freq_hz:int)->int : freq_thz = freq_hz / 1_000_000 freq_thz_rounded = round(freq_thz, 2) return freq_thz_rounded No newline at end of file
src/device/service/drivers/oc_driver/templates/VPN/openroadm.py +131 −119 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ from yattag import Doc, indent import logging from .common import seperate_port_config ,filter_config from .common import seperate_port_config ,filter_config ,convert_Thz from decimal import Decimal Loading Loading @@ -92,9 +92,13 @@ def create_network_media_channel (resources): or_device_ns="http://org/openroadm/device" band=next((r for r in resources if r['resource_key']== 'band'),None) frequency_dict=next((r for r in resources if r['resource_key']== 'frequency'),None) min_freq= int(Decimal(frequency_dict["value"])*1000) - (int(band["value"])/2) max_freq = int(Decimal(frequency_dict["value"])*1000) + (int(band["value"])/2) width_dict= (max_freq - min_freq) freq_thz=None if frequency_dict and frequency_dict['value']: freq_thz=convert_Thz(frequency_dict['value']) min_freq= int(Decimal(frequency_dict["value"])) - (int(band["value"])/2) max_freq = int(Decimal(frequency_dict["value"])) + (int(band["value"])/2) width_dict= (max_freq - min_freq)/1000 config,ports,index= filter_config(resources,unwanted_keys=[]) Loading @@ -104,14 +108,15 @@ def create_network_media_channel (resources): with tag('config',xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"): with tag('org-openroadm-device', ('xmlns',or_device_ns)): for i in list(ports[0]): for lst_i in [list(j) for j in ports ] : for i in lst_i: if i: #port,i_list,circuit=infer_opposite_port(i,interface_list["value"]) interface_list =next((r for r in resources if r['resource_key']== 'interface_list'+'-'+i),None) if interface_list['value'] == 'Null': continue administrative_state= next((r for r in resources if r['resource_key']== 'administrative_state'+'-'+i),None) circuit_pack =next((r for r in resources if r['resource_key']=='supporting-circuit-pack-name'+'-'+i),None) nmc_name = define_interface_name('nmc-nmc-ctp',interface_list["value"],frequency_dict['value']) nmc_name = define_interface_name('nmc-nmc-ctp',interface_list["value"],freq_thz) interfaces.append({ "name":nmc_name, "type":'nmc', Loading @@ -119,7 +124,7 @@ def create_network_media_channel (resources): "circuit_pack_name":circuit_pack["value"], "port":i, "interface_list":interface_list["value"], "frequency":frequency_dict["value"], "frequency":freq_thz, "width":width_dict, "roadm_uuid":"" }) Loading @@ -127,15 +132,15 @@ def create_network_media_channel (resources): with tag('interface'): with tag('name'):text(nmc_name) with tag('description'):text(f'Media-channel-{frequency_dict["value"]}THz') with tag('description'):text(f'Media-channel-{freq_thz}THz') with tag('type'):text("openROADM-if:networkMediaChannelConnectionTerminationPoint") with tag('administrative-state'):text("inService") with tag('supporting-circuit-pack-name'):text(circuit_pack['value']) with tag('supporting-port'):text(i) with tag('supporting-interface-list'):text(interface_list["value"]) with tag('nmc-ctp',xmlns="http://org/openroadm/network-media-channel-interfaces"): with tag('frequency'):text(frequency_dict['value']) with tag('width'):text(width_dict) with tag('frequency'):text(193.30) with tag('width'):text(100) Loading @@ -154,10 +159,13 @@ def create_network_media_channel (resources): def or_create_media_channel (resources): logging.info(f'or_mc {resources} ') frequency_dict=next((r for r in resources if r['resource_key']== 'frequency'),None) freq_thz=None if frequency_dict and frequency_dict['value']: freq_thz=convert_Thz(frequency_dict['value']) band=next((r for r in resources if r['resource_key']== 'band'),None) min_freq= int(Decimal(frequency_dict["value"])*1000) - (int(band["value"])/2) max_freq = int(Decimal(frequency_dict["value"])*1000) + (int(band["value"])/2) min_freq= convert_Thz( int(Decimal(frequency_dict["value"])) - (int(band["value"])/2)) max_freq =convert_Thz (int(Decimal(frequency_dict["value"])) + (int(band["value"])/2)) + 0.10 cconfig,ports,index= filter_config(resources,unwanted_keys=[]) Loading @@ -172,7 +180,8 @@ def or_create_media_channel (resources): with tag('config',xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"): with tag('org-openroadm-device', ('xmlns',or_device_ns)): for i in list(ports[0]): for lst_i in [list(j) for j in ports ] : for i in lst_i: if i : Loading @@ -181,7 +190,7 @@ def or_create_media_channel (resources): administrative_state= next((r for r in resources if r['resource_key']== 'administrative_state'+'-'+i),None) circuit_pack =next((r for r in resources if r['resource_key']=='supporting-circuit-pack-name'+'-'+i),None) mc_name = define_interface_name('mc-ttp',interface_list['value'],frequency_dict['value']) mc_name = define_interface_name('mc-ttp',interface_list['value'],freq_thz) interfaces.append({ "name":mc_name, "type":'mc', Loading @@ -189,7 +198,7 @@ def or_create_media_channel (resources): "circuit_pack_name":circuit_pack["value"], "port":i, "interface_list":interface_list["value"], "frequency":frequency_dict["value"], "frequency":freq_thz, "roadm_uuid":"" }) Loading @@ -197,15 +206,15 @@ def or_create_media_channel (resources): with tag('interface'): with tag('name'):text(mc_name) with tag('description'):text(f'Media-channel-{frequency_dict["value"]}THz') with tag('description'):text(f'Media-channel-{freq_thz}THz') with tag('type'):text("openROADM-if:mediaChannelTrailTerminationPoint") with tag('administrative-state'):text("inService") with tag('supporting-circuit-pack-name'):text(circuit_pack["value"]) with tag('supporting-port'):text(i) with tag('supporting-interface-list'):text(interface_list["value"]) with tag('mc-ttp',xmlns="http://org/openroadm/media-channel-interfaces"): with tag('max-freq'):text(max_freq) with tag('min-freq'):text(min_freq) with tag('max-freq'):text(193.35) with tag('min-freq'):text(193.25) Loading Loading @@ -242,9 +251,9 @@ def create_cross_connection (resources): with tag('opticalControlMode'):text('off') with tag('target-output-power'):text('0') with tag('source'): with tag('src-if'):text(resources['srg_name']) with tag('src-if'):text(resources['nmc_name']) with tag('destination') : with tag('dst-if'):text(resources['nmc_name']) with tag('dst-if'):text(resources['srg_name']) Loading @@ -269,6 +278,7 @@ def srg_network_media_channel_handle (resources): max_freq = int(Decimal(frequency_dict["value"])*1000) + (int(band["value"])/2) width_dict= (max_freq - min_freq) freq = int(frequency_dict['value']) + int(width_dict/2) freq_thz= convert_Thz(freq) + (band['value']/1000000) config,ports,index= filter_config(resources,unwanted_keys=[]) interfaces=[] results=[] Loading @@ -276,7 +286,8 @@ def srg_network_media_channel_handle (resources): with tag('config',xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"): with tag('org-openroadm-device', ('xmlns',or_device_ns)): for i in list(ports[0]): for lst_i in [list(j) for j in ports ] : for i in lst_i: if i : interface_list =next((r for r in resources if r['resource_key']== 'interface_list'+'-'+i),None) Loading @@ -290,12 +301,13 @@ def srg_network_media_channel_handle (resources): cross_conn_resources['nmc_port']=i # only port with no interface can be configured as srg if interface_list and interface_type: if interface_list['value'] != 'Null' and interface_type['value'] != 'srg':continue administrative_state= next((r for r in resources if r['resource_key']== 'administrative_state'+'-'+i),None) circuit_pack =next((r for r in resources if r['resource_key']=='supporting-circuit-pack-name'+'-'+i),None) srg_name = define_interface_name('nmc-srg-srg',circuit_pack["value"],freq) srg_name = define_interface_name(f'nmc-{i}',circuit_pack["value"],freq_thz) cross_conn_resources['srg_name']=srg_name cross_conn_resources['srg_port']=i Loading @@ -306,7 +318,7 @@ def srg_network_media_channel_handle (resources): "circuit_pack_name":circuit_pack["value"], "port":i, "interface_list":interface_list["value"], "frequency":freq, "frequency":freq_thz, "roadm_uuid":"" }) Loading @@ -314,15 +326,15 @@ def srg_network_media_channel_handle (resources): with tag('interface'): with tag('name'):text(srg_name) with tag('description'):text(f'Network-Media-Channel-CTP-{freq}THz') with tag('description'):text(f'Network-Media-Channel-CTP-{freq_thz}THz') with tag('type'):text("openROADM-if:networkMediaChannelConnectionTerminationPoint") with tag('administrative-state'):text("inService") with tag('supporting-circuit-pack-name'):text(circuit_pack["value"]) with tag('supporting-port'):text(i) #with tag('supporting-interface-list'):text(i_list) with tag('nmc-ctp',xmlns="http://org/openroadm/network-media-channel-interfaces"): with tag('frequency'):text(freq) with tag('width'):text(band['value']*2) with tag('frequency'):text(193.30) with tag('width'):text(100) Loading
src/device/service/drivers/oc_driver/templates/discovery_tool/open_roadm.py +1 −1 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ def extract_openroadm_interface (xml_data:str): nmc= { 'name':name.text if name is not None else None, 'description':description.text if description is not None else None , 'type':"nmc", 'type':"nmc" if interface_list is not None else "srg", 'administrative_state':administrative_state.text if administrative_state is not None else None, 'circuit_pack_name':circuit_pack_name.text if circuit_pack_name is not None else None, 'port':port.text if port is not None else None , Loading