Commit graph

362 commits

Author SHA1 Message Date
Blake Harnden
1375af51cb added grpc to get emane event channel being used 2020-02-14 16:22:28 -08:00
Blake Harnden
ebafa228ff added files/directories to grpc set_node_service 2020-02-14 13:40:10 -08:00
Blake Harnden
71aeb98bb9 updates to grpc add_link to return created interface data 2020-02-14 13:18:05 -08:00
Blake Harnden
6020496b6f fixed sdt issue core gui, fixed sdt message sending for python3 2020-02-05 14:40:37 -08:00
Blake Harnden
45fb32c834 renamed config service dependency finder method to startup_paths, added pydocs to config service related methods 2020-01-27 11:44:00 -08:00
Blake Harnden
d7d0a55fd2 updates to support saving config services to xml, loading config services from xml, retrieving config services from coretk when joining a session 2020-01-21 17:32:12 -08:00
Blake Harnden
0ea2f73a80 added modes to config services that allows them to decide sets of configurations 2020-01-21 14:00:55 -08:00
Blake Harnden
80a4955bd4 updated coretk to working order for configuring config services from coretk 2020-01-21 11:58:43 -08:00
Blake Harnden
da107cc1d9 updates to config services dialogs in coretk, initial working state for running config services from the coretk gui 2020-01-21 10:35:46 -08:00
Blake Harnden
83e7853821 fixed protobuf generation to avoid grpc generation for files with no definitions, added service config tab display to coretk 2020-01-20 16:25:56 -08:00
Blake Harnden
a4f3abf27c updated config service grpc to return default templates and config, added logic to check for local custom templates 2020-01-20 15:54:47 -08:00
Blake Harnden
7b5df11dc7 added files to config services, added default logic for creating files from templates, added new method to provide extra data to templates, updated gui to display templates raw 2020-01-20 15:02:04 -08:00
Blake Harnden
0e6d1535db added grpc to get current config services for a node 2020-01-19 19:27:57 -08:00
Blake Harnden
0af6a7a620 improved gitignore for generated proto files, added new initial separate config service proto, incorporated into grpc api 2020-01-18 13:52:15 -08:00
Blake Harnden
f4ddf310a8 removed rtype and param typing from doc strings to help avoid maintaining duplicate information provided by type hints 2020-01-16 11:00:57 -08:00
Blake Harnden
dcabd8d6f8 updates to add type hinting to uses of Callable 2020-01-15 11:56:23 -08:00
Blake Harnden
dafd5dff9f merged latest from develop 2020-01-14 22:19:49 -08:00
Blake Harnden
d4bce0d25c updated grpc client to have a proxy flag, updated coretk script to have a flag to enable proxy, disabled by default 2020-01-14 22:15:00 -08:00
Blake Harnden
03c4d8768d finished grpc server func type hints 2020-01-13 21:33:15 -08:00
Blake Harnden
c0fcc91d10 added type hinting for core.nodes 2020-01-13 14:08:49 -08:00
Blake Harnden
4e71759ac9 updates for typing functions on top level modules 2020-01-13 10:06:18 -08:00
Blake Harnden
ab3659183e function typing for some of the grpc code 2020-01-11 23:49:51 -08:00
Blake Harnden
583a552bdb disable grpc client from using proxy settings 2020-01-10 20:25:34 -08:00
Blake Harnden
de493c810a changes to replace MacAddress usage and remove ipaddress module altogether 2020-01-08 17:33:49 -08:00
Blake Harnden
fd10663323 changes to replaces known usages of ipaddress, leaving only ipaddress.MacAddress 2020-01-08 13:25:00 -08:00
Blake Harnden
769572de02 added get_interfaces to grpc client 2020-01-07 12:03:51 -08:00
Blake Harnden
6d68034177 updated start proto to return exception strings, updated grpc start session to exist early when a failure is found, updated coretk ui to not switch ui to running when start fails and display error dialog 2019-12-20 15:11:34 -08:00
Blake Harnden
513eaf2b76 improved coretk gui alerts to display alert text when selected, fixed merged code for adding a check to cleanup interfaces, updated session.exceptions to use enums directly 2019-12-20 10:51:52 -08:00
Blake Harnden
8eb4df7b1d updated linkconfig to support asymmetric links, updated grpc start session to provide asymmetric links, since they currently depend on being processed as a link edit 2019-12-18 22:09:00 -08:00
Blake Harnden
69494b600f fixes for parsing grpc throughputs 2019-12-16 13:26:55 -08:00
Blake Harnden
44df926fb9 updated events streamed from sessions to include session id for easy identification 2019-12-16 12:21:03 -08:00
Blake Harnden
424f69bb15 updated grpc throughputs to only check a specific session and verify the data being collected and sent is for that session, fixed data from throughputs being in hex getting converted to int, updated coretk to only run throughputs when enabled, updated grpc streams to return the stream to allow it being canceled 2019-12-16 11:14:05 -08:00
Blake Harnden
85521e8c8f added grpc to get current service configurations, fixed bug for core daemon not using custom service configs 2019-12-13 18:17:42 -08:00
Blake Harnden
47cc20b567 updates to grpc event streaming, client can now listen to a subset of desired events 2019-12-13 16:11:58 -08:00
Blake Harnden
9d988a4b13 fixed issue in grpc get emane model configs that would allow key collision 2019-12-13 14:18:13 -08:00
Blake Harnden
9ada94107e changes to grpc get emane model configs to return the interface value and actual node id, instead of coded value that would need to be parsed 2019-12-13 14:03:41 -08:00
Blake Harnden
9b16f272b8 added get wlan configs, made use of it in coretk, updated node context to allow wlan config during runtime 2019-12-13 11:48:36 -08:00
Blake Harnden
b993fadedb removed grpc check for getting a node service file, it will return the default value when not currently set 2019-12-13 11:24:35 -08:00
Blake Harnden
819954a695 updated grpc node positions to use floats, avoids needing to deal with int conversions 2019-12-13 10:47:23 -08:00
Blake Harnden
d343bd0655 updated gui to display custom icons if set, updated grpc to send custon icon and image data when present 2019-12-13 08:48:40 -08:00
Huy Pham
2344e026ff check emulation light, fix one line of backend code 2019-12-12 16:17:33 -08:00
Blake Harnden
45a23a6c14 updated usage of time.time to time.monotonic or time.perf_counter due to time.time possibly rolling backwards 2019-12-06 09:42:41 -08:00
Blake Harnden
d1db5e4b4e added some data for node events to have a source field to help distinguish what originates from the gui or not 2019-11-27 12:55:39 -08:00
Blake Harnden
da203d578e fixed issue with node event tests when position is None 2019-11-27 09:15:19 -08:00
Blake Harnden
8b7d651d06 fixed issue with nod emobility location calculations being forced to use ints 2019-11-27 09:05:37 -08:00
Blake Harnden
9445b63bd2 removed saving default configurations for wlan and mobility by default, updated session.add_node to set default configurations for wlan and emane 2019-11-21 12:29:33 -08:00
Blake Harnden
aa718817d0 updates to implement working observer widgets 2019-11-11 13:23:02 -08:00
Blake Harnden
18c9904d58 modified grpc set node service and node service file to use messages for their config, updated start session to leverage these messages to set them when starting a session 2019-11-11 10:19:30 -08:00
Blake Harnden
ea39f8fc6f updated corehandlers.py to no longer use threading.isAlive, which is pending deprecation 2019-10-30 15:49:08 -07:00
Blake Harnden
79dfbaa3ec switched session.metadata to just be a standard dict, fixed shutdown service issue during session.data_collect 2019-10-30 13:27:12 -07:00
Blake Harnden
fe95f246d4 added grpc get/set session metadata 2019-10-30 12:01:01 -07:00
bharnden
c0516255f2 added emane model configs and mobility configs to grpc.StartSession 2019-10-29 14:40:37 -07:00
bharnden
adbab066c9 added wlan configs to grpc.StartSession 2019-10-29 13:37:37 -07:00
bharnden
de936ea315 added hook creation and set location to grpc.StartSession 2019-10-29 12:35:07 -07:00
bharnden
4e03dc6888 updates to grpc StartSession, added utility threadpool function to help improve speed when running certain tasks, made use of utility threadpool function where needed 2019-10-29 10:25:39 -07:00
bharnden
236ac7919a moved grpc utility functions into grpcutils, updated StartSession to threadpool node and link creation 2019-10-28 23:11:15 -07:00
Blake Harnden
934ea96558 changes to support a simpler start/stop session API 2019-10-28 15:18:57 -07:00
bharnden
fff281a452 removed master from corehandlers and session, since it will not be needed any more 2019-10-25 22:06:30 -07:00
bharnden
5c12651e4e updates to session.clear to clear out all configuration data as well, updated session.shutdown to use clear, updated tests to account for this 2019-10-24 13:05:02 -07:00
bharnden
7366738023 updated network to network link to not look for Rj45, since that wont happen, removed unwanted grpc client function 2019-10-23 11:24:50 -07:00
bharnden
68be311c7a updated usages of super to use python3 variation 2019-10-23 09:51:52 -07:00
bharnden
6a0a9e7698 updated all classes to be created without using (object), in python3 all classes are new style classes 2019-10-23 09:31:34 -07:00
bharnden
14d759667c refactored session.update_node to session.edit_node to match grpc call 2019-10-22 20:55:06 -07:00
bharnden
cb81095b64 refactored NodeData and NodeOptions to use server instead of emulation_server 2019-10-22 20:50:01 -07:00
Blake Harnden
ab0abd65aa modified session.add_node parameter node_options, to just be options 2019-10-22 15:31:50 -07:00
Blake Harnden
f39b7e9f96 updated open_xml functionality, grpc open_xml can optionally start now, added opened files to grpc get_sessions 2019-10-22 12:08:55 -07:00
Blake Harnden
0a689a3e96 updates to grpc to provide a consistent config response, mapping config ids to ConfigOptions 2019-10-22 09:57:41 -07:00
Blake Harnden
233ca92fd2 update grpc to allow for configuring and created distributed nodes 2019-10-21 12:51:38 -07:00
Blake Harnden
78f981463d renamed utils.check_cmd to utils.cmd, updated host_cmd to allow for shell commands for output redirection 2019-10-21 10:32:42 -07:00
Blake Harnden
3fc0ca5cec fix to get_node over grpc to avoid issues with nodes that dont have services 2019-10-21 09:51:52 -07:00
bharnden
6006710c32 changed net_cmd to host_cmd and node_net_cmd to cmd, for simpler more logical naming 2019-10-18 23:28:09 -07:00
Blake Harnden
73b2eff312 fix for corehandlers.py session_clients access 2019-10-18 16:25:38 -07:00
Blake Harnden
5633d4d18b converted format strings to f strings 2019-10-18 12:55:35 -07:00
Blake Harnden
07b4408076 f string updates to all but services complete 2019-10-18 12:44:13 -07:00
Blake Harnden
da946f1f56 removing builtins imports 2019-10-17 15:02:24 -07:00
Blake Harnden
6edd6a7fdb first pass at removing all python2 specific dependencies, updating python requirements.txt/setup.py/Pipfiles/Makefiles, and removing python2 compat imports 2019-10-17 14:52:31 -07:00
Blake Harnden
5d5ffb70c2 update to grpc edit_node to allow editing icon and broadcasting a node update for all to listen to a change 2019-10-17 13:00:20 -07:00
bharnden
8a3183c8b3 Merge branch 'enhancement/distributed-flask' of https://github.com/coreemu/core into enhancement/distributed-flask 2019-10-17 12:13:26 -07:00
Blake Harnden
e94a6d1afa separated distributed session logic into its own class to help reduce session.py size as it is already too big 2019-10-17 11:10:59 -07:00
Blake Harnden
774dd8330c removed broker.py 2019-10-16 20:26:14 -07:00
Blake Harnden
0b8bc7bd13 updated corehandlers to allow sdt snooping to help mimic previous behavior 2019-10-15 15:02:38 -07:00
Blake Harnden
b2d2705849 removed broker from session, updated most places using broker to use alternative logic to compensate where needed 2019-10-15 14:13:42 -07:00
bharnden
1b428c120b merged latest from develop 2019-10-12 14:39:29 -07:00
bharnden
4e4fcddd00 added grpc api for creating emane link/unlink messages, which will be sent to the gui for being added/removed 2019-10-12 08:56:39 -07:00
bharnden
fee56302a1 fix for wlan configuration issues 2019-10-12 08:03:20 -07:00
bharnden
5b3308a231 updated linkconfig to use string commands, fixed issues for wlan configuration 2019-10-11 22:27:04 -07:00
Blake Harnden
02ef91242e initial changes to convert all commands to be string based for consistency 2019-10-11 16:36:57 -07:00
Blake Harnden
4a6d69bb09 removing cmd_output function from utils and nodes 2019-10-11 09:34:49 -07:00
Blake Harnden
f6cdeb23de changes to update commands to leverage either node_net_cmd/net_cmd 2019-10-10 15:25:12 -07:00
Jeff Ahrenholz
0bbb686bda fix exception when trying to run Python script from GUI 2019-10-08 13:05:37 -07:00
Blake Harnden
a798774f18 updates to tone down warning logs to debug in broker.py and session.py 2019-09-30 12:58:13 -07:00
Blake Harnden
1fb99e8690 converted info to debug for some corehandlers logging 2019-09-30 10:06:10 -07:00
bharnden
503fa754a9 updates to fail early for required executables that are not in PATH 2019-09-27 23:29:15 -07:00
bharnden
050297587d consolidated EmaneNode and EmaneNet, renaming EmaneNode to EmaneNet 2019-09-27 22:31:56 -07:00
Blake Harnden
b961a8a959 updated broker.py logging to not be as noisy by default 2019-09-27 15:31:19 -07:00
bharnden
b14012e5e9 removed node map file and utilities, added formal class methods to session objects and added checks for specific classes where needed 2019-09-26 13:00:12 -07:00
Huy Pham
b333859d86 finish up server.py and fix 2 broken links 2019-09-16 12:55:00 -07:00
Huy Pham
edcb3d3472 updates on python comments 4:20pm friday 2019-09-13 16:21:07 -07:00
Huy Pham
813ddc10c6 Merge branch 'develop' into pydocupdates 2019-09-13 11:07:43 -07:00
Huy Pham
1843b5f709 further updates to python docs and docs files 2019-09-13 11:07:04 -07:00
Blake Harnden
32bfa4b2f9 fixed exception catches for get_node expecting KeyError to expect CoreError 2019-09-12 15:48:09 -07:00
Huy Pham
2bfcc9ef24 Merge branch 'develop' into pydocupdates 2019-09-12 10:24:23 -07:00
Huy Pham
b43a686d6b initial documentation improvements 2019-09-12 10:23:46 -07:00
bharnden
0d5692e7e8 updates to try and clean up info logging, moved some statements to debug 2019-09-11 15:05:05 -07:00
bharnden
3776e1dda7 moved emane dependent tests into subdir, moved pytest config into setup.cfg, added CoreError and made use of in session.py 2019-09-11 13:12:42 -07:00
bharnden
dee91e97bf changes to fix flake8 issues 2019-09-10 21:01:51 -07:00
bharnden
1fc8d647c3 added flake8/black, pre-commit integration for flake8/black, and black formatting changes 2019-09-10 15:10:24 -07:00
bharnden
d5055f85d3 pass over files using isort 2019-09-10 14:20:51 -07:00
Blake Harnden
bcd2584eb8 grpc - add rpc to get local non-core interfaces 2019-07-12 13:02:15 -07:00
Blake Harnden
02668c9c3c grpc - initial support for container node types 2019-07-11 13:09:04 -07:00
Blake Harnden
0d24ca3387 grpc support for docker/lxc 2019-07-10 13:58:27 -07:00
bharnden
836133c97d reverting a change that caused switching sessions within gui to break 2019-07-05 09:00:14 -07:00
Blake Harnden
ca10ef4e9e finished initial pass on adding tests to help run through and validate tlv message handling 2019-06-25 12:29:46 -07:00
Blake Harnden
4f4605163f fixed issues executing xml from gui, added more tests for testing message handling 2019-06-24 15:49:12 -07:00
Blake Harnden
05c6233908 added utility method to replace execfile for python2/3 support 2019-06-21 09:29:19 -07:00
Blake Harnden
c57089284f updates to rename utils.hash to utils.hashkey to avoid builtin conflict 2019-06-21 08:51:56 -07:00
Blake Harnden
a5f26e664a updated logic for creating tunnel keys to use a consistent hashing method, since the builtin hash is not guaranteed in python3 as it was before in python2 2019-06-20 13:22:20 -07:00
Blake Harnden
b5acdf0c3d updated tests for running distributed to working order and adding simple emane case 2019-06-19 17:34:33 -07:00
Blake Harnden
948b1126ba changes to support not modifying controlnet configuration messages and avoid issues with setting the master meane config when dealing with distributed emane 2019-06-18 10:33:16 -07:00
bharnden
0af3629ac6 corefx - fixed some issues loading xml due to grpc change, updated subnet logic to help handle loaded scenarios. grpc - fixed issue when loading network links 2019-06-15 10:42:55 -07:00
Blake Harnden
6288e11bcc grpc - fixed issue when handling wlan configurations 2019-06-14 14:14:00 -07:00
Blake Harnden
fca79fcf94 small change for possibility of runtime mobility configuration 2019-06-11 15:55:11 -07:00
Blake Harnden
38c58d9603 fixed tlv api changing wlan config during runtime, fixed for grpc as well and added grpc test 2019-06-11 13:11:36 -07:00
bharnden
191d392c46 updated grpc node x,y types, added new grpc session position type, grpc updated link options to use int, fixed corehandlers handling of dup, fixed corexml type handling for link options, updated mobility config types to correlate with link options 2019-06-08 16:56:39 -07:00
Blake Harnden
e62ae42bdc merged latest from master 2019-06-07 10:05:40 -07:00
Blake Harnden
db7bfe12bd pass on updated pydocs to reflect path changes 2019-06-07 08:59:16 -07:00
bharnden
d1114bd804 fixed byte/str issue in coreapi tlv mac addr 2019-06-04 10:55:08 -07:00
bharnden
f5efecabf0 byte string fix in coreapi, different approach to urlparse compatibility to avoid other issues 2019-06-03 21:22:11 -07:00
Kevin Larson
c4c1a10f05 Added compatible idioms for configparser and queue to support both python2 and python3 2019-06-03 18:22:25 -07:00
Blake Harnden
597bd21994 updated logging.warn to logging.warning due to deprecation in python3, fixed python 2/3 filter issue in tests, fixed utf decoding for some missed popen commands 2019-06-03 14:36:21 -07:00
Blake Harnden
69b1297002 updated protobuf to use string instead of bytes for 2/3 compatibility for now, updated default service in grpc tests, fixed byte string issues for python3 in coreapi 2019-06-03 13:34:54 -07:00
Blake Harnden
7efec88e79 merged latest from develop 2019-06-03 13:06:11 -07:00
Blake Harnden
bb5e68ad8b 2/3 fixes for ip address and mac byte handling 2019-06-03 11:49:43 -07:00
bharnden
7a0edd5927 fixed bad logic introduced into interface setparams, fixed grpc edit link test 2019-06-02 22:20:00 -07:00
bharnden
3de37f0f5e fixed basestring check for 2/3 compatibility 2019-06-02 19:23:49 -07:00
bharnden
ecc63f4abb updates to support 2/3 along with not using vcmd c extension 2019-06-02 19:06:25 -07:00
bharnden
864c7b69a1 updated Queue and ConfigParser to use 2/3 compatible imports 2019-05-05 21:49:42 -07:00
bharnden
b58d32c156 updated socketserver to 2/3 compliant 2019-05-05 21:37:45 -07:00
bharnden
1e98175e35 refactored usages of iteritems, itervalues, and iterkeys to be 2/3 compliant 2019-05-05 21:23:43 -07:00
bharnden
8d6bf54a16 removed usage of longs, updated int instance checking and octal constants to be 2/3 compliant 2019-05-05 17:11:07 -07:00
bharnden
e58cbe9421 added future library to support python2/3, updated xrange calls to leverage builtins range 2019-05-05 16:19:12 -07:00
bharnden
66e603906a updates to layout core module packages in a more logical way, including renaming methods from objects to nodes and nodes.objid to nodes.id 2019-04-29 23:31:47 -07:00
bharnden
37f747c212
Update coreapi.py
fixed get_tlv using enumerated type instead of value
2019-02-12 20:38:00 -08:00
bharnden
05a5574155 cleanup of core.api, core.emulator, core.pnodes 2018-10-11 14:49:22 -07:00
Blake J. Harnden
4b9cf996d1 updates to account for config messages in core handlers that dont contain all configuration options 2018-06-07 15:32:16 -07:00
Blake J. Harnden
44781d0aec set default logging to INFO, cleaned up logging to help isolate debug type messages to DEBUG level, fixed issue with shutdown 2018-04-27 12:09:31 -07:00
Blake J. Harnden
67d451c3e9 fixed old log imports and dont bail out on tdma model exception 2017-08-08 09:17:09 -07:00
Blake J. Harnden
e4b280196b switched to making use of logzero for logging, provides nicer color output, and an easier path to switch to rotating log files 2017-08-07 11:58:51 -07:00
Blake J. Harnden
4d21314798 fixed renaming issue with sessionid to session_id 2017-08-02 12:25:57 -07:00
Blake J. Harnden
97f3c3a070 fixed issue with sending the wrong type flag from cleaning up configuration request code in services 2017-05-05 15:14:27 -07:00
Blake J. Harnden
8ade6f4f02 fixed bug with unpacking objects introduced while cleaning things up, added a basic gui broker test that depends on an existing daemon running 2017-05-03 15:29:15 -07:00
Blake J. Harnden
4ae7958a63 quick base to try and help flesh out documentation under core.* 2017-05-03 09:30:49 -07:00
Blake J. Harnden
00f4ebf5a9 initial commit after bringing over cleaned up code and testing some examples 2017-04-25 08:45:34 -07:00
Rod A Santiago
d17ed889d2 remerged with git pending fix to distributed configuration problem 2016-10-19 16:21:06 -07:00
Rod A Santiago
5d0aa4ac1a Reverted changes due to merge with github commits made on Oct 12. An issue with distributed deployment seem to have been introduced in those commits. 2016-10-19 13:09:21 -07:00
Tom Goff
d33147154c daemon: Add an instantiation-complete CORE API event type.
Have CORE servers send an instantiation-complete event after a session
has completed instantiating.  Only enter the runtime state after
instantiation-complete events have been received form all servers.
2016-10-12 17:36:59 +00:00
Rod A Santiago
c66914ec21 daemon: added option API TLVs so that per-interface parameters are kept for EMANE models when a single node has multiple interfaces of the same EMANE model type but different model parameters 2016-04-20 08:33:58 -07:00
tgoff0
db03927892 daemon: Fix encoding MAC addresses for CORE API messages. 2015-03-09 15:20:33 +00:00
ahrenholz
a9ea208a08 added reconfigure event type, for re-generating service config files
added new Event Message handling for starting mobility model or reconfiguring
  a service during runtime
(Boeing r1806)
2013-12-05 23:44:25 +00:00
ahrenholz
536ff20fff change API version to 1.23
change jitter to 64-bit value to align with delay in Link Message
added unidirectional link flag TLV to Link Message
(Boeing r1795)
2013-12-02 21:08:00 +00:00
ahrenholz
f9e7c36204 (Boeing r1776)
bump CORE API version number to 1.22
2013-09-25 17:35:56 +00:00
ahrenholz
f8f46d28be initial import (Boeing r1752, NRL r878) 2013-08-29 14:21:13 +00:00