Commit graph

1857 commits

Author SHA1 Message Date
Blake Harnden
5a07929fde added emane examples for various emane topics when used within core 2020-10-04 18:31:34 -07:00
Jeff Ahrenholz
ae336c2cf8 add support for /tmp/pycore.nnnnn/environment file, DRY up env merges 2020-10-02 09:51:01 -07:00
Blake Harnden
00433bfd99 added note about docker issue in install doc, bumped version to 7.2.1 2020-09-28 23:14:20 -07:00
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