Commit graph

2004 commits

Author SHA1 Message Date
Blake Harnden
0306f77147 daemon: adjustments for shutdown behavior to avoid issues when shutting down, when already shutdown for the various different cases, but to also make sure the pycore directory is removed 2020-09-24 14:17:15 -07:00
Blake Harnden
b195891b3b daemon: fix issue where control net bridges were not being removed during shutdown of legacy gui 2020-09-24 12:53:02 -07:00
Blake Harnden
0177b07f03 daemon: fixed issue with using the wrong emane network for a given emane connected interface 2020-09-24 11:54:49 -07:00
Blake Harnden
371ca72900 tests: update to fix grpc shutdown during tests, when not mocking 2020-09-15 13:07:08 -07:00
Blake Harnden
d43d854314 updated changelog, modified edit node to edit icon/canvas before node position, in case it gets broadcasted out 2020-09-15 07:27:07 -07:00
Blake Harnden
4dad3f5e9f tests: fixed unit test due to change of shutdown logic 2020-09-14 09:24:40 -07:00
Blake Harnden
ee59d6bf8b daemon: avoid shutting down sessions already in shutdown state, due to exit hooks potentially duplicating effort 2020-09-14 09:06:54 -07:00
Blake Harnden
2b1b027a11 docs: pass updating python examples to be the same as grpc examples and remove extra cruft to focus on simpler example code alone 2020-09-12 11:22:58 -07:00
Blake Harnden
828a68a0cd docs: pass on improving and providing doc based examples for common basic use cases, fixed issue with grpc defaulting session refscale to a very large number 2020-09-11 23:49:26 -07:00
Blake Harnden
9ea1915f48 bump versions for next release 2020-09-11 16:55:49 -07:00
Blake Harnden
0668d0a49b install: add option to support building a wheel from poetry and installing locally 2020-09-11 15:05:49 -07:00
Blake Harnden
d981d88a6f daemon: update how emane is started on nodes, fixing issue with multiple interfaces running emane, added test case to check on this in the future 2020-09-09 10:27:06 -07:00
Blake Harnden
82d87445b6 grpc: added some convenience functions for move node streaming in wrapped client 2020-09-05 10:34:08 -07:00
Blake Harnden
98a51ce17d grpc: implemented wrapper stream classes for using the wrapped client 2020-09-05 10:19:44 -07:00
Blake Harnden
c4a724ee10 daemon: added more wrapping classes, updated grpc.clientw to leverage wrapped classes for listened events 2020-09-02 12:08:21 -07:00
Blake Harnden
a80fda11f5 daemon: abstracted out iface specific configuration generation and parsing to common utilities, to avoid duplicate logic and potential differences that may arise 2020-09-02 09:44:45 -07:00
Blake Harnden
e775ad4c5d fixed invoke task to run emane tests, added emane xml tests for node/interface specific configurations 2020-09-01 17:47:24 -07:00
Blake Harnden
ba028a2b00 daemon: just assign emane model, instead of triggering position hooks during non-runtime cases 2020-09-01 17:16:05 -07:00
Blake Harnden
570ad9522c initial code for a wrapped grpc client, fix for pygui node emane config, fix for xml reading emane configs specific to nodes/interfaces, fix for adding emane nodes and setting the emane model properly 2020-09-01 16:19:01 -07:00
Blake Harnden
b0bac1d319 daemon: moved grpc wrapper classes to core.grpc.wrappers 2020-08-27 11:02:02 -07:00
Blake Harnden
f6992e7545 daemon: moved service boot error to core.errors with all other core specific errors 2020-08-27 10:46:55 -07:00
Blake Harnden
5300eef27e daemon: added a more specific error to be thrown when a service does not exist 2020-08-27 10:43:13 -07:00
Blake Harnden
534af7cc45 set dependencies to currently known working versions to help avoid possibilities for unaccounted cases 2020-08-21 20:52:59 -07:00
Blake Harnden
4836ac4f2e daemon: small doc change and fix to corehandlers.py sending back proper data for hooks 2020-08-21 14:28:01 -07:00
Blake Harnden
1c2a451fd3 bumped version to 7.1.0 2020-08-21 11:35:55 -07:00
Blake Harnden
05247524d7 updates to service dependency resolution to allow for multithreaded startup, also improved tests to validate service boot ordering for expected outcomes 2020-08-21 11:34:12 -07:00
Blake Harnden
f687115522 bump grpc worker limit to 1000, this does not mean it is a good idea to have this many connections, but at least helps allow trade offs for how to approach a problem 2020-08-20 16:18:20 -07:00
Blake Harnden
936d782e41 daemon: modified node service boot to properly order services and account for services with the same dependency without cycles, for now removed trying to simultaneously booting services 2020-08-18 13:18:41 -07:00
Blake Harnden
3e41d31c6c daemon: refactored missed LinkTlv INTERFACE_NAME fields to IFACE_NAME to match other refactoring done in 7.0.0 release 2020-08-17 20:04:42 -07:00
Blake Harnden
b98ff0f744 grpc: fixed issue with grpc throughputs checking session id matches using bad values 2020-08-10 12:46:21 -07:00
Blake Harnden
b89a19a18e grpc: update node events to include icon, pygui: updated handling node events to update icon when there is a change 2020-08-05 12:10:27 -07:00
Blake Harnden
8004be6e7c grpc: update client edit_node doc 2020-08-05 09:37:23 -07:00
Blake Harnden
5976bca34b pygui: added view toggle for normal links 2020-08-04 16:32:39 -07:00
Blake Harnden
cd0351c818 pygui: added view option to toggle wireless edges 2020-08-04 16:20:51 -07:00
Blake Harnden
e2b3a2dc6d pygui: fixed issues with configuring services on nodes due to refactoring changes 2020-08-04 12:29:08 -07:00
Blake Harnden
082677c17b pygui: fixed issue saving selected background to xml when not located within the ~/.coregui/backgrounds directory 2020-08-03 16:37:31 -07:00
Blake Harnden
4bcaa32fdb pygui: fixed issue in task handling a returned boolean value, should be doing a none check 2020-08-03 16:29:35 -07:00
Blake Harnden
f41ce8e3a6 daemon: add core python environment variable to be able to refer to the virtual environment executable 2020-08-03 16:04:07 -07:00
Blake Harnden
b7e3d1c877 pygui: fixed emane config dialog and emane model config dialogs to expand tabs the full height of the dialog 2020-08-02 10:47:01 -07:00
Blake Harnden
f0bc3bbc99 pygui: updates to leverage tk provided constants for sticky configuration, instead of duplicate strings everywhere 2020-08-02 10:36:14 -07:00
Blake Harnden
2aeb119b04 pygui: changes to display both link and asym link options on edges in canvas 2020-08-02 10:03:21 -07:00
Blake Harnden
06563d5953 pygui: fixed issue editing hook with a new name 2020-08-01 11:07:11 -07:00
Blake Harnden
fc44ad6fe8 pygui: update title to show xml file when one is opened, fixed issue creating nodes/links when not runtime due to refactoring, removed xml_file from coreclient and depend on the grpc GetSession wrapped data, grpc: added opened file information to GetSession call 2020-08-01 11:00:26 -07:00
Blake Harnden
04f7bc561b pygui: fixed exception from bad check when double clicking in sessions dialog 2020-07-31 23:23:18 -07:00
Blake Harnden
e7a93e7fd6 pygui: config dialogs that allow selecting a file default to ~/.coregui 2020-07-31 23:18:11 -07:00
Blake Harnden
eb422f5bab pygui: mac editing disabled for nodes during runtime 2020-07-31 23:13:07 -07:00
Blake Harnden
63103ab250 pygui: removed unused unlimited button from linkconfig dialog 2020-07-31 23:09:26 -07:00
Blake Harnden
46f896925c daemon: fixed mobility manager updates to support emane/wlan 2020-07-29 17:08:20 -07:00
Blake Harnden
d30778b238 daemon: fixed mobility checks to allow both wlan/emane, pygui: enabled emane nodes to configure mobility 2020-07-29 16:55:42 -07:00
Blake Harnden
fe36d28522 pygui: fixed issue with changes to protobuf files for getting emane model configs on a session 2020-07-28 22:45:42 -07:00
Blake Harnden
858e771efd pygui: fixes for copying links/asymmetric links, fixes for configuring asymmetric links, fixed issues adding nodes/links and editing links from gui due to not being able to identify same source changes 2020-07-28 21:49:34 -07:00
Blake Harnden
2f2bb06a5b Merge branch 'develop' into cleanup/pygui-session-wrapper 2020-07-28 16:48:04 -07:00
Blake Harnden
0db1ad1195 Merge branch 'release-7.0.1' into develop 2020-07-28 16:47:34 -07:00
Blake Harnden
511a3037a8 bumped versions for release 2020-07-28 16:35:46 -07:00
Blake Harnden
9e3e0e0326 install: fixed issue identifying python versions to install dataclasses for, using ~ should account for any version up to 3.7 properly 2020-07-28 16:34:05 -07:00
Blake Harnden
0d2dd70727 daemon: changes usage of running scripts using /bin/sh to bash to help provide consistency in what could be ran, added bash as a dependency in installation scripts, added bash as an executable check during startup 2020-07-28 16:13:37 -07:00
Blake Harnden
27495cbda1 pygui: changes around using session.nodes instead of canvas_nodes when possible 2020-07-28 10:24:01 -07:00
Blake Harnden
588afaad13 pygui: changes to make use of wrapped session object and wrapped nodes to maintain and retrieving configurations information 2020-07-28 00:03:15 -07:00
Blake Harnden
3bdd6292cd grpc: update GetSession to return all session related information, rather than needing 8 different calls, pygui: updated session protobuf wrapper to handle all new data 2020-07-27 18:19:51 -07:00
Blake Harnden
41a3c5fd7f pygui: added wrapper class for sessions returned by grpc GetSession 2020-07-26 11:45:40 -07:00
Blake Harnden
82a212d1cf pygui: modified usages of protobufs within coreclient to use module namespace to make more obvious, replaced config services and services with wrappers 2020-07-25 20:27:11 -07:00
Blake Harnden
a9a2fb8e46 pygui: added wrapper for throughput events, fixed sending nodes/links for configuration 2020-07-25 19:43:24 -07:00
Blake Harnden
77f6577bce pygui: added wrappers for most usages of protobufs within pygui 2020-07-25 10:30:14 -07:00
Blake Harnden
154fa8b77d pygui: replaced hook with wrapped hook class, fixed hook dialog edit 2020-07-24 22:00:38 -07:00
Blake Harnden
fff4bd7963 moved cpu usage to a grpc call that the gui will listen to, fixed grpc stream typing to be grpc.Future, fixed pygui issue for start callback when a start fails, but there are no exceptions 2020-07-23 09:41:39 -07:00
Blake Harnden
3544d00431 pygui: implemented cpu usage monitor to status bar 2020-07-22 21:57:05 -07:00
Blake Harnden
f8d862a296 grpc/pygui: added grpc alert api, updated pygui to better handle and display alerts 2020-07-22 19:19:22 -07:00
Blake Harnden
e34002b851 pygui: added option to launch core-pygui into a specific session using an id 2020-07-22 17:18:35 -07:00
Blake Harnden
165e404184 added example dockerfile and build command to readme 2020-07-22 12:49:11 -07:00
Blake Harnden
d5d5da7256 bumped version to 7.0.0 2020-07-21 10:08:12 -07:00
Blake Harnden
5e2ca0f549 daemon: refactored how to get required commands, added usage of this func for validating distributed servers when added 2020-07-18 11:56:48 -07:00
Blake Harnden
6d4434bc12 grpc: added set session user call, updated mobility to look for files within new gui as well, fixed pygui issue when start session has a grpc exceptions, showing and empty error window 2020-07-16 22:51:26 -07:00
Blake Harnden
36123e7aa5 updated frr daemons template file for the config service to align with changes to normal service 2020-07-16 14:21:06 -07:00
bharnden
e100defdec
Merge pull request #494 from apwiggins/patch-1
Update frr.py to add staticd to daemons list
2020-07-16 14:18:20 -07:00
apwiggins
fdf00cff0e
Update frr.py to add staticd to daemons list
Add staticd to the list of possible daemons to be started.
http://docs.frrouting.org/en/latest/setup.html#daemons-configuration-file
https://github.com/coreemu/core/issues/397
2020-07-16 18:00:12 -03:00
Blake Harnden
db4ef2b42e fixed core.conf commented out example path for core-pygui to use .coregui instead of .coretk 2020-07-16 10:02:56 -07:00
Blake Harnden
1212e5ddf8 fix to avoid setting interface data for a mac to the string None, when not present 2020-07-16 08:59:57 -07:00
Blake Harnden
be2f7e1cae simplified invoke install/uninstall task, since daemon no longer formally installs 2020-07-14 13:42:59 -07:00
Blake Harnden
80194b3e38 moved python black configuration to pyproject.toml and fixed bad exclude 2020-07-14 13:33:40 -07:00
Blake Harnden
f8b0ab6ec3 moved isort config from setup.cfg to pyproject.toml 2020-07-14 13:24:16 -07:00
Blake Harnden
fdd2e6f1f1 removed references for excluding utm.py as it is no longer present 2020-07-14 12:54:13 -07:00
Blake Harnden
873fc0e468 removed daemon MANIFEST.in, poetry will provide 2020-07-14 12:49:40 -07:00
Blake Harnden
8c50d08121 removed setup.py and requirements.txt as poetry will be where this information will live 2020-07-14 12:33:13 -07:00
Blake Harnden
7b3f934e95 updated pyproject.toml to align with setup.py as is 2020-07-14 12:13:41 -07:00
Blake Harnden
df01f04444 removed python buid/installation from makefiles, poetry will handle 2020-07-14 12:08:05 -07:00
Blake Harnden
125d74e7d5 removed pipenv specific files, wont be needed with poetry 2020-07-14 08:34:02 -07:00
Blake Harnden
dcf3568098 force grpcio related installations to all use the same version to avoid any version conflicts 2020-07-13 08:58:32 -07:00
Blake Harnden
5c58e99ad4 updated pre-commit file to use poetry environment 2020-07-11 22:11:23 -07:00
Blake Harnden
28281c6bde Merge branch 'develop' into enhancement/poetry-invoke 2020-07-11 15:04:43 -07:00
Blake Harnden
7398196dcc pygui: dont show mobility player when joining sessions not in runtime 2020-07-11 14:06:53 -07:00
Blake Harnden
9c13803e52 Merge branch 'develop' into enhancement/poetry-invoke 2020-07-10 16:02:51 -07:00
Blake Harnden
fe362a10d6 poetry changes to help force installing grpcio from binary packages, causing long build times on centos 2020-07-10 12:05:11 -07:00
Blake Harnden
7a21affbd4 pygui: update nodes to display assigned server name when not localhost 2020-07-08 08:46:30 -07:00
Blake Harnden
43b586a1a1 daemon: updated xml to write and read session configured distributed servers, updated pygui to send servers before session start or saving xml 2020-07-08 08:24:23 -07:00
Blake Harnden
fb21909dad invoke/poetry: updated version in toml file and added invoke commands 2020-07-07 23:38:12 -07:00
Blake Harnden
3949bd6d1b Merge branch 'develop' into enhancement/poetry-invoke 2020-07-07 19:44:41 -07:00
Blake Harnden
bb4514b93e daemon: changes to saving and restoring server used for nodes in xml 2020-07-07 15:16:17 -07:00
Blake Harnden
f1ff1a6577 pygui: only attempt to run observer commands on container nodes 2020-07-07 14:24:43 -07:00
Blake Harnden
6648dc7825 pygui: service and config service dialogs will now properly show services for default group selected 2020-07-07 08:46:47 -07:00
Blake Harnden
c761c55ebc tests: patch utils.which 2020-07-06 21:47:46 -07:00
Blake Harnden
0045c8d79c pygui: avoid trying to bring up a terminal for rj45 nodes 2020-07-06 21:37:04 -07:00
Blake Harnden
6f7e42d310 daemon: avoid command error logging when checking for emane version as validation for checking if emane is installed 2020-07-06 21:32:43 -07:00
bharnden
3590f2c370
Merge pull request #484 from coreemu/enhancement/runtime-emane-link
Enhancement/runtime emane link
2020-07-06 21:18:29 -07:00
Blake Harnden
8dc570a98d daemon: removed commented out code 2020-07-06 21:13:54 -07:00
Blake Harnden
b3a4b1cb10 daemon: updates to support running emane on the fly for a newly connected link 2020-07-05 21:56:22 -07:00
Blake Harnden
5cc4d92760 daemon: removed nem map from individual emane networks, all nems are stored and generated from the emane manager 2020-07-05 21:29:03 -07:00
Blake Harnden
fcda1f9f14 daemon: CoreInterface now defaults to a virtual transport type, added utility methods to check if an interface is virtual/raw, cleaned up all emane code using these types of checks 2020-07-03 09:08:36 -07:00
Blake Harnden
ac1c27b1c8 daemon: fixed issues when emane generated platform.xml for raw interfaces 2020-07-03 08:51:17 -07:00
Blake Harnden
ddcb0205f3 daemon: cleaned up emane stopdaemons logic 2020-07-02 23:32:59 -07:00
Blake Harnden
2b3e26b7c2 daemon: cleanup emane transport service in relation to refactoring, silenced stopdaemons for rj45 nodes 2020-07-02 23:19:40 -07:00
Blake Harnden
5f676b27ba tests: removed invalid patch due to emane refactoring 2020-07-02 22:15:12 -07:00
Blake Harnden
ce4b61d3b2 daemon: further heavy cleanup to how emane generates and runs xml files 2020-07-02 17:49:56 -07:00
Blake Harnden
bd48e14348 daemon: initial changes to rework logic to start emane for a given interface 2020-07-02 15:37:51 -07:00
Blake Harnden
e549830e33 core-cli: fix to avoid errors for querying nodes with peer to peer links, until there is a proper way to get the other ends node name 2020-07-01 15:20:53 -07:00
Blake Harnden
da9c0d0660 daemon: initial changes to breakout custom interface creation for networks that require it, without being emane specific 2020-07-01 14:40:19 -07:00
Blake Harnden
a870c15b43 pygui: fixed joining sessions with mobility players 2020-07-01 12:11:34 -07:00
Blake Harnden
08bbaf463b core-cli: updated xml command to use a flag argument to be consistent for now 2020-07-01 11:06:09 -07:00
Blake Harnden
7a6c602369 core-cli: cleaned up core client usage by way of a decorator, helps provide convenient grpc error catching 2020-07-01 11:01:44 -07:00
Blake Harnden
3477e84e9d core-cli: added wlan set/get config, fixed session option for node/link interactions 2020-07-01 09:30:05 -07:00
Blake Harnden
537291b219 core-cli: added open xml command to a session xml and optionally start it 2020-06-30 22:16:00 -07:00
Blake Harnden
f22edd1d25 grpc: fixed accidental breakage for get_session ptp links 2020-06-30 16:16:58 -07:00
Blake Harnden
4a0fdf3307 core-cli: add function for printing protobuf responses as json 2020-06-30 15:21:33 -07:00
Blake Harnden
beaebcfa24 grpc: added node_id and net2_id data to interface protos to allow querying a node to provide the node and networks an interface is associated with 2020-06-30 12:34:20 -07:00
Blake Harnden
ab17cb1053 grpc: grpc get_session will no longer return peer to peer nodes, they should be invisible to users, updated core-cli to print human readable links better 2020-06-30 09:50:28 -07:00
Blake Harnden
d480a1dd4c grpc: removed LinkOptions opaque as it was not being used 2020-06-30 09:38:22 -07:00
Blake Harnden
69721dc129 grpc: updated client edit_node to have source as last parameter to be consistent with source placement on all other functions 2020-06-30 09:32:56 -07:00
Blake Harnden
aef3fe8d50 updated core-cli to use consistent shorthand options and existing longform options 2020-06-30 09:25:36 -07:00
Blake Harnden
ec845b920c removed ip mask options from core-cli add link, combined with ip and will parse input to provide simpler interface 2020-06-30 08:27:40 -07:00
Blake Harnden
59e7395a4f initial addition of core-cli script that can be used to run commands and query information with sessions using grpc, similar in concept to coresendmsg 2020-06-29 23:00:33 -07:00
Blake Harnden
c8daeb02d8 grpc: fixed issue with not catching error in delete_node from broadcast changes 2020-06-26 22:29:17 -07:00
Blake Harnden
5eae67aac5 grpc/pygui: updated add_node source support, updated pygui to handle add_node events 2020-06-26 22:11:36 -07:00
Blake Harnden
e79645013b grpc/pygui: updated delete_node to use the source, updated pygui to support delete node events 2020-06-26 21:45:29 -07:00
Blake Harnden
f4a3fe6b7b grpc/pygui: edit_link will now broadcast link changes, pygui now handles receiving this data 2020-06-26 15:14:30 -07:00
Blake Harnden
f921fa45c5 grpc: updated client methods to allow passing source for add_link/delete_link, None by default 2020-06-26 14:44:13 -07:00
Blake Harnden
aebbff8c22 grpc/pygui: shifted source field in node events to base event message to apply to all events, updated add_link/delete_link rpc calls to broadcast events, updated pygui to handle these events 2020-06-26 14:39:12 -07:00
Blake Harnden
eac941ce72 pygui: updates to show wireless edges in details panel, increased edge thickness to be the same as normal edges for selection to be easier 2020-06-26 09:13:38 -07:00
Blake Harnden
f4224d1b80 daemon: updated ovs option to be a formal session option, will now display within gui, save to and be read from xml 2020-06-25 22:05:10 -07:00
Blake Harnden
b94d4d3507 daemon: updated open xml with start flag to set instantiation state before running instantiate to be consistent with other cases 2020-06-25 21:34:45 -07:00
Blake Harnden
3bfc299bfd daemon: fixed typo in core.configservices.securityservices 2020-06-25 16:22:56 -07:00
Blake Harnden
98e4baca04 pygui: added services to node info panel 2020-06-25 15:05:24 -07:00
Blake Harnden
f582306bb9 pygui: added support for a details pane, can be toggled on/off, can be used to quickly view details for nodes or links 2020-06-25 10:35:01 -07:00
Blake Harnden
bb2ceaf993 pygui: draw link options on edges 2020-06-23 22:53:48 -07:00
Blake Harnden
6490b5b9cb pygui: fixed and changed custom service copy to focus only on copying the current file displayed from any other nodes with a customized version 2020-06-23 16:11:39 -07:00
Blake Harnden
60d9fe2026 pygui: clear throughput labels when disabling throughput 2020-06-23 14:48:27 -07:00
Blake Harnden
7215f852b8 grpc: added check for emane pathloss when nem id is None and throw an error 2020-06-23 13:34:40 -07:00
Blake Harnden
9649337f18 daemon: updated xml to save links using consistent iface1/2 naming, still fallback to reading interface_one/two 2020-06-23 13:31:31 -07:00
Blake Harnden
14573184e0 pygui: fixed syning session location settings when not in runtime mode, for saving xml 2020-06-23 13:28:41 -07:00
Blake Harnden
8e2cfa61c9 pygui: size and scale meter width and height are no longer editable, but will dynamically update with changes to related size/scale values 2020-06-23 10:09:16 -07:00
Blake Harnden
6dd6bc87ab daemon: renamed executable variables to be simpler 2020-06-23 09:35:11 -07:00
Blake Harnden
8f19ad057c daemon: cleaned up requirement check, updated github workflow to modify correct file 2020-06-23 09:24:40 -07:00
Blake Harnden
e0c9f9c832 daemon: moved executable check to CoreEmu and separated them into their own module core.executables 2020-06-23 09:11:37 -07:00
Blake Harnden
c43dd60a42 daemon: small adjustment in sdt.py 2020-06-22 21:47:03 -07:00
Blake Harnden
1ef66181c6 daemon: moved QUAGGA_STATE_DIR from constants.py to quagga service files 2020-06-22 21:39:29 -07:00
Blake Harnden
2145c07cb7 daemon: moved FRR_STATE_DIR from constants.py to frr service files 2020-06-22 21:36:39 -07:00
Blake Harnden
f39ab1dee6 pygui: limit rj45 node to 1 link 2020-06-22 21:13:24 -07:00
Blake Harnden
27e35a5213 pygui: session options dialog is disabled during runtime 2020-06-22 19:40:42 -07:00
Blake Harnden
344f35e93e pygui: updated ConfigFrame to have a disabled display option, updated nodes to stil show emane config during runtime, updated emane dialog and config dialogs to be in a viewable but disabled state during runtime 2020-06-22 19:04:55 -07:00
Blake Harnden
527d34e374 pygui: added type hinting to class variables for core.gui.dialogs 2020-06-22 11:04:33 -07:00
Blake Harnden
11be40bc90 pygui: added class variable type hinting to core.gui.graph 2020-06-19 23:24:07 -07:00
Blake Harnden
0356f3b19c pygui: added type hinting to everything under base core.gui 2020-06-19 22:08:24 -07:00
Blake Harnden
adfce52632 daemon: removed utils.validate_mac and shifted tests to test_nodes 2020-06-19 15:41:41 -07:00
Blake Harnden
0d4a360e89 daemon: removed utils.validate_ip and shifted tests to test_nodes 2020-06-19 15:32:17 -07:00
Blake Harnden
1829a8e2f8 daemon: refactored CoreInterface.mac from a string to a netaddr.EUI object, providing more functionality 2020-06-19 15:21:45 -07:00
Blake Harnden
cfda9509a2 daemon: refactored TunTap setaddrs to set_ips to be more consistent with new naming 2020-06-19 13:52:59 -07:00
Blake Harnden
f07176dd43 daemon: provide safe fallback for emane install ifaces, in case external configuration does not exist 2020-06-19 13:51:11 -07:00
Blake Harnden
cd6083aed9 daemon: fixed issue not checking if an emane interface is a TunTap before using a specific function, fixed issue not looking for possible iface specific configuration for external 2020-06-19 13:44:28 -07:00
Blake Harnden
88fe860f97 fixed examples using IpPrefixes class 2020-06-19 13:25:47 -07:00
Blake Harnden
19af9c3f51 daemon: added proper checks for FRRService calls 2020-06-19 11:18:39 -07:00
Blake Harnden
9e4429fbbc daemon: refactored InterfaceData.get_addresses to InterfaceData.get_ips 2020-06-19 11:11:45 -07:00
Blake Harnden
20feea8f12 daemon: refactored usages of addr to ip and updated functions to align 2020-06-19 10:54:58 -07:00
Blake Harnden
d88f3a2535 daemon: refactored CoreInterface.addrlist storing strings into CoreInterface.ip4s and ip6s, stored as netaddr.IPNetwork objects 2020-06-19 08:50:36 -07:00
Blake Harnden
ca2b1c9e4c daemon: refactored all_link_data to links 2020-06-18 21:33:28 -07:00
Blake Harnden
b2ea8cbbf6 daemon: added type hinting throughout config services 2020-06-18 14:15:45 -07:00
Blake Harnden
cd74a44558 daemon: added type hinting throughout all services and made small tweaks/fixes that were ran across 2020-06-18 12:54:36 -07:00
Blake Harnden
e46a072f74 daemon: removed missing params from python docs, updated node ValueErrors to CoreErrors 2020-06-18 09:33:54 -07:00
Blake Harnden
ecc3eb1c89 daemon: refactored NodeData to reference a node instead of replicating fields as an intermediate passthrough, removed data() functions from nodes due to this change 2020-06-18 09:06:31 -07:00
Blake Harnden
3d7d775bfb daemon: removed unused variables from LinkOptions 2020-06-18 00:15:44 -07:00
Blake Harnden
5d34a2b752 daemon: removed opaque from NodeBase, since it is not used 2020-06-17 22:59:50 -07:00
Blake Harnden
b92ff0586a daemon: renamed NodeData.node_type to type, removed NodeData/NodeOptions fields that were not being used for clarity 2020-06-17 22:43:13 -07:00
Blake Harnden
a64047e221 fixed issue with xorp service depending on old MacAddress class 2020-06-16 23:27:17 -07:00
Blake Harnden
f4671ab2b8 daemon: refactored usages of hwaddr to mac and be consistent everywhere 2020-06-16 23:25:26 -07:00
Blake Harnden
a1734c3bc0 grpc: updated Interface proto fields to be more consistent with code, ip4mask to ip4_mask, ip6mask to ip6_mask, netid to net_id, flowid to flow_id 2020-06-16 22:05:36 -07:00
Blake Harnden
351b99aae0 daemon: renamed LinkData.link_type to LinkData.type and removed LinkOptions.type to remove redundant information, link_type param added to session.add_link, delete_link, and update_link functions 2020-06-16 21:53:12 -07:00
Blake Harnden
a29a7a5582 refactored LinkOptions to be used within LinkData, instead of duplicating data, removed session from LinkOptions and LinkData 2020-06-16 14:18:19 -07:00
Blake Harnden
eeca33e722 combined core.emulator.data and core.emulator.emudata, updated LinkData to leverage InterfaceData, instead of repeated interface fields, removed session from LinkData and LinkOptions 2020-06-16 12:50:24 -07:00
Blake Harnden
0725199d6d initial sweeping changes to call all usages of various interface related variables and functions (netif, interface, if, ifc, etc) to use a consistent name iface 2020-06-16 09:30:16 -07:00
Blake Harnden
0462c1b084 daemon: added usage of ABC to NodeBase, CoreNodeBase, and CoreNetworkBase to help enforce accounting for abstract functions 2020-06-14 13:35:06 -07:00
Blake Harnden
f5916fab5b daemon: added not implemented methods to CoreNodeBase 2020-06-14 12:44:51 -07:00
Blake Harnden
cf41948894 daemon: fixed error with EmaneNet startup throwing an error, updated Rj45Node and PhysicalNode to implement all abstract methods 2020-06-14 12:36:07 -07:00
Blake Harnden
c4c667bb74 daemon: removed node.startup from inside constructor, session is now responsible, providing more control and avoiding issues when using super calls where you dont want to start just yet 2020-06-14 09:37:58 -07:00
Blake Harnden
3243a69afa daemon: updated xml files to use node1 and interface1 instead of node_one and interface_one, will still fallback to parse old names 2020-06-14 00:46:11 -07:00
Blake Harnden
8587da0621 daemon: moved node instantiation into lock to guarantee id uniqueness, removed node count from environment as it also attmpts to use lock and wouldnt be accurate either 2020-06-13 23:50:08 -07:00
Blake Harnden
d94bae6b42 daemon: added class variable type hinting to core.services.coreservices 2020-06-13 22:25:38 -07:00
Blake Harnden
91f1f7f004 daemon: added global type hinting to core.emulator.session and core.api.grpc.server 2020-06-13 22:01:07 -07:00
Blake Harnden
8d48393525 daemon: updated usage of if1/2 to be consistent with interface1/2 for now 2020-06-13 21:53:09 -07:00
Blake Harnden
5df2e36083 daemon: fixed session.add_event parameter to be specific to node_id 2020-06-13 21:48:51 -07:00
Blake Harnden
83f66d33f7 merged latest from develop 2020-06-13 18:07:21 -07:00
Blake Harnden
e18ffaafce daemon: xml files will now write and read loss, but fallback to looking for per for compatibility 2020-06-13 17:41:13 -07:00
Blake Harnden
23d957679e daemon: Session cleanup, removed unused functions, used context managers for writing files, made variables used externally no longer private 2020-06-12 20:22:51 -07:00
Blake Harnden
178d12b327 daemon: updated variables for InterfaceData to be denote data to make it more clear 2020-06-12 17:32:55 -07:00
Blake Harnden
876699e8ef variable/grpc cleanup to rename everything using spelt out numbers instead of actual numbers 2020-06-12 16:52:41 -07:00
Blake Harnden
76305f7257 converted usages of per to loss 2020-06-12 12:49:53 -07:00
Blake Harnden
b28ef76d65 daemon: added class variable type hinting to core.config 2020-06-12 10:05:49 -07:00
Blake Harnden
6201875b78 daemon: added class variable type hinting to core.emane 2020-06-12 09:52:01 -07:00
Blake Harnden
ef3cf5697d daemon: added class variable type hinting for core.xml 2020-06-12 08:54:06 -07:00
Blake Harnden
cfaa9397ad daemon: added class variable type hinting to core.api.grpc 2020-06-12 08:34:02 -07:00
Blake Harnden
e72e332bab daemon: removed need to use getaddr for CoreInterface.othernet as it now has a default of None 2020-06-11 19:12:51 -07:00
Blake Harnden
00cda5c550 fixed test_link name 2020-06-11 19:08:50 -07:00
Blake Harnden
c64094ac1c daemon: updated session.delete_link to have the interface ids default to none, since only one may need to be provided, updated link tests to account for more cases 2020-06-11 19:01:38 -07:00
Blake Harnden
ccf2646c00 daemon: refactored add_link,update_link,delete_link to have more specific logic, refactored CoreNodeBase to have newnetif and for it to return the interface created 2020-06-11 13:59:29 -07:00
Blake Harnden
9ed42cfba8 pygui: avoid issue when joining opened xml that has a node with no ip4 address 2020-06-10 11:04:33 -07:00
Blake Harnden
39fd11efb3 daemon: added missing type hint to core.nodes.interface.CoreInterface 2020-06-10 10:40:24 -07:00
Blake Harnden
a389dc6240 daemon: improve type hinting for WayPoint 2020-06-10 10:31:13 -07:00
Blake Harnden
784c4d2419 daemon: added core.location class variable type hinting 2020-06-10 10:24:44 -07:00
Blake Harnden
fd341bd69b daemon: added class variable type hinting to core.plugins 2020-06-10 09:01:38 -07:00
Blake Harnden
6ee9590bdc daemon: finished class variable type hinting for core.nodes 2020-06-10 08:52:51 -07:00
Blake Harnden
452e0720f2 daemon: added type hinting to DistributedControll and removed bad logic looking for tunnels during add_link 2020-06-09 21:03:19 -07:00
Blake Harnden
32ad8a9b68 daemon: added type hinting to Session 2020-06-09 20:03:32 -07:00
Blake Harnden
a79ba1b8d3 daemon: added type hints to CoreEmu 2020-06-09 19:48:29 -07:00
Blake Harnden
4cc9d3debf added pydoc for grpc client InterfaceHelper 2020-06-09 18:59:14 -07:00
Blake Harnden
f73c617ecf daemon: removed utils.make_tuple and last remaining usage 2020-06-09 18:53:42 -07:00
Blake Harnden
d71d84fae7 daemon: updated IpPrefixes and InterfaceHelper to remove duplicate code 2020-06-09 18:40:50 -07:00
Blake Harnden
21da670698 daemon: renamed link_options to options in both session.add_link and session.update_link 2020-06-09 13:46:26 -07:00
Blake Harnden
2965273f58 daemon: CoreNetworkBase.linkconfig now takes a LinkOptions object, removed usage of emudata.link_config 2020-06-09 13:41:31 -07:00
Blake Harnden
3be15a1316 daemon: update CoreNode.newnetif to require parameters, CoreNode.newnetif now depends on being provided InterfaceData 2020-06-09 12:42:15 -07:00
Blake Harnden
3691c6029f updated corexml InterfaceData instantiation to use named params 2020-06-09 10:48:50 -07:00
Blake Harnden
7d2034df71 daemon: updated NodeOptions to leverage dataclass 2020-06-09 10:45:18 -07:00
Blake Harnden
b5e53e573a daemon: LinkOptions now leverage dataclass and has type hinting, improve test_gui type hinting 2020-06-09 09:12:31 -07:00
Blake Harnden
18044f9474 daemon: cleaned up InterfaceData class, it now leverages dataclass, removed extra bloat and no longer requires parameters as they are optional 2020-06-09 08:48:18 -07:00
Blake Harnden
6ddf1ac9a4 removed IdGen class, added simple function to find next valid node id 2020-06-09 00:56:34 -07:00
Blake Harnden
7ffbf457be update to netclient existing bridge check to avoid using the -j flag, which requires version 4.7+ vs 4.5+ that we currently expect 2020-06-08 09:55:05 -07:00
Blake Harnden
bf1bc511e2 removed configuration option for number of for corehandler threads as it cannot properly deal with anything more than 1, updated man pages to current 6.4 versions for now 2020-06-05 14:34:19 -07:00
Blake Harnden
75d5bced9c grpc doc improvements, grpc examples additions, small tweak to grpc client for setting emane models not requiring a config when using default configuration 2020-06-05 11:20:23 -07:00
Blake Harnden
9a5fc94ba2 improvements for grpc docs and upates to grpc client pydocs 2020-06-05 08:44:19 -07:00
Blake Harnden
eaa05c34ba avoid piping subprocess command output when not waiting for results 2020-06-04 21:14:11 -07:00
Blake Harnden
7b2dd59c81 grpc: node_command improvements to include return code and options for wait and shell when running commands 2020-06-04 13:48:25 -07:00
Blake Harnden
29d09c8397 updates to move_nodes and emane_pathlosses type hinting and naming 2020-06-03 14:58:29 -07:00
Blake Harnden
3b0ca1638c grpc: implemened initial support for streaming emane pathloss events 2020-06-03 14:35:17 -07:00
Blake Harnden
1884103cb4 grpc: added call to stream node movements using geo/xy and tests to validate usage, fixed potential exception when not setting session geo ref and using conversions 2020-06-03 08:47:36 -07:00
Blake Harnden
0d2bcccf3e added initial files to support transitioning to using poetry/invoke to provide an environment for core 2020-06-02 14:48:57 -07:00
Blake Harnden
c6a06baf29 add geo to grpc calls getting node values, updated emane position hook to set lon/lat/alt values 2020-05-30 14:24:38 -07:00
Blake Harnden
82c33345be merged latest from develop 2020-05-29 23:47:31 -07:00
Blake Harnden
73a5567084 added network policy enum to avoid string usage 2020-05-29 23:22:21 -07:00
Blake Harnden
b034ba6cc3 turned transport type usages of raw and virtual across the board to an enumerated type 2020-05-29 22:48:00 -07:00
Blake Harnden
8ad3f7961a renamed netclient create_interface to set_interface_master to better describe its purpose 2020-05-29 22:07:50 -07:00
Blake Harnden
10fd844397 further type hinting for tests 2020-05-29 21:41:58 -07:00
bharnden
048fc1aaf9
Merge pull request #458 from coreemu/enhancement/rj45-cleanup
changes to make rj45 maintain the interface information, instead of t…
2020-05-29 21:30:36 -07:00
Blake Harnden
b88df84d62 removed logs from emane network all_link_data 2020-05-29 14:42:38 -07:00
Blake Harnden
183ffda570 daemon: changes to support providing emane wireless links in all_link_data, which makes it accessible over grpc 2020-05-29 11:48:00 -07:00
Blake Harnden
4ab415e37d grpc: updated node events to contain geo data when present 2020-05-28 16:12:11 -07:00
Blake Harnden
7e4ef0b280 changes to make rj45 maintain the interface information, instead of trying to be 2 classes at once 2020-05-25 23:18:20 -07:00
Blake Harnden
8fed201fd8 added type hints to class variables in nodes/physical.py 2020-05-25 11:33:59 -07:00
Blake Harnden
f95a8113c9 added type hinting to nodes/network.py class variables 2020-05-25 11:17:28 -07:00
Blake Harnden
2e78025249 started type hinting on class variables for nodes/base 2020-05-25 00:16:58 -07:00
Blake Harnden
ba8b16ec34 added some type hinting with tests to help in refactoring in the future 2020-05-24 23:37:38 -07:00
Blake Harnden
964f78f06a added othernet to CoreInterface to avoid hasattr checks 2020-05-23 01:14:47 -07:00
Blake Harnden
c580e15f8e moved common variables up and localname to CoreInterface, they were being created in all subclasses and avoids type hinting errors 2020-05-23 01:05:46 -07:00
Blake Harnden
37ff989aa4 fixed bad check in linkconfig 2020-05-23 00:19:32 -07:00
Blake Harnden
26b0868f65 removed devname from linkconfig as the only usage was of it was using a parametr that was already being passed in 2020-05-23 00:00:40 -07:00
Blake Harnden
dd13bc8379 moved linkconfig to CoreNetworkBase and made linkconfig defined the same across the board 2020-05-22 23:44:10 -07:00
Blake Harnden
fe09b37819 removed bootsh from CoreNode types as it was not being used 2020-05-21 22:41:03 -07:00
Blake Harnden
56fbc0e3c5 docker changes to avoid issues running commands without mount and running containers as prvileged to allow changing files in /sys 2020-05-21 22:26:54 -07:00
Blake Harnden
70bd837f02 Merge branch 'enhancement/type-checking-node-retrieval' into develop 2020-05-21 07:39:15 -07:00
Blake Harnden
bcd9e4ceb1 fixed session.add_hook to not require a source, since it was not typically used an None was being passed, cleaned up some bad type hinting in related to session.py 2020-05-21 00:20:05 -07:00
Blake Harnden
4b6ba90331 fixed bad type hint for EventData 2020-05-20 23:27:17 -07:00
Blake Harnden
d5016bf44f removed pointless wlan instance check in grpc wlan_link api since it is already being done when retrieving the wlan node 2020-05-20 22:36:04 -07:00
Blake Harnden
c07766e1eb updated session.add_node to use better type hinting and force usage of classes directly, instead of indirectly through NodeTypes 2020-05-20 22:14:03 -07:00
Blake Harnden
d5254e6a91 changes to support better type checking for retrieving an arbitrary node from a session, get_node now requires an expected class that the node would be an instance of, if the returned node is not an instance a CoreError is thrown, this also helps editors pick up expected types to account for variable/function usage better as well 2020-05-20 14:44:34 -07:00
Blake Harnden
0a792f7b3f updates to grpc rpc wlan link, added node class type checking and hinting in grpc server code 2020-05-19 22:36:10 -07:00
Blake Harnden
d14056393b added grpc call to allow direct control of nodes connected through wlan to be linked or not 2020-05-19 16:46:44 -07:00
Blake Harnden
8bae0611a4 pygui: updated icon for observers tool on run menu, added observers to run menu and created custom observers widget 2020-05-19 00:35:48 -07:00
Blake Harnden
773f733cb8 pygui: changes to leverage common icon scaling function, fix issue with scaling toolbar 2020-05-18 23:25:42 -07:00
Blake Harnden
cde053da73 pygui: implemented toolbar based marker configuration, fixed some issues when switching between different node bar states 2020-05-17 23:08:53 -07:00
Blake Harnden
bd897efd05 pygui: allow shapes to be moved in annotation/select modes and nodes in node/select modes 2020-05-17 10:21:54 -07:00
Blake Harnden
d0520bf21d pygui: fixed resizing toolbar with custom node selected 2020-05-17 08:51:51 -07:00
Blake Harnden
34f86174a2 pygui: cleaned up color picker layout 2020-05-17 00:28:03 -07:00
Blake Harnden
8979c86187 pygui: fixed issue with moving text shapes 2020-05-17 00:11:28 -07:00
Blake Harnden
41df8a57b8 pygui: revert change to keep references for created interfaces properly 2020-05-16 23:59:36 -07:00
Blake Harnden
06e3d84862 pygui: fixed interface creation after deletion, fixed issue reusing deleted subnets 2020-05-16 23:35:19 -07:00
Blake Harnden
91220078f1 pygui: created a singular func for ordering items on canvas by tags, updates so that drawing edges are behind nodes 2020-05-16 14:12:08 -07:00
Blake Harnden
50816b3b80 pygui: cleaned up toolbar picker code, fixed closing app when a picker is showing 2020-05-16 01:14:48 -07:00
Blake Harnden
29fc5acb99 pygui: toolbar cleanup for buttonbar frames 2020-05-15 23:23:07 -07:00
Blake Harnden
4eaecd6a7b pygui: simplified a couple of the other widget constructors 2020-05-15 14:46:35 -07:00
Blake Harnden
0dcfcbf4ea pygui: simplified toolbar constructor, since there is no need for something more complicated 2020-05-15 11:43:54 -07:00
Blake Harnden
ee5d5b9864 pygui: removed duplicate get_icon functionality, added more type hints, added enable/disable of toolbar button when running start/stop 2020-05-15 11:41:18 -07:00
Blake Harnden
5e69ea48b3 pygui: fixed tracking for throughputs when joining a session 2020-05-14 23:07:21 -07:00
Blake Harnden
3b1a9bc3e3 pygui: changes to improve grpc event handling 2020-05-14 17:57:32 -07:00
Blake Harnden
df03f1e173 pygui: improvements to handling grpc events and updating gui 2020-05-14 16:24:22 -07:00
Blake Harnden
433fe4ae58 pygui: removed undesired logging in interface manager 2020-05-13 23:59:00 -07:00
Blake Harnden
95d3a6ca8c updates to force CoreCommandError to contain string values for stderr and stdout, couple bugfixes in handling bad commands when using execute commands from tlv based api or coresendmsg, also updates to coresendmsg to display everything in lowercase to mimic previous look and feel, however coresendmg will now work regardless of casing to avoid breaking things again 2020-05-13 12:01:28 -07:00
Blake Harnden
454dc8091e coresendmsg: small usage cleanup, removed printing enum values when listing tlvs, updated examples to use current expected values 2020-05-13 09:25:56 -07:00
Blake Harnden
fa163c3ed6 pygui: update file dialogs to hide hidden files by default and provide a hidden file toggle 2020-05-12 08:31:53 -07:00
Blake Harnden
22d813df63 pygui: updated validation to be wrapper classes around ttk.Entry for convenience and less code 2020-05-11 22:00:52 -07:00
Blake Harnden
150db07497 pygui: updated canvas size and scale dialog to allow negative values for lon,lat,alt 2020-05-11 16:02:23 -07:00
Blake Harnden
124d655dc6 fixed issue when sorting hook when saving to xml, due to enum refactoring, updated test case to hit this potential issue in the future 2020-05-11 12:41:57 -07:00
Blake Harnden
88a98fff82 docs: added initial documentation for the python beta gui based on prior gui documentation 2020-05-11 12:26:05 -07:00
Blake Harnden
a36674aba9 pygui: adjustment to compensate for ip4/ip6 address not being present on joined links 2020-05-11 08:33:56 -07:00
Blake Harnden
5d99244596 removed docker service and associated documentation, was not functioning and will cause confusion with new support in the new GUI 2020-05-09 21:50:16 -07:00
Blake Harnden
0aba1aa928 pygui: updated gui home directory to ~/.coregui and changed config file name to config.yaml from gui.yaml to be more explicit 2020-05-08 09:08:01 -07:00
Blake Harnden
4379ef32e9 pygui: removed restriction on wlan nodes context linking to mdrs only, since custom nodes and other types may be configured and desired to be linked in the same way 2020-05-08 08:29:45 -07:00