Commit graph

1871 commits

Author SHA1 Message Date
Blake Harnden
90d2d5f0dc updated example service to use ExampleService naming and type hinting, removed older type hinting within docs, updated example service in documentation 2020-10-11 11:07:02 -07:00
Blake Harnden
8597c5c1a8 pygui: updated edge labels to just use a set distance from nodes 2020-10-11 10:05:57 -07:00
Blake Harnden
1543dfcc94 daemon: removed loading environment log statement until isolated for entire session 2020-10-11 08:35:46 -07:00
bharnden
dde74f0927
Merge pull request #514 from coreemu/feature/add-session-environment-support
add support for /tmp/pycore.nnnnn/environment file, DRY up env merges
2020-11-07 09:38:15 -08:00
Blake Harnden
ea44f1b6e7 daemon: updated environment reading to leverage pathlib, also added .coregui user environment as a possibility 2020-10-11 08:22:33 -07:00
Blake Harnden
0c847cfb37 pygui: fixed wlan/emane linked nodes drawing link options for invisible links when joining session or clearing throughput 2020-10-10 06:15:59 -07:00
Blake Harnden
26c2997a42 update to controlnet names on host machine to be more obvious to their purpose, ctrl<index>.<short session id> 2020-10-10 05:31:26 -07:00
Blake Harnden
4e79865035 updated radvd config service to match recent change to radvd standard service 2020-10-07 15:28:04 -07:00
bharnden
c25cb3d657
Merge pull request #517 from gsomlo/gls-frr-dir
radvd: ensure existence of [/var]/run/radvd/ directory on startup
2020-10-17 10:23:09 -07:00
Gabriel Somlo
c1864857e1 radvd: ensure existence of [/var]/run/radvd/ directory on startup 2020-10-09 18:09:17 -04:00
Blake Harnden
f2868a9554 daemon: fixed issue where emane global config settings were not being sent to core-gui when joining a session 2020-10-05 20:15:55 -07:00
Blake Harnden
93a5d1fb01 docs: cleanup of some of the emane demos, added antennaprofile demo example 2020-10-04 22:42:09 -07:00
Blake Harnden
ce7736a95e Merge branch 'develop' of https://github.com/coreemu/core into develop 2020-10-04 18:54:41 -07:00
Blake Harnden
552d8f60d2 daemon: change to generate transport definition for external transports, which allows emanegentransport to function properly 2020-10-04 18:53:31 -07:00
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