-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding attributes to GNS3 nodes for dynamic config building #707
Comments
My suggestion is too add in the GNS3 file on each node a plugins dictionary and in the top level of the file for general keys. Each "plugins" could store his informations here. And each plugins will provide a file read by GNS3 (a json schema for example) allowing GNS3 to add a configuration menu when you click on a node or in the top menu. A file sample with two plugins net.awesome.autoip, com.networkdigital.webexport. {
"revision": 3,
"version": "1.3.7",
"auto_start": false,
"name": "ioutest",
"type": "topology",
"project_id": "2b71dc2b-2b5e-4457-9dda-43ffab5626bd",
"plugins": {
"net.awesome.autoip": {
"iprange": "192.168.1.0/21"
},
"com.networkdigital.webexport": {
"export_format": "html5",
"javascript": true
}
},
"topology": {
"servers": [
{
"port": 8000,
"local": false,
"host": "172.16.43.43",
"cloud": false,
"vm": true,
"id": 2
}
],
"nodes": [
{
"default_symbol": ":/symbols/router.normal.svg",
"y": -100,
"vm_id": "84a189da-a684-4e6a-bde4-99481d616f68",
"x": -319,
"type": "IOUDevice",
"id": 1,
"properties": {
"nvram": 128,
"name": "IOU1",
"l1_keepalives": false,
"ram": 256,
"path": "i86bi-linux-l3-adventerprisek9-15.4.1T.bin",
"ethernet_adapters": 2,
"serial_adapters": 2,
"console": 2000,
"initial_config": "initial-config.cfg",
"use_default_iou_values": true
},
"description": "IOU device",
"server_id": 2,
"hover_symbol": ":/symbols/router.selected.svg",
"plugins": {
"net.awesome.autoip": {
"ip": "192.168.1.2"
}
},
}
]
}
} |
This would most likely be required to implement #23 |
Request from @plucena24
Would it be possible to add a feature in GNS3 that allows a user to add arbitrary key-value attributes to each node from the GUI? For example, select a group of nodes, right click, and set a field under each node's properties. The use case I was thinking of is allowing users to set attributes on groups of routers, such as "asn:100", or "ospf.area = 1", etc, and adding these values to the .gns3 file. A program can then parse the .gns3 file and build configs based on these user provided attributes.
The text was updated successfully, but these errors were encountered: