Commit graph

269 commits

Author SHA1 Message Date
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
68be311c7a updated usages of super to use python3 variation 2019-10-23 09:51:52 -07:00
Blake Harnden
ce411a07d7 removed session.create_wireless_node, can be achieved simply without needing this function 2019-10-22 15:13:28 -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
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
7d2a615716 more updates to using f string 2019-10-18 10:33:31 -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
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
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
Blake Harnden
6570f22ccf refactor fabric distributed to use a class and update sessions to create and provide these to nodes 2019-10-14 15:43:57 -07:00
bharnden
2bfd050880 updated missed commands to be string based 2019-10-11 22:37:33 -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
d326f246a7 removed node based check_cmd, updated to use appropriate function 2019-10-11 12:57:37 -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
Blake Harnden
bc58693339 updated emane config files to be generated for remote servers, fixed services not using node remote server compatible commands 2019-10-10 11:53:52 -07:00
bharnden
95296988c5 updates to Pipefile.lock and for nodes to add server to constructor 2019-10-05 11:16:57 -07:00
bharnden
4079df9739 added pydocs for netclient 2019-10-01 15:38:23 -07:00
bharnden
e4bb315c14 updates to netclient, providing commonly used network commands in more convenient functions 2019-10-01 12:14:37 -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
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
Blake Harnden
fcee44775a changes to logging, moving logs to debug and removing setnemposition logging that could spam output 2019-09-13 13:13:59 -07:00
Blake Harnden
32bfa4b2f9 fixed exception catches for get_node expecting KeyError to expect CoreError 2019-09-12 15:48:09 -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
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
913ca51b1c cleanup for docker/lxd code being used, tweaks to running container commands 2019-07-02 16:05:45 -07:00
Blake Harnden
407cfa5fe1 updated emanemanager to add server prefixes to control nets, when control nets are not configured 2019-06-19 13:52:51 -07:00
Blake Harnden
14fc16832d updated long to use lon in emane code to avoid name conflicts in 2.7 2019-06-19 08:22:28 -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
Blake Harnden
db7bfe12bd pass on updated pydocs to reflect path changes 2019-06-07 08:59:16 -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
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
1e98175e35 refactored usages of iteritems, itervalues, and iterkeys to be 2/3 compliant 2019-05-05 21:23:43 -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
9517740704 initial refactor for all variables named objid 2019-04-26 22:07:51 -07:00
bharnden
6672fd0f7a updates to allow configuration of installed emane_prefix for default models, requires small tweaks to custom models 2019-04-08 09:49:37 -07:00
bharnden
7aee2b2ba7 updated logging usage, to use the library directly and avoid imposing a core config by default, allowing users of the core library to configure logging as desired 2019-02-16 09:50:19 -08:00
bharnden
03d0e90db5
Merge pull request #198 from coreemu/bugfix/reduce-default-core-daemon-logging
quiet core-daemon by replacing warn messages with debug
2018-11-14 15:26:50 -08:00
bharnden
12cc40d3d3 cleaned up core.emane, core.services, core.xml, fixed bug introduced in coreobj.py 2018-10-11 17:26:34 -07:00
Jeff Ahrenholz
18d4908bf8 quiet core-daemon by replacing warn messages with debug 2018-10-09 10:13:12 -07:00
Blake J. Harnden
08b27ad0d7 fixed issue with emane location events and publishing node data 2018-08-07 10:51:33 -07:00
Blake J. Harnden
f1863a874d removed unwanted logging 2018-07-25 15:24:54 -07:00
Blake J. Harnden
087a0f011b added back in core emane address creation, only when not external 2018-07-24 13:34:33 -07:00
Blake J. Harnden
3d59a68299 refactored how getters for configurations worked, to avoid setting defaults and causing undesireable states 2018-07-11 21:34:21 -07:00
Blake J. Harnden
b03662dbeb removed emane nodes netif install and setaddrs, install was always skipped and setaddrs is done by zebra/quagga 2018-07-11 09:24:44 -07:00
Blake J. Harnden
bfbee35a53 updates to support external transport configuration and an emane transport service to generate and run emanetransport for a configured external transport model 2018-07-11 09:19:06 -07:00
Blake J. Harnden
d988ff86d1 added documentation to emanexml 2018-07-06 11:56:09 -07:00
Blake J. Harnden
875a880250 refactored emane xml configurations into an isolated file, using lxml 2018-07-06 11:41:32 -07:00
Blake J. Harnden
f115b1a847 emane xml fully generated from lxml apis, removed xml functions embedded within emane nodes, emane manager, and emane models. Started consolidating emanexml logic into its own module, when it makes sense 2018-07-03 18:49:36 -07:00
Blake J. Harnden
ae94c78fbb updated emane model xml to leverage lxml 2018-07-03 12:48:54 -07:00
Blake J. Harnden
d05bc9240a initial code to leverage lxml to create xml for saving and loading core sessions 2018-06-28 16:30:55 -07:00
Blake J. Harnden
82c3d57dd3 setup a simple default way for dealing with configurable options and added conifg group opbjects as a better way to access the same information formatted within a string 2018-06-14 08:41:48 -07:00
Blake J. Harnden
25cfb21586 added modelmanager for both mobility and emane to leverage and reduce duplicate logic 2018-06-13 16:17:47 -07:00
Blake J. Harnden
3a39432fc7 refactored configs back to be able to provide instance conifgurations for sessions 2018-06-13 11:59:50 -07:00
Blake J. Harnden
eb415aa4d4 merged session config/options together 2018-06-12 08:37:39 -07:00
Blake J. Harnden
981e48ed30 removed the emane manager from post_startup on emane models, it was not needed, since we can access it from our local session object, if needed 2018-06-11 12:26:51 -07:00
Blake J. Harnden
52230bc026 refactored configuration managers and options into a single class, now the models that can be configured will deal with and handle configurations for nodes themselves 2018-06-11 12:26:12 -07:00
Blake J. Harnden
1b843e2868 updated logic so emane will always use the last model configured for a node, fixes issue when using gui and configuring multiple models 2018-06-08 14:21:41 -07:00
Blake J. Harnden
52bfd1edf4 refactored get_config_types to get_all_configs and NewConfigurableManager back to ConfigurableManager 2018-06-08 10:30:41 -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
7abf4bca16 updates to get all tests working with config changes 2018-06-07 12:57:32 -07:00
Blake J. Harnden
2ede43e3ae initial commit with things working for the most part 2018-06-06 14:51:45 -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
ac2b64aaaf updates to remove restriction for emane in general and emane 1.2.1, should support at leat 1.0.1 possibly further back and can run without emane again, updated gui to ask users to install emane when not preset on the emane models panel 2018-04-20 21:22:08 -07:00
Blake J. Harnden
b6d891f124 updated emane manager to parse config options from manifest, updates to denote core specific configurations within emane models, update to account for manifest parsing of INETADDR 2018-04-02 14:00:28 -07:00
Blake J. Harnden
4d01a49ec2 updated emane model phy/mac parsing to account for values that support multiple values into a param list 2018-03-30 14:53:02 -07:00
Blake J. Harnden
405614bbd8 added metaclass to reduce emane model code, fixed broken emaneuniversal references 2018-03-30 12:52:10 -07:00
Blake J. Harnden
fd32e1cf78 added support for emane manifest parsing into core compatible information, refactoring of emane code to align with its usage 2018-03-30 12:08:33 -07:00
Blake J. Harnden
8963ef51e3 fixed bypass unique phy doc under refactored code 2018-03-29 15:13:16 -07:00
Blake J. Harnden
beb5be2ee9 reverted to using class variables for emane models due to inheritence from config class 2018-03-29 14:38:32 -07:00
Blake J. Harnden
19ccd6a63b testing hack for class propery 2018-03-29 14:14:59 -07:00
Blake J. Harnden
4f978f5b96 fixed some emane naming issues 2018-03-29 14:04:15 -07:00
Blake J. Harnden
4df0d78cae resolved circular import withthe universal model 2018-03-29 13:48:40 -07:00
Blake J. Harnden
9ce8233bc3 effort to consolidate logic for emane models, to avoid redundancy for defining a new model 2018-03-29 13:32:06 -07:00
Blake J. Harnden
2b2548a927 fixed typo during cleanup pass 2018-03-27 23:14:04 -07:00
Blake J. Harnden
b7327a5798 pass over emane code to cleanup methods and some documentation 2018-03-28 13:58:49 -07:00
Blake J. Harnden
ef48052d41 fixed bad logging and updated commeffect to default to connectivity being on, same as emane default 2018-03-27 08:24:28 -07:00
Blake J. Harnden
79e1726433 removed swap file and added to gitignore 2018-03-25 22:18:37 -07:00
Blake J. Harnden
2ede524ec3 updated tdma schedule file option to leverage gui file widget 2018-03-25 22:16:52 -07:00
Blake J. Harnden
1f2c78d54a got tdma working, leveraging an example tdma schedule that will be included with packaging 2018-03-25 22:08:22 -07:00
Blake J. Harnden
162cb20e14 Merge branch 'emane-cleanup' of git-ssh.web.boeing.com:Boeing-CORE/CORE into emane-cleanup 2018-03-26 10:33:22 -07:00
Blake J. Harnden
45f041604a adding support to start the tdma schedule after emane startup 2018-03-26 10:27:39 -07:00
Blake J. Harnden
e4652f6879 tweaks to support latest 80211 config values 2018-03-23 13:00:46 -07:00
Blake J. Harnden
68f6b6af9b fixed new 80211 config 2018-03-22 22:18:27 -07:00
Blake J. Harnden
7ae3385ff0 alphabetizing emane options 2018-03-22 09:58:23 -07:00
Blake J. Harnden
86afded824 updated emane options to contain all nakagami settings for display within ui, sorted options 2018-03-21 14:24:33 -07:00
Blake J. Harnden
b6cfc2085c attempt to update physical configuration 2018-03-21 12:54:13 -07:00
Blake J. Harnden
802393725e added new emane platform options from older versions and latest 1.2.1 2018-03-21 11:58:01 -07:00
Blake J. Harnden
ba8b73af41 added some more logging to emane setup/startup 2018-03-21 09:57:08 -07:00
Blake J. Harnden
79b2fa8468 forgot to remove a line of old emane code in rfpipe 2018-03-20 14:35:00 -07:00
Blake J. Harnden
2142586112 initial pass to remove support for legacy emane code and focus on newer releases 2018-03-19 16:33:36 -07:00
Blake J. Harnden
e0bbeaf79c update to logging in relation to core 2018-03-16 09:39:44 -07:00
Blake J. Harnden
cd7fd43978 updates to support emane 1.2.1 2018-03-16 09:33:43 -07:00
Blake J. Harnden
974559843a defined custom core command error that defaults to printing command output as well 2018-03-02 16:22:20 -08:00
Blake J. Harnden
29a3496eda expose command exceptions within emane and mobility 2018-03-02 15:54:27 -08:00
Blake J. Harnden
a8ee7f35d6 updates to check_cmd to just return output, as status is pointless 2018-03-02 13:57:50 -08:00
Blake J. Harnden
43554cbb62 initial effort to remove swallowing exceptions within internal code 2018-03-02 13:39:44 -08:00
Blake J. Harnden
00b3c97448 further removal and refactoring of methods used within misc/utils.py 2018-03-02 09:15:52 -08:00
Blake J. Harnden
6211b09585 further cleanup in regards the commands that are being used within core 2018-03-01 16:23:58 -08:00
Blake J. Harnden
d3bd61ddcf updates to consolidate commands that need to be defined by a new node type 2018-03-01 13:21:25 -08:00
Blake J. Harnden
6b8ee13f5d initial changes to try and cleanup shell commands used within core 2018-02-27 10:48:01 -08:00
Blake J. Harnden
c4a61b269b updates to support dynamic loading of emane models from a custom emane directory 2018-02-05 11:22:01 -08:00
Blake J. Harnden
45e82f05b2 attempt to better support dynamic emane models 2018-02-05 09:01:49 -08:00
Blake J. Harnden
abc9e06fe1 small doc cleanup, updated python specific docs to leverage the sphix rtd theme as well 2017-08-18 11:34:25 -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
73eea80f51 attempt to fix missing updates for sdt, moved broker specific code to broker 2017-08-07 15:37:41 -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
2281051edf making usage of double quotes standard for emane files 2017-08-04 14:34:44 -07:00
Blake J. Harnden
14a5d11c4e parameterized emane tests, added tdma test, although it is currently failing 2017-07-27 14:59:40 -07:00
Blake J. Harnden
673fdc94b5 removed unused imports in emane files, refactored emane testing to simplify test cases and reduce repeated code 2017-07-10 10:44:10 -07:00
Blake J. Harnden
dced47b588 fixed emane version checks, fixed emane config message handling, added initial emane test cases 2017-07-10 09:25:33 -07:00
Blake J. Harnden
613e550e8a merged latest code from rodolfos merge from the latest github pull 2017-07-06 15:10:50 -07:00
Rod A Santiago
55a6e2dcef merged cleanup branch with master 2017-06-19 18:09:28 -07:00
Rod A Santiago
0a91fe7a3e merged cleanup branch with master 2017-06-19 18:03:39 -07:00
Blake J. Harnden
14cb7dc251 caught up with latest gitlab commits, added a new tests directory leveraging pytest based tests for testing core functionality 2017-04-27 13:34:23 -07:00
Blake J. Harnden
2fc6345138 catching up with commits: daemon: Add an instantiation-complete CORE API event type 2017-04-25 11:38:53 -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
adamson
56896bddd1 fixed issue with indexing EMANE RJ45 objects 2017-02-23 18:40:54 -05: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
5ec7e39a28 daemon: Sort EMANE servers so NEM ids are deterministic. 2016-10-12 17:37:40 +00:00
Tom Goff
b1beff1eba daemon: Wait longer for EMANE network interfaces to exist.
When EMANE is still running.
2016-10-12 17:37:27 +00:00
Tom Goff
42b1771dcb daemon: Create a CoreServer class to represent CORE servers.
Includes related changes and refactoring.
2016-10-12 17:36:42 +00:00
Tom Goff
31a9f6fb34 daemon: Use a set to store broker handlers. 2016-10-12 15:55:30 +00:00
Tom Goff
c0a9c6c9af daemon: Remove unused variable. 2016-09-06 10:38:38 -04:00
adamson
f8da9334d8 fix to EMANE TDMA XML generation 2016-09-06 10:16:31 -04:00
adamson
d270da8f41 added daemon/core/emane/tdma.py module to support EMANE 1.0.1 TDMA model 2016-09-05 17:06:31 -04:00
Tom Goff
f03311b50a daemon: Add support for EMANE 1.0.1. 2016-09-05 17:02:59 -04:00
Rod A Santiago
b91b5125f2 daemon: changes to support optional retainment of per-interface parameters for EMANE models when multiple EMANE models of the same type are used as interfaces for a node 2016-04-20 08:36:58 -07:00
Tom Goff
76bf200f41 daemon: Explicitly close EMANE event service files. 2016-03-04 16:57:56 -05:00
Tom Goff
d681534b17 daemon: Minor code reorganization. 2016-03-04 16:57:46 -05:00
Tom Goff
d21de76dfa daemon: Save NEM information in the session directory during EMANE startup.
Write NEM information formatted as:
    <node hostname> <network interface name> <NEM ID>
to /tmp/pycore.XXXXX/emane_nems as part of starting EMANE.

This happens before the runtime state is entered and is then available
to node services.
2016-02-09 16:57:05 -05:00
Tom Goff
23f7995eab daemon: Make EMANE event service file descriptors close-on-exec. 2016-01-29 18:43:54 -05:00
Tom Goff
9440a16ef2 daemon: Add support for EMANE 0.9.3. 2015-12-18 17:12:26 -05:00
Tom Goff
ec5635c4a4 daemon: Add EMANE 0.9.1 R2RI configuration items. 2015-10-09 17:18:18 -04:00
Tom Goff
3a13b8c92d daemon: Use Emane.version directly instead of checking if EventService
exists.
2015-10-09 13:51:04 -04:00
Tom Goff
026f54d658 daemon: Assign version variables to the Emane class instead of
instances.
2015-10-09 13:50:59 -04:00
Tom Goff
1c8c9ce6ea daemon: Make generation of EMANE location events explicitly configurable. 2015-10-09 13:50:50 -04:00
tgoff0
b1322df827 use the modified tun_flowctl driver if it exists
From: weston
2015-06-01 17:52:49 +00:00
tgoff0
d92f1ff89d fixed issue with assigning the 'lo' device for eventservice when using emane 0.9.1
From: santiago
2015-06-01 17:52:43 +00:00
tgoff0
13fbea9153 Allow separation of OTA traffic from event traffic and from control backplane traffic. Some refactoring. 2015-05-22 00:53:28 +00:00
tgoff0
ed14bb60e5 added missing 80211abg mac params when running with EMACS 0.9.x
From: santiago
2015-04-03 01:49:09 +00:00
tgoff0
d40b0dd89c Adjust file mode bits. 2015-01-21 21:38:02 +00:00
ahrenholz
5c9c8bfff7 set IP addresses on TAP devices used with EMANE 0.9.2 (fixes bug #268)
(Boeing r1892)
2014-10-28 17:24:31 +00:00
ahrenholz
be4f431ab6 revise EMANE 0.9.2 detection due to protobuf file under Ubuntu 12.04
make Emane.detectversionfromcmd() a classmethod
(Boeing r1890,1891)
2014-10-27 20:52:01 +00:00