You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Unable to create p2p links for IOL devices. Receiving error:
File "C:...\BulkImportLab\Lib\site-packages\evengsdk\api.py", line 397, in
if interface["name"] == interface_name
TypeError: string indices must be integers, not 'str'
for link in p2p_links:
client.api.connect_node_to_node(lab_path, **link)
client.logout()
Expected behavior
Expect to create links to IOL devices successfully. There is not issue with other device types, for example qemu and vpcs. in the above script these are created without error
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
note from the output of the
print(client.api.get_node_interfaces(lab_path,1))
print(client.api.get_node_interfaces(lab_path,2))
print(client.api.get_node_interfaces(lab_path,4))
you can see that the device_id 1 and 4 (qemu & vpcs respectively) has normal key value pairs for the get_node_interface output. but you can see device_id 2 (iol) has an int before the key value pair
||/ Name Version Architecture Description
+++-==============-============-============-==============================================
ii eve-ng 5.0.1-10 amd64 A new generation software for networking labs.
NOTE: it is possible to create the IOL device and p2p links successfully without defined the node_type as "IOL". However the device will not start due all interfaces "Lost carrier". see screenshot attached
The text was updated successfully, but these errors were encountered:
Describe the bug
Unable to create p2p links for IOL devices. Receiving error:
File "C:...\BulkImportLab\Lib\site-packages\evengsdk\api.py", line 397, in
if interface["name"] == interface_name
TypeError: string indices must be integers, not 'str'
To Reproduce
Running script...
from evengsdk.client import EvengClient
client = EvengClient("x.x.x.x", log_file="test.log", ssl_verify=False, protocol="http")
client.disable_insecure_warnings() # disable warnings for self-signed certificates
client.login(username="admin", password="eve")
client.set_log_level("DEBUG")
create a lab
lab = {"name": "Lab", "description": "Test Lab", "path": "/"}
resp = client.api.create_lab(**lab)
if resp['status'] == "success":
print("lab created successfully.")
we need the lab path to create objects in the lab
lab_path = f"{lab['path']}{lab['name']}.unl"
create management network
mgmt_cloud = {"name": "eve-mgmt", "network_type": "pnet1"}
client.api.add_lab_network(lab_path, **mgmt_cloud)
create Nodes
nodes = [
{"template":"fortinet","node_type":"qemu","image": "fortinet-FGT-v6-build1828","name": "F1", "icon":"Forti_FGT.png","ethernet":"10","console":"telnet","left": 550,"top":700},
{"template":"iol","node_type":"iol","image":"i86bi-linux-l2-adventerprisek9-15.1a.bin","name":"S1","icon":"Switch.png","nvram":"1024","ram":"1024","ethernet":"2","left":875,"top":460},
{"template":"iol","node_type":"iol","image":"i86bi-linux-l2-adventerprisek9-15.1a.bin","name":"S2","icon":"Switch.png","nvram":"1024","ram":"1024","ethernet":"2","left":1075,"top":460},
{"template":"vpcs","name":"VPC1","icon":"Desktop.png","node_type":"vpcs","left":875,"top":660},
{"template":"vpcs","name":"VPC2","icon":"Desktop.png","node_type":"vpcs","left":1075,"top":660},
]
for node in nodes:
client.api.add_node(lab_path, **node)
print(client.api.get_node_interfaces(lab_path,1))
print(client.api.get_node_interfaces(lab_path,2))
print(client.api.get_node_interfaces(lab_path,4))
connect nodes to management network
mgmt_connections = [
{"src": "F1", "src_label": "port1", "dst": "eve-mgmt"},
]
for link in mgmt_connections:
client.api.connect_node_to_cloud(lab_path, **link)
create p2p links
p2p_links = [
{"src": "F1", "src_label": "port2", "dst": "VPC2", "dst_label": "eth0"},
{"src": "VPC1", "src_label": "eth0", "dst": "S1", "dst_label": "e0/1"},
{"src": "S1", "src_label": "e0/2", "dst": "S2", "dst_label": "e0/2"},
]
for link in p2p_links:
client.api.connect_node_to_node(lab_path, **link)
client.logout()
Expected behavior
Expect to create links to IOL devices successfully. There is not issue with other device types, for example qemu and vpcs. in the above script these are created without error
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
note from the output of the
print(client.api.get_node_interfaces(lab_path,1))
print(client.api.get_node_interfaces(lab_path,2))
print(client.api.get_node_interfaces(lab_path,4))
you can see that the device_id 1 and 4 (qemu & vpcs respectively) has normal key value pairs for the get_node_interface output. but you can see device_id 2 (iol) has an int before the key value pair
get_node_interface output....
lab created successfully.
{'code': 200, 'status': 'success', 'message': 'Successfully listed node interfaces (60030).', 'data': {'id': 1, 'sort': 'qemu', 'ethernet': [{'name': 'port1', 'network_id': 0}, {'name': 'port2', 'network_id': 0}, {'name': 'port3', 'network_id': 0}, {'name': 'port4', 'network_id': 0}, {'name': 'port5', 'network_id': 0}, {'name': 'port6', 'network_id': 0}, {'name': 'port7', 'network_id': 0}, {'name': 'port8', 'network_id': 0}, {'name': 'port9', 'network_id': 0}, {'name': 'port10', 'network_id': 0}], 'serial': []}}
{'code': 200, 'status': 'success', 'message': 'Successfully listed node interfaces (60030).', 'data': {'id': 2, 'sort': 'iol', 'ethernet': {'0': {'name': 'e0/0', 'network_id': 0}, '16': {'name': 'e0/1', 'network_id': 0}, '32': {'name': 'e0/2', 'network_id': 0}, '48': {'name': 'e0/3', 'network_id': 0}, '1': {'name': 'e1/0', 'network_id': 0}, '17': {'name': 'e1/1', 'network_id': 0}, '33': {'name': 'e1/2', 'network_id': 0}, '49': {'name': 'e1/3', 'network_id': 0}}, 'serial': []}}
{'code': 200, 'status': 'success', 'message': 'Successfully listed node interfaces (60030).', 'data': {'id': 4, 'sort': 'vpcs', 'ethernet': [{'name': 'eth0', 'network_id': 0}], 'serial': []}}
EVE-NG VERSION
Community Edition
||/ Name Version Architecture Description
+++-==============-============-============-==============================================
ii eve-ng 5.0.1-10 amd64 A new generation software for networking labs.
NOTE: it is possible to create the IOL device and p2p links successfully without defined the node_type as "IOL". However the device will not start due all interfaces "Lost carrier". see screenshot attached
The text was updated successfully, but these errors were encountered: