Commit graph

1737 commits

Author SHA1 Message Date
Blake Harnden
22e92111d0 daemon: updates to provide config types for configurable values, without the need to specify the enumerated type 2021-11-15 16:40:30 -08:00
Blake Harnden
1ce6e51318 pygui: updates to properly save and load canvas size for each canvas separately 2021-10-29 14:56:50 -07:00
Blake Harnden
2b89503432 updates to sample1 scenarios to remove any custom service configurations, since the defaults should be used, fixes an issue specifically in sample1.imn 2021-10-29 14:11:11 -07:00
Blake Harnden
04fb3322b5 daemon: updated ovs net client to use proper set_mac_learning function, due to code changes prior 2021-10-27 08:23:54 -07:00
Blake Harnden
bd896d1336 daemon: added capability to config services to shadow directory structures, from a given path, or from a local source, files may be templates or a straight copy and can be sourced from node named unique paths for node specific files, also refactored and renamed file creation related functions for nodes 2021-09-17 14:34:37 -07:00
Blake Harnden
b96dc621cd grpc: refactoring for editing/moving nodes, they are now two separate processes, with specific logic to carry each out 2021-08-27 16:58:44 -07:00
Blake Harnden
ac5bbf5c6d pygui: updates to limit copy/paste to the graph widget itself and some small related cleanup to graph hot key functionalities 2021-08-26 15:12:51 -07:00
Blake Harnden
8e905b6a37 pygui: updates to improve draw order when joining a session, should help avoid some undesired visuals while reading in bigger scenarios 2021-08-26 10:42:02 -07:00
Blake Harnden
631cbbc73e pygui: add configuration and ip options to enable/disable ip4/ip6 assignment, improved gui configuration to handle new fields that do not already exist 2021-07-15 16:42:19 -07:00
Blake Harnden
aa5bb08a16 grpc: fixed issue for start session not attempting to create directory when using definition 2021-07-14 16:39:18 -07:00
Blake Harnden
1347839200 pygui: adjustments to have save as update the current session to the newly defined file, saves will then continue to use the new save as name 2021-07-14 14:44:23 -07:00
Blake Harnden
8d303bdc2a pygui: changes to allow adding directory paths that do not exist within gui for customizing services 2021-07-14 13:45:49 -07:00
Blake Harnden
4879d6e297 pygui: small cleanup for removing service configuration when they are removed/toggled 2021-07-12 11:01:36 -07:00
Blake Harnden
54ac807a4f grpc: changes to support nodes containing configuration data, allowing for node creation with configs and querying nodes with their configs 2021-07-12 10:29:53 -07:00
Blake Harnden
7198d2adc9 pygui: fixed issue in emane configuration for node interfaces using the wrong values 2021-06-03 21:48:07 -07:00
Blake Harnden
7fcedf527f daemon: add check to catch infinity values resulting from geo transformations and throw an error 2021-06-03 21:37:26 -07:00
Blake Harnden
44d797c633 pygui: fix so the emane config dialog will select the current emane configuration for a given emane node 2021-05-28 22:18:13 -07:00
Blake Harnden
a63e3e8d96 daemon: fix to also boot config services when a node is added during runtime 2021-05-26 21:01:24 -07:00
Blake Harnden
f928284fb7 daemon: fixed emane setup to move binding check to after validating if emane is needed 2021-05-26 14:48:28 -07:00
Blake Harnden
b51200e397 daemon: updated emane model platform configuration to remove controlportendpoint option, as this will be something core itself will define 2021-05-26 12:57:35 -07:00
Blake Harnden
3fcefc4d79 daemon: updated emane shutdown to kill emane daemon for a given interface, instead of killall 2021-05-26 12:29:46 -07:00
Blake Harnden
777097c85e daemon: updated emane position hooks and updating nem position logic to live in emane manager 2021-05-26 12:22:36 -07:00
Blake Harnden
795a5f5865 daemon: refactoring for starting up and shutting down emane daemon per interface 2021-05-26 09:54:32 -07:00
Blake Harnden
820539191d daemon: adjustments to emane model post startup to accept an interface, since settings may be unique per interface, updated tdma to use this information for trying to initialize its tdma schedule properly 2021-05-25 12:14:28 -07:00
Blake Harnden
8d5c3bd212 grpc: update grpc call for get emane event channel to take in a nem id, since channels may now be unique per nem 2021-05-25 10:52:50 -07:00
Blake Harnden
bcd9cc7ac2 daemon: updates to provide new logic for emane event services, creating one per unique control channel, added mapping for nems to associated service for generated events 2021-05-24 21:41:05 -07:00
Blake Harnden
ef0fa8c1a7 daemon: updates to emane manager to setup ota/event control networks on nodes and host based on individual nem configurations 2021-05-21 22:57:27 -07:00
Blake Harnden
4ff650af67 pygui: removed global emane configuration dialog 2021-05-20 12:24:54 -07:00
Blake Harnden
6b5148566c daemon: adjustment for emane monitor shutdown to avoid locking 2021-05-19 20:49:18 -07:00
Blake Harnden
5bc3345d37 adjustments to remove global emane configuration, platform configurations can now be configured per nem, retrieve emane specific core settings from session options 2021-05-19 20:44:00 -07:00
Blake Harnden
071023b1d9 added platform config to emane models, to replace global config, moved core specific emane global configs to session options 2021-05-18 21:29:38 -07:00
Blake Harnden
e2a9f6b1f4 daemon: initial changes to support one emane process per nem 2021-05-18 09:48:38 -07:00
Blake Harnden
d16f6b234b daemon: fix for wlan to take loss value strings as floats 2021-05-11 23:57:35 -07:00
Blake Harnden
e5d28b01c6 pygui: removed host from gui, default node is now PC 2021-05-11 22:59:21 -07:00
Blake Harnden
5e843a7674 daemon: update to nftables update tracker to use a queue for more reactive changes 2021-05-10 23:31:11 -07:00
Blake Harnden
5286938e44 daemon: small cleanup to nftables management 2021-05-10 20:34:10 -07:00
Blake Harnden
11d8bb0674 daemon: renamed network variables to not be named in a private way, since they were being used externally 2021-05-10 15:18:15 -07:00
Blake Harnden
30291a8438 daemon: updates to switch from using ebtables to nftables for wlan linking/unlinking 2021-05-10 15:07:42 -07:00
Blake Harnden
208c746b67 daemon: fixed issue setting default config services if legacy services were specifically provided 2021-05-10 12:39:20 -07:00
Blake Harnden
5ffc3e2aa4 pygui: fixed issue with loading recent xml files 2021-05-10 12:07:55 -07:00
Blake Harnden
85c5ad22e4 daemon: adjustments to load local emane models and config services better using a full import 2021-05-07 22:49:58 -07:00
Blake Harnden
ad09bd5504 initial changes to mark older style services as deprecated and make configurable services the defaults for the python gui, added attribute to still allow supporting the legacy gui for time being and logic to compensate 2021-05-07 13:10:05 -07:00
Blake Harnden
13778e1d30 pygui: updated emane config dialog to sort emane models consistently 2021-05-07 10:58:23 -07:00
Blake Harnden
50e3aadc6b daemon: refactoring to load emane models one time during startup, updates to account for this change 2021-05-07 10:40:18 -07:00
Blake Harnden
1ddb7b7b24 daemon: small cleanup for service loading in CoreEmu 2021-05-06 16:05:13 -07:00
Blake Harnden
53ae6ac784 grpc: updated create session to return a session object with default values, avoids scripts needing to create and then join, can just create and leverage the returned object 2021-05-06 15:06:16 -07:00
Blake Harnden
598cb0f10d grpc: removed set session state, states are a by product of actions done within a session and probably best to automate that instead of relying on clients responsibly setting proper values 2021-05-06 11:39:18 -07:00
Blake Harnden
d40435fa68 grpc: removed add session server, achieved with start session providing servers for session 2021-05-06 10:56:51 -07:00
Blake Harnden
8108db545a grpc: combined get services and get config services into new get config call, that can be used to get all daemon configuration information 2021-05-04 16:58:51 -07:00
Blake Harnden
42dc56c56b grpc: removed set node config service, achieved with start session 2021-05-04 15:57:53 -07:00
Blake Harnden
805be3f809 grpc: removed get node config services, achieved with get node or get session 2021-05-04 15:42:32 -07:00
Blake Harnden
e299d3dd16 grpc: removed set node service file, achieved with start session, removed get node config service configs, achieved with get session 2021-05-04 15:02:23 -07:00
Blake Harnden
3e2cb86b6b grpc: removed set node service, achieved with start session 2021-05-04 14:55:12 -07:00
Blake Harnden
c574ace9a0 grpc: removed get node service configs, achieved with get session 2021-05-04 14:40:17 -07:00
Blake Harnden
9205fe1764 grpc: removed get mobility configs, achieved with get session 2021-05-04 14:27:46 -07:00
Blake Harnden
618d89b8db grpc: removed get model configs, can be achieved with get session 2021-05-04 13:51:17 -07:00
Blake Harnden
639b29a134 grpc: removed get wlan configs, achieved with get session 2021-05-04 13:36:10 -07:00
Blake Harnden
15acdaa40f grpc: removed old client, refactored wrapped client to be the new standard client, removed old client tests, updated documentation 2021-05-04 13:29:22 -07:00
Blake Harnden
917c45e70b grpc: updates to wrapper classes to help write client code in a more simple way using the consolidated api, updated examples to used the wrapped client 2021-05-03 15:25:18 -07:00
Blake Harnden
38e162aec5 grpc: removed get_node_links, added links to get_node instead 2021-05-02 20:58:24 -07:00
Blake Harnden
f271b0289e grpc: removed add hook and get gooks, can be achieved with get session and start session 2021-04-27 21:48:20 -07:00
Blake Harnden
634341dd03 grpc: removed set session metadata, now accomplished with start session 2021-04-27 21:08:58 -07:00
Blake Harnden
a217c2445c grpc: removed set session location, achieved with start session 2021-04-27 10:59:10 -07:00
Blake Harnden
e0fe86bcb2 grpc: updated start_session to have a definition option, to allow saving xml files and getting service configurations, without fully starting a session 2021-04-27 10:49:52 -07:00
Blake Harnden
f891974e3a grpc: removed set session user, added to start session 2021-04-24 22:35:45 -07:00
Blake Harnden
d8a3f9e78c grpc: removed set/get sessopm options, removed get session metadata/location, can be done with get/start session 2021-04-24 22:10:28 -07:00
Blake Harnden
d4c008e564 grpc: removed get/set session options, now accomplished through get_session and start_session 2021-04-24 21:37:00 -07:00
Blake Harnden
3d356272f1 pygui: adjust service configuration to not use grpc calls, data is saved and provided in start session call 2021-04-23 22:51:35 -07:00
Blake Harnden
4830538053 daemon: fixed issue in dhcp server subnet line using wrong address 2021-04-23 14:00:05 -07:00
Blake Harnden
dcf402ae04 daemon: fixed issue with dhcp service and dealing with addresses with a prefix of 32 2021-04-22 23:02:42 -07:00
Blake Harnden
7938379e6d grpc: added session options to session wrapped object, updated get_session and start_session to utilize this change, updated pygui to leverage as well 2021-04-22 16:12:33 -07:00
Blake Harnden
188914ccb1 updated default logging to be at warning level and removed need to adjust the paramiko logger 2021-04-21 21:14:32 -07:00
Blake Harnden
69652ac577 updates to python based logging to use module named loggers, updated logging config file to align with these changes 2021-04-21 21:09:35 -07:00
Blake Harnden
55d5bb3859 daemon: added non promiscuous as default when configuring wlan 2021-04-20 09:48:44 -07:00
Blake Harnden
25025c00bc Merge branch 'master' into develop 2021-04-15 22:21:40 -07:00
Blake Harnden
984d28275b pygui: fixed issue with saving services for custom nodes, fixed issue with setting default services present when selecting services for a custom node 2021-04-13 21:53:50 -07:00
Blake Harnden
44f81391c4 daemon: added grpc wrapped client tests, added new wrapped class ServiceFileConfig to consolidate associated data for its purpose 2021-04-01 13:37:19 -07:00
Blake Harnden
6086d1229b daemon: updated config.py to use dataclasses for config classes, updated naming and referencing. updated configurable options to self validate default values align with the config type. updated the example emane model to better align with the current state of things 2021-03-31 11:13:40 -07:00
Blake Harnden
bb3590fbde daemon: fix to correct rj45 link modifications from core-gui failing to include an iface id 2021-03-26 10:56:33 -07:00
Blake Harnden
f7f54d9aa6 pygui: updates to leveraged wrapped grpc client for proper type hinting without manual conversion 2021-03-26 10:43:45 -07:00
Blake Harnden
be0e0175a2 daemon: refactored node.nodedir to node.directory 2021-03-19 17:01:22 -07:00
Blake Harnden
a2148c6923 daemon: refactored session.session_dir to session.directory 2021-03-19 16:56:54 -07:00
Blake Harnden
1c970bbe00 daemon: refactoring to remove usage of os.path where possible and pathlib.Path instead 2021-03-19 16:54:24 -07:00
Blake Harnden
dc9089fcd1 daemon: added type hinting to globals in geo.py 2021-03-17 09:40:07 -07:00
Blake Harnden
1b025c47da daemon: fixed issue in some cases where core-gui would have a session reach shutdown state, without formally shutting down and removing the session directory 2021-03-12 09:51:55 -08:00
Blake Harnden
49659976d3 daemon: fixed issue with bad value check for generating sdt movement 2021-03-09 09:50:02 -08:00
Blake Harnden
b2626b8d0e daemon: fixed sdt link layer usage to avoid assigning links to not leaf layers, added type hinting to globals in sdt file 2021-03-09 09:36:03 -08:00
Blake Harnden
b163b06596 pygui: added simple error dialog call to app, also added blocking option for some error dialogs when needed 2021-02-19 10:35:59 -08:00
Blake Harnden
2387812a76 pygui: update to allow custom nodes to use icons from any directory 2021-02-19 09:31:58 -08:00
Blake Harnden
93813358b5 pygui: further refactoring around retrieving icon images 2021-02-18 23:07:55 -08:00
Blake Harnden
a6fadb76cc pygui: refactored images.py and fixed issue with recreating a default config.yaml every time the gui was started 2021-02-18 21:04:16 -08:00
Blake Harnden
47ac4c850d pygui: refactoring of nodeutils and its usage, fixed issue with drawing custom nodes and copying services 2021-02-18 10:47:20 -08:00
Blake Harnden
422a1a500e pygui: hide related wireless edges when hiding nodes, update to handle hiding wireless edges that are re-added when moving 2021-02-17 16:03:01 -08:00
Blake Harnden
7871a678ca pygui: updates to handle visibility toggles in relation to having nodes hidden, fix final position of a drawn edge when dragging to draw 2021-02-17 15:23:04 -08:00
Blake Harnden
4a21cd5789 pygui: updated sample1.xml to update the background stored due to multi canvas changes 2021-02-17 12:01:46 -08:00
Blake Harnden
27f7bdb004 pygui: fixed issue not properly sending service customization data when not runtime 2021-01-22 22:33:26 -08:00
Blake Harnden
ca004b3e96 pygui: fixed issue sorting node ids for edge token to avoid issues with edges defining nodes in a different order 2021-01-20 10:09:46 -08:00
Blake Harnden
e9bf50b3ff pygui: moved complete edge logic into the edge itself 2021-01-15 23:39:38 -08:00
Blake Harnden
fb3d593751 pygui: small cleanup for wireless edge creation 2021-01-15 22:49:01 -08:00
Blake Harnden
754b8ba91e pygui: fix bug if emane name happened to contain multiple underbars 2021-01-15 11:35:13 -08:00
Blake Harnden
097f248120 pygui: small cleanup to node utils to simplify usage where possible 2021-01-15 11:33:00 -08:00
Blake Harnden
0fee29754d pygui: moved shadow node code to same file as regular nodes 2021-01-14 23:46:25 -08:00
Blake Harnden
e7c721989f pygui: small cleanup to add some utility functions to edges 2021-01-14 23:31:53 -08:00
Blake Harnden
886b56cf8c pygui: fixed wireless nodes not linking with full netmasks, fixed assigning addresses for nodes connected to other nodes that may have had a full netmask 2021-01-14 13:28:06 -08:00
Blake Harnden
2b171631c7 daemon: fixed check for mobility looping 2021-01-13 21:47:16 -08:00
Blake Harnden
b7483c2715 pygui: adjust logging 2021-01-13 21:31:58 -08:00
Blake Harnden
cadbf8dd14 pygui: add node context and interactions to shadow nodes 2021-01-13 20:49:23 -08:00
Blake Harnden
a5098263fd pygui: sort services in node context menu during runtime 2021-01-13 10:51:47 -08:00
Blake Harnden
4007dc331b pygui: update to account for already used mac addresses that may collide with auto assigned addresses 2021-01-13 10:50:16 -08:00
Blake Harnden
878d943ee3 pygui: add services and their actions to container nodes during runtime 2021-01-12 23:51:09 -08:00
Blake Harnden
623cc13fca pygui: fixed issue deleting current session from sessions dialog, also now join session when deleting if present, or create new one when none are left 2021-01-12 22:43:27 -08:00
Blake Harnden
c2a40dbb6b daemon: removed usages of getattr and hasattr where possible 2021-01-12 21:30:48 -08:00
Blake Harnden
6f3246e329 pygui: further updates to support hiding nodes and related edges, added hidden nodes to metadata sent to daemon and parsed when joining a session 2021-01-09 20:35:24 -08:00
Blake Harnden
313768ea56 pygui: added logic to sort canvas tabs when joining a session to organize, removed editing a nodes canvas as it currently is not supported by either gui and causes issue in the python gui due to grpc editing of a node and how values are handled 2021-01-08 11:22:16 -08:00
Blake Harnden
35cc8fab65 pygui: fix redrawing edge labels for multiple canvases, updated edit menu to account for multiple canvases, fixed issue with not setting menubar state when joining a session, starting point for hide/show nodes and related edges 2021-01-08 10:10:46 -08:00
Blake Harnden
bc540e0669 Merge branch 'develop' into feature/pygui-multi-canvas 2021-01-07 15:28:05 -08:00
Blake Harnden
a660b01e93 pygui: validation of the node name field will allow - instead of _, - is valid while _ is not 2021-01-07 14:24:57 -08:00
Blake Harnden
44ee5308de pygui: adjustments to create gui home directories if not present and add new files that may have been added that do not exist 2021-01-06 10:24:06 -08:00
Blake Harnden
cba86a3da7 pygui: added simple black dot image to represent shadowed nodes in gui 2021-01-06 09:57:19 -08:00
Blake Harnden
acaef00087 pygui: fixed checking link options when joining a session, fixed stopping a session and deleting wireless links due to logic moved to being a part of wireless edge delete itself 2021-01-05 22:44:33 -08:00
Blake Harnden
3c97f80614 pygui: adjustments to help handle links between shadow nodes with initial desired behaviors 2021-01-05 15:42:46 -08:00
Blake Harnden
685b21924c pygui: refactored how edges determine if they are linked wireless, removed wireless network tracking that was not being used by the canvas manager, added helper function to nodes to check if they are of wireless type 2021-01-03 22:08:09 -08:00
Blake Harnden
63282134f5 pygui: added logic to reuse shadow nodes when linked between nodes on same canvas, added logic to avoid deleting shadow nodes when still linked to other nodes on same canvas 2021-01-02 12:59:15 -08:00
Blake Harnden
a2d9659fb7 pygui: cleaned up how edges get drawn to reuse logic, fixed clearing canvas manager edges between changing sessions, fixed deleting edge check for link interfaces 2021-01-02 10:46:05 -08:00
Blake Harnden
77e2b08d76 pygui: fixed deleting selected nodes due to logic changes 2021-01-02 10:05:40 -08:00
Blake Harnden
f24d5f20b4 pygui: updated logic to use new canvases when receiving node delete messages 2021-01-02 09:35:39 -08:00
Blake Harnden
a7d7b94215 pygui: fixed edge context, fixed node context, updated find to leverage multi canvas changes and select canvas of found node 2021-01-02 00:10:23 -08:00
Blake Harnden
62d111b74c pygui: fixed joining a multi canvas session in initial basic test case 2020-12-31 12:24:21 -08:00
Blake Harnden
2af7d595c0 pygui: cleaned up node label position for edge duplicate logic 2020-12-31 11:43:11 -08:00
Blake Harnden
3e2ea42ebd pygui: adjustments to have canvas manager manage all edges, allow shadow nodes to be moved, and updates to account for old usages of a universal canvas 2020-12-30 22:11:45 -08:00
Blake Harnden
f171c6111a pygui: created node function to check if it can be linked to another node 2020-12-17 22:32:25 -08:00
Blake Harnden
28d22c5800 pygui: initial add for link menu within node context menu 2020-12-17 17:23:37 -08:00
Blake Harnden
29ffd64b41 pygui: updates to capture canvas tab change events and set the statusbar zoom variable to be the current canvas 2020-12-17 14:56:54 -08:00
Blake Harnden
f9a4fe3331 pygui: initial canvas manager with a single tab by default, updates to how throughputs are handled related to canvases 2020-12-17 14:31:09 -08:00
Blake Harnden
2f9c169e66 pygui: improvement for loading canvas backgrounds and checking if a gui file or specific path 2020-12-17 13:27:23 -08:00
Blake Harnden
b937e316c4 pygui: cleanup for canvas metadata creation and parsing 2020-12-17 13:10:28 -08:00
Blake Harnden
367a2096fa pygui: added multi canvas support to shapes, updated how shape metadata is saved and loaded to align 2020-12-17 12:42:49 -08:00
Blake Harnden
4a8f8557a6 pygui: changes to support saving and loading canvas backgrounds to xml, canvas dimensions will apply globally 2020-12-17 12:25:11 -08:00
Blake Harnden
5d436dd94d Merge branch 'develop' into feature/pygui-multi-canvas 2020-12-17 09:02:29 -08:00
Blake Harnden
2e77907d72 daemon: removed unused variable in sdt code and update to avoid deadlock when deleting nodes due to sdt trying to leverage the same lock on reconnect 2020-12-16 21:32:47 -08:00
Blake Harnden
8eada3d754 Merge branch 'develop' into feature/pygui-multi-canvas 2020-12-16 13:29:50 -08:00
Blake Harnden
4ec9ea7b16 daemon: small cleanup to boot nodes logic, moved control interface creation to occur before service startup avoiding thread race conditions validating if an interface is for a control network 2020-12-16 10:19:17 -08:00
Blake Harnden
4b6afe4db7 daemon: fix for deleting an interface from rj45 node, better error messaging when trying to add an interface to a node that already exists 2020-12-15 09:34:42 -08:00
bharnden
4a9d16c78c
Merge pull request #539 from haveagr8day/master
Fix attribute exception in UDP TLV API Handler
2020-12-15 09:27:32 -08:00
Riley Baxter
ad839bbc07
Fix session id attribute name in UDP TLV API Handler 2020-12-14 13:08:52 -05:00
Blake Harnden
b01249bb4e added canvas to protobuf node messages, added node canvas id to grpc server handling, updating pygui to draw canvases based on joined session and add nodes to respective canvas 2020-12-12 23:17:43 -08:00
Blake Harnden
9621df6bc4 pygui: able to start session with multiple canvases, just using 1 canvas for now 2020-12-12 00:03:03 -08:00
Blake Harnden
6f43d0e88f pygui: added menu buttons to add/delete canvases 2020-12-11 22:54:52 -08:00
Blake Harnden
886bfc093b pygui: further refactoring to work towards multiple canvas support 2020-12-11 18:39:58 -08:00
Blake Harnden
e34c00a431 Merge branch 'develop' into feature/pygui-multi-canvas 2020-12-10 18:07:32 -08:00