Commit graph

809 commits

Author SHA1 Message Date
Blake Harnden
d056578e9d modified ctrlnets to use an id starting at 9001, to avoid string based ids 2019-10-21 09:36:07 -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
18e5598203 fixed node data reporting emulation server host instead of name 2019-10-18 16:28:13 -07:00
Blake Harnden
73b2eff312 fix for corehandlers.py session_clients access 2019-10-18 16:25:38 -07:00
Blake Harnden
83c408359a set flow id logging to debug 2019-10-18 14:56:21 -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
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
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
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
Blake Harnden
b961a8a959 updated broker.py logging to not be as noisy by default 2019-09-27 15:31: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
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
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
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
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
Niels van Adrichem
09896b008e Disable MAC learning on Wlan networks 2019-09-11 15:27:55 +02: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
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
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
Blake Harnden
338c3a1fa1 fix to avoid sorting issue for comparinga str to an int in python3 2019-06-20 10:49:07 -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
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
6270fcbc75 shifted session startup order to help ensure broker tunnels get setup before emane starts 2019-06-19 10:58:49 -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
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
d724ee289b added dependency and usage of ethtool to disable rx/tx checksums, since they will never be valid from a veth. also lowered some noisy logging and removed other logging 2019-06-12 12:41:01 -07:00
Blake Harnden
fca79fcf94 small change for possibility of runtime mobility configuration 2019-06-11 15:55:11 -07:00
Blake Harnden
a9e622c32f fixed issue when getting wlan config range value from gui as a float string, cannot be parsed to int by python3 2019-06-11 15:27:50 -07:00
Blake Harnden
e7d12b9746 fixing mobility working in python2/3 due to using __cmp__ and node updates not being ints 2019-06-11 15:07:36 -07:00
Blake Harnden
e0dcb194cc removed duplicate code updating basic range model updates 2019-06-11 13:23:19 -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
10df7d35ee fixed saving bidirectional params for ptp networks, storing to xml and loading back into running environment 2019-06-08 21:46:07 -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
Blake Harnden
89877ffe6f updated docs for python files 2019-06-06 16:34:26 -07:00
Blake Harnden
994fe042e1 updates to just leverage broker clients instead of repeating logic for now, until broker is refactored 2019-06-06 13:02:20 -07:00