Commit graph

1021 commits

Author SHA1 Message Date
Blake Harnden
83c408359a set flow id logging to debug 2019-10-18 14:56:21 -07:00
Blake Harnden
2012105df0 updated core.conf to contain distributed address and grpc configurations 2019-10-18 14:43:36 -07:00
Blake Harnden
e298a2a5c1 grpc will now always be ran, but can be configured through command line or core.conf 2019-10-18 14:28:50 -07:00
Blake Harnden
c5ce85b235 added net client get ifindex and mac functions 2019-10-18 14:22:37 -07:00
Blake Harnden
bab5c75cb9 removed unwanted logging of container env 2019-10-18 13:20:05 -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
7d2a615716 more updates to using f string 2019-10-18 10:33:31 -07:00
Blake Harnden
79cde8cd59 further f string updates 2019-10-17 19:25:52 -07:00
Blake Harnden
c9326b6a97 initial changes to use f strings 2019-10-17 18:59:50 -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
Blake Harnden
fb28741393 Merge branch 'enhancement/distributed-flask' of https://github.com/coreemu/core into enhancement/distributed-flask 2019-10-17 12:13:45 -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
4746fe67ef added docs for distributed.py 2019-10-17 11:35:48 -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
0ef06a0167 added docs for session distributed commands 2019-10-17 09:32:32 -07:00
Blake Harnden
b7dd8ddb66 fix for docker/lxd based nodes to use remote servers and example for lxd 2019-10-17 09:09:03 -07:00
Blake Harnden
7afaff8cbb updated requirements and setup.py to include fabric/invoke 2019-10-17 08:41:48 -07:00
Blake Harnden
774dd8330c removed broker.py 2019-10-16 20:26:14 -07:00
Blake Harnden
009ce8143e removed lock for distributed commands and limited usage to uploads 2019-10-16 20:19:51 -07:00
Blake Harnden
8aef9f273f updates to clear broker from physical node 2019-10-16 17:11:21 -07:00
Blake Harnden
61a4e228a1 updated ctrlnets to assign unique addresses per server, fixed ovs command issue for interface specific commands 2019-10-16 10:14:36 -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
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
Blake Harnden
5f282bb695 updates to lxd/docker to work with net_cmd/node_net_cmd 2019-10-14 14:28:18 -07:00
Blake Harnden
82bdbd776b removed parameter conversion for creating GreTap commands 2019-10-14 12:31:41 -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
eb248291a5 fix for gretap interfaces giving bad values to netclient 2019-10-12 08:10:30 -07:00
bharnden
fee56302a1 fix for wlan configuration issues 2019-10-12 08:03:20 -07:00
bharnden
2bfd050880 updated missed commands to be string based 2019-10-11 22:37:33 -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
69772f993c removed VnodeClient.icmd and VnodeClient.term 2019-10-11 13:55:06 -07:00
Blake Harnden
b5d71bab82 removed VnodeClient.popen 2019-10-11 13:36:00 -07:00
Blake Harnden
fc7a161221 updated utils.check_cmd to accept the same parameters as other commands and be leveraged for node cmds 2019-10-11 13:15: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
4a6d69bb09 removing cmd_output function from utils and nodes 2019-10-11 09:34:49 -07:00
Blake Harnden
c3d27eb8a5 removed utils.cmd and related node functions 2019-10-10 23:01:16 -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
Blake Harnden
a4b6b8be51 updated link config to work distributed, added crude locking for fabric 2019-10-09 15:44:45 -07:00
Blake Harnden
859f473ba9 updated ebtables to use net_cmd 2019-10-09 12:13:26 -07:00
Blake Harnden
7e45168e77 distributed example for ptp 2019-10-08 21:17:15 -07:00
Blake Harnden
c8d68c332a updates for testing using examples 2019-10-08 21:06:22 -07:00
Blake Harnden
b7b0e4222c updates for basic working distrbuted network using fabric 2019-10-08 15:09:26 -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
212fec916b updated how distributed servers are added and connections are created to reduce duplicate connections 2019-10-07 11:58:27 -07:00
bharnden
4eacd815d1 updated to use fabric scp for copying files to remote nodes 2019-10-06 00:06:29 -07:00
bharnden
cca57bba47 updated other node system commands to be ran in such a way that should work if local or remote using shell commands 2019-10-05 16:10:01 -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
931ee65235 added remote_cmd func for nodes to avoid duplication 2019-10-05 09:48:30 -07:00
Blake Harnden
f83f98262f some initial remote node commands using fabric 2019-10-04 17:33:44 -07:00
Blake Harnden
cc9c0eec96 Merge branch 'develop' into enhancement/distributed-flask 2019-10-04 13:31:13 -07:00
Blake Harnden
bb98a4a77f removed circular dependency causing issues in python2 2019-10-04 12:36:15 -07:00
Blake Harnden
031517ba56 fixed base.py imports with isort 2019-10-04 09:29:10 -07:00
bharnden
7aa013d351 start to wrapping commands to support remote ssh 2019-10-03 20:38:32 -07:00
bharnden
70bb1598e1 fixed some nrl services for python3, using len(filter) 2019-10-03 13:49:26 -07:00
bharnden
fbfc4929f1 updated pipenv run core to default to turning on grpc 2019-10-03 13:31:22 -07:00
bharnden
41f7f46988 removed old examples, updated examples api to denote they are python script examples 2019-10-03 12:41:56 -07:00
bharnden
478eb84786
Merge pull request #298 from coreemu/cleanup/node-client
Cleanup/node client
2019-10-03 12:02:24 -07:00
bharnden
6d0d183788 fixed returning output from NodeBase.net_cmd 2019-10-03 11:59:45 -07:00
Jeff Ahrenholz
6c3066e752 cherry-pick commit e56c001 for Session() instead of EmuSession() class 2019-10-02 07:55:51 -07:00
bharnden
0fe8bea25b added net_cmd to NodeBase for encapsulating network configuration commands 2019-10-01 21:06:11 -07:00
bharnden
4079df9739 added pydocs for netclient 2019-10-01 15:38:23 -07:00
bharnden
af7faa85df removed redircmd, shcmd, shcmd_result, getaddr, netifstats from VnodeClient 2019-10-01 14:40:24 -07:00
bharnden
223590c8fb removed vnode client netif stats, since was not being used 2019-10-01 12:52:25 -07:00
bharnden
d3d70ecc54 removed getaddr from node clients, since it was not being used 2019-10-01 12:30:32 -07:00
bharnden
e4bb315c14 updates to netclient, providing commonly used network commands in more convenient functions 2019-10-01 12:14: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
3f1ff113ca small core configuration cleanup 2019-09-30 11:51:40 -07:00
Blake Harnden
6b43c00031 removed xmlfilever from config, since not used 2019-09-30 10:36:27 -07:00
Blake Harnden
1fb99e8690 converted info to debug for some corehandlers logging 2019-09-30 10:06:10 -07:00
Blake Harnden
d6cf09e4b8 updated service loading to catch on_load exceptions and ignore service 2019-09-30 09:33:17 -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
Huy Pham
130c2a9b8d Merge branch 'develop' into coretk-create-node 2019-09-27 16:19:03 -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
6886746711
Merge pull request #292 from coreemu/bug/290-fix-default-pythonpath
fix #290 use pythondir var as base for setting PYTHONLIBDIR
2019-09-27 14:25:19 -07:00
Blake Harnden
cd747515ea added python path change to ns3 and simplified substitution, which is not version dependent 2019-09-27 12:11:14 -07:00
Jeff Ahrenholz
4b028661ab fix #290 use pythondir var as base for setting PYTHONLIBDIR 2019-09-27 11:02:01 -07:00
Blake Harnden
a01ea35f7c bumping configparser version in requirements.txt due to previous version removal 2019-09-27 11:01:19 -07:00
Blake Harnden
1277ae4686 fleshed out documentation for netclient.py and removed openvswitch.py 2019-09-27 10:48:24 -07:00
bharnden
0c002bb491 implemented net client for linux and ovs 2019-09-26 22:04:29 -07:00
bharnden
b449729a31 added net client to consolidate bridge and interface creation 2019-09-26 15:20:32 -07:00
bharnden
bdf288ff1d removed is_net_node utility to leverage isinstance as other places are consistently 2019-09-26 13:15:46 -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
bharnden
d5c257fc9b fixed flake8 config to match other tooling 2019-09-23 23:28:08 -07:00
Blake Harnden
597342248b Merge branch 'develop' into coretk 2019-09-19 10:29:34 -07:00
Blake Harnden
372a690af9 coretk - added to pre-commit 2019-09-18 11:39:48 -07:00
bharnden
939203aa46
Merge pull request #280 from coreemu/pydocupdates
Pydocupdates
2019-09-17 11:56:04 -07:00
bharnden
976f06dc10 removed unwanted logging line from corexml.py 2019-09-17 10:13:51 -07:00
Huy Pham
22189122e6 add text to markdown table headers, fix some return types, fix emane link 2019-09-17 09:33:55 -07:00
bharnden
b6d5f23201
Merge pull request #275 from NvanAdrichem/master
Disable MAC learning on Wlan networks
2019-09-16 21:55:34 -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
Blake Harnden
c0ce07404f moved service validation to debug, to limit error messages causing confusion about failures 2019-09-13 13:26:30 -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
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
5b8a7b1cfd fixed path for example tdma schedule from moving emane tests 2019-09-12 16:13:24 -07:00
Blake Harnden
32bfa4b2f9 fixed exception catches for get_node expecting KeyError to expect CoreError 2019-09-12 15:48:09 -07:00
Blake Harnden
f71e2522dd update Pipfile.lock due to configparser 4.0.1 removal 2019-09-12 14:29:56 -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
89fe61f312 fix for wlan configuration not getting set by default 2019-09-11 21:54:07 -07:00
bharnden
935a7da0e9 added node delete info logging 2019-09-11 15:44:15 -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
2a4ee68fd9 moved ping test method into the emane test itself 2019-09-11 13:16:09 -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
58471b168b fixed logging changes to be python2 compatible, small change to Pipfile to support possibility of installing to python2, but python3 required for dev 2019-09-11 10:59:06 -07:00
bharnden
0683ea3c22 update setup.py to leverage extra_requires and updates to pipfile dependencies 2019-09-11 09:37:06 -07:00
Niels van Adrichem
09896b008e Disable MAC learning on Wlan networks 2019-09-11 15:27:55 +02:00
bharnden
3e325fcdc7 fixed typo in test_links 2019-09-10 21:35:47 -07:00
bharnden
b4bc9c23a3 updated test_links to avoid running a system command and the need to use iperf/ping 2019-09-10 21:33:35 -07:00
bharnden
fb8fc46d0d added pytest/mock to Pipfile, updated setup.cfg to increase max complexity for flake8 to pass for now with plans to decrease in the future 2019-09-10 21:12:39 -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
bharnden
a004285514 adding isort/pre-commit dev dependencies and setup.cfg for isort 2019-09-10 14:07:46 -07:00
bharnden
6d8099e8c6 added pipenv as a recommend use case for development, updated core-daemon script to allow a parameter to pass in the logging configuration 2019-09-10 13:39:36 -07:00
bharnden
527a44748d avoid bad check that prevents reverting link configuration to 0 2019-07-05 19:06:27 -07:00
Blake Harnden
2cd0f381ea updated ovs service to use fail mode secure 2019-07-19 11:35:01 -07:00
Blake Harnden
554f4a570d added check when deleting links to avoid exceptions from gui driven deletions 2019-07-19 07:46:17 -07:00
Blake Harnden
ccf5a5de60 updates to ryu service to run in a more general way avoiding the need for specific pathing and local installs 2019-07-18 08:19: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
802379d763
Merge pull request #267 from coreemu/feature/new-nodes
Adds Docker/LXD support
2019-07-05 16:36:16 -07:00
bharnden
836133c97d reverting a change that caused switching sessions within gui to break 2019-07-05 09:00:14 -07:00
bharnden
ae5d718737 revert loss pack to using floats in all related places 2019-07-03 23:09:55 -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
9e273c2d8f small tweaks to cleanup lxd from commented out code 2019-07-02 09:51:56 -07:00
Blake Harnden
e83b38d96a initial lxd based node working from simple scripts 2019-07-02 07:48:43 -07:00
Blake Harnden
2397cd58ee integrated creation into the standard session.add_node call, currently requires an extra check due to the need for being able to specify an image 2019-06-28 15:41:55 -07:00
Blake Harnden
0e7464d419 fixed cmd to leverage wait similar to standard nodes and avoid throwing its own exceptions 2019-06-28 14:24:36 -07:00
Blake Harnden
6ab8368f1c updates to attempt to support trying to run traditional services in some manner within the context of a docker node 2019-06-28 12:58:08 -07:00
Blake Harnden
5971950523 changes to have DockerNode based off a CoreNode instead, elminating the need for a lot of boiler plate 2019-06-28 08:17:11 -07:00
Blake Harnden
9825706e03 initial commit with some docker nodes integrating with core at a basic level 2019-06-27 15:45:35 -07:00
Blake Harnden
67595485c6 updated example custom emane model to get away from needing pycco altogether for documentation 2019-06-26 09:38:54 -07:00
Blake Harnden
f6af078e7e pass at cleaning up custom service documentation and removing the need for pycco for this case 2019-06-25 16:03:37 -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
bharnden
588a0932d3 beginning to add some tests to help verify handling different tlv messages, added delete link logic for net to node and node to net 2019-06-21 23:12:18 -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