Commit graph

1778 commits

Author SHA1 Message Date
Blake Harnden
fcf6f30302 install: updates to support building deb/rpm packages that contain python wheels and install core from a single file, updates to core to install scripts by way of python directly 2022-07-27 16:00:10 -07:00
Blake Harnden
3c28ea373a daemon: adjustments to fix terminal command string generation for docker/lxd nodes to account for being on a distributed server 2022-06-10 14:53:49 -07:00
Blake Harnden
9c69881aad daemon: updates to expose node.create_cmd and not be private, added utility functions for running multiple commands on multiple nodes more efficiently 2022-06-10 14:23:06 -07:00
Blake Harnden
60a48c7084 daemon: update node commands to make use of shlex.quote for shell=True commands 2022-06-10 12:12:25 -07:00
Blake Harnden
9c265ab283 daemon: updates to change hostname settings to replace _ to - due to _ being an invalid character 2022-06-10 10:01:48 -07:00
Blake Harnden
9991942e7b daemon: cleanup code for lxd based nodes and properly implement command exectution 2022-06-10 09:20:49 -07:00
Blake Harnden
469f8f087a grpc: removed removed api call from client code get_node_links, this information is included in get node 2022-06-08 14:17:13 -07:00
Blake Harnden
e5d6299f0a daemon: fixed error in requirements check and sorted executable definitions 2022-06-01 11:12:20 -07:00
Blake Harnden
9fa3e77d12 daemon: added further python docs to docker.py 2022-05-31 14:25:49 -07:00
Blake Harnden
7173e488cb daemon: fixed issue with not properly starting emane event monitoring when enabled 2022-05-27 10:57:26 -07:00
Blake Harnden
bbcd4664ff daemon: removed session.add_node_file as it is not needed and was only used by the old tlv api 2022-05-27 10:43:59 -07:00
Blake Harnden
2e3e085522 daemon: adjustments to revamp how core nodes are created in session.add_node, nodes now provide a create_options function for node specific options that are type hinted 2022-05-25 10:51:42 -07:00
Blake Harnden
03e646031c daemon: updated docker nodes to start using tail to keep alive, adjustments to support more robust volume mounting and adding symlinks to the nodes directory for bind/volume mounts 2022-05-18 14:50:08 -07:00
Blake Harnden
fd3be57f57 daemon: added initial support to docker nodes for setting up volumes and bind mounts 2022-05-11 13:51:02 -07:00
Blake Harnden
33f3eccdcf Merge branch 'develop' into docker-updates 2022-05-09 21:11:51 -07:00
Blake Harnden
8ba169c758 daemon: fixed naming issues with wireless/emane model attributes, fixed issue with emane controlnet updown script 2022-05-09 21:11:14 -07:00
Blake Harnden
2094694ca3 daemon: cleaned up docker node code, updates to use nsenter in most cases 2022-05-05 21:54:08 -07:00
Blake Harnden
2e4d0e0cea daemon: changes to generate random names for all wireless edge veths, to avoid names that would be an invalid device name 2022-05-02 15:01:03 -07:00
Blake Harnden
2ab2c27d49 daemon/test: improved MoveNodesRequest to be hashable using dataclass itself, fixed grpc test not properly using a wrapped MoveNodesRequest object 2022-04-28 23:20:17 -07:00
Blake Harnden
aa8ea40ce6 daemon: moved SetQeueue into utils to be leveraged by others, updated MoveNodesStreamer to leverage SetQueue, this will allow a means to stream node movements, but if position changes happen faster than processing, the latest position will override prior pushes and the latest position will be pulled off the queue 2022-04-28 16:12:31 -07:00
Blake Harnden
fe0bc2b405 services: removed no longer relevant service arouted and associated logic, fixed nrlsmf to put the flood command before configured interfaces 2022-04-26 14:11:48 -07:00
Blake Harnden
0a0248d8b2 gui: fixed issue where wireless edges were not properly attempting to arc common edges when added/deleted 2022-04-26 10:16:36 -07:00
Blake Harnden
0b420cfc07 grpc: update to fix sending protobuf format wireless config for joining session 2022-04-19 16:29:33 -07:00
Blake Harnden
62a060588d grpc: update to make sure retrieving session data returns wireless configs for nodes 2022-04-19 16:19:19 -07:00
Blake Harnden
7348942a67 daemon: add a new config value for the wireless network to allow a baseline loss value to be set 2022-04-18 16:46:59 -07:00
Blake Harnden
964e3aaf39 daemon: updated wireless network to configure static delay/bandwidth/jitter and calculate loss only, also will link nodes initially if enabled or run calculation when not at startup 2022-04-15 14:56:21 -07:00
Blake Harnden
ce5c155327 daemon: updated xml code to write/read wireless configs 2022-04-14 16:50:01 -07:00
Blake Harnden
d20cb1ef58 daemon/gui: added support to configure wireless network for position calculations or not 2022-04-14 16:31:14 -07:00
Blake Harnden
d124820a86 daemon: fixed error in handling errors when rendering config service templates 2022-04-14 10:48:00 -07:00
Blake Harnden
e5c06fe47c daemon: fixed wireless movement callback to not calculate config for position callback on links that are down 2022-04-13 13:43:58 -07:00
Blake Harnden
f811373f0b gui: updated config service config dialog to resize better, also now display the rendered tab first, for a more user friendly default 2022-04-11 15:55:32 -07:00
Blake Harnden
c40fb2b15d daemon: updated frr services to use consistent configuration for iface config for ospfv2, enabled opaque lsa support for ospf by default 2022-04-11 10:54:27 -07:00
Blake Harnden
bd6f789cef daemon/gui/grpc: added support to retrieve rendered config service files, added support for grpc to access this, and update gui to leverage this call to provide a rendered view of files based on the current scenario, also allows editing the rendered output to use as the input when running the scenario 2022-04-08 22:24:07 -07:00
Gabriel Somlo
314eee33f6 frrboot: add fedora sbin path to default
Add the Fedora default location for FRR binaries (/usr/libexec/frr/*.)
to CORE's frrboot default "sbin" search path

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2022-04-06 13:41:00 -04:00
Blake Harnden
443c0e708f daemon: removed linktype and apitype from node classes, as they are no longer needed, made adjustments where needed to compensate 2022-04-05 15:22:01 -07:00
Blake Harnden
7440c1d949 daemon: removed node.linktype as it is not needed, updated the one usage to align with other cases 2022-04-05 13:57:49 -07:00
Blake Harnden
5ee561b210 daemon: fixed sdt icons due to legacy gui removal, updated node.type to node.model to avoid variables with the same names with different meanings 2022-04-05 13:39:57 -07:00
Blake Harnden
ea751727b4 daemon: refactoring to tracking wireless link information 2022-04-05 12:05:37 -07:00
Blake Harnden
440c06c040 daemon: updates to refactor and clean up SessionConfig to contain its own logic 2022-04-04 15:13:31 -07:00
Blake Harnden
409b6809e6 daemon: adjustment for wireless link config to avoid has_netem issues for bidirectional configuration 2022-04-04 09:18:18 -07:00
Blake Harnden
388ae44cf2 daemon: small adjustment/cleanup to shutting down all sessions from coreemu 2022-04-04 09:15:34 -07:00
Blake Harnden
543e9982c0 daemon: apply wireless link label even for 0 to force gui update for now 2022-04-02 22:08:59 -07:00
Blake Harnden
42cd1a1019 daemon: force wireless link config options2 to have netem to force a clear/update 2022-04-01 21:30:42 -07:00
Blake Harnden
559cac18e8 grpc: fixed wireless config client/server 2022-04-01 21:23:58 -07:00
Blake Harnden
9d97699b1f daemon: fixed issue starting session and clearing session options, small cleanup to SessionOptions init 2022-04-01 11:46:28 -07:00
Blake Harnden
5d4642006c daemon: added core player writer and player to core library and added wireless event handling, fixed issues with wireless nodes being written to xml 2022-03-31 16:31:20 -07:00
Blake Harnden
84acb82c18 daemon/grpc/gui: further updates for a new working wireless node, added grpc support for control and additions to gui for creation 2022-03-30 21:13:28 -07:00
Blake Harnden
e4a6ecf3c2 daemon: initial code to support a new style wireless approach 2022-03-29 12:16:07 -07:00
Blake Harnden
73aaa8ca18 daemon: updated bad doc string 2022-03-25 10:53:52 -07:00
Blake Harnden
1fa0ac25b5 gui: removed host from node model types and updated node config to only display type 2022-03-24 17:15:44 -07:00
Blake Harnden
26f0848cb4 daemon: update iface to use desired name when configuring, gui: dont assign mac to non container nodes 2022-03-22 21:08:31 -07:00
Blake Harnden
d83bfed608 merged latest updates from develop 2022-03-22 10:03:03 -07:00
bharnden
e3466f0669
Merge pull request #677 from coreemu/enhancement/consistent-linking
Enhancement/consistent linking
2022-03-22 09:47:29 -07:00
Blake Harnden
b941395100 core-cli: updates to add back json output 2022-03-21 20:59:18 -07:00
Blake Harnden
7ed007496c daemon: add linked method to session and grpc support leveraging new linking semantics, update add_link validation check 2022-03-21 15:42:14 -07:00
Blake Harnden
e5e14ad67b grpc: added wlan/emane links to grpc calls to allow knowing initial wireless link state, same as before changes 2022-03-21 09:55:57 -07:00
Blake Harnden
dc9b6adc98 daemon/gui: adjustments to account for network node wired links having proper interface ids, which allow for unique configuration with the new linking semantics 2022-03-18 15:53:13 -07:00
Blake Harnden
b71272519d daemon: revamp to align gre tunnels for distributed to align with changes, also moved gre tunnels for wired links to occur directly when linking, allowing runtime distributed functionality, also updates to phyical node to leverage a core node, but avoid using namespacing 2022-03-18 12:31:04 -07:00
Blake Harnden
8c24e9cfa6 daemon: updates to fix rj45 to account for iface link revamp 2022-03-17 21:21:03 -07:00
Blake Harnden
3c8f6a9512 daemon: fix convert interface grpc utility to properly get ip4/ip6 addresses 2022-03-17 16:44:12 -07:00
Blake Harnden
4f58d5d8eb daemon: removed unused EmaneNet function 2022-03-17 16:43:31 -07:00
Blake Harnden
7b16f9cb74 daemon: moved node cmd to base, allowing interface config to not need a node parameter 2022-03-17 16:31:03 -07:00
Blake Harnden
cd7f1a641e daemon: initial pass to revamp how node linking and link management is done, provides a consistent way to link all wired nodes and allows them to be configured for tc for the same behavior across the board 2022-03-17 15:28:38 -07:00
Blake Harnden
41db531e97 daemon: removed some unused Session functions and change to make proper use of set_user 2022-03-08 15:50:19 -08:00
Blake Harnden
dde339cc46 daemon: removed bitmap, which is not used 2022-03-08 14:32:01 -08:00
Blake Harnden
c8a589ef76 daemon: removing python tlv related code and tests related to it 2022-03-08 14:18:47 -08:00
Blake Harnden
f545726ed5 daemon: small improvements to command error reporting, as well as catching and reporting config service get text dynamic exceptions 2022-03-04 09:55:40 -08:00
Blake Harnden
0536747d9a daemon/gui: adjustments to how a session instantiates, allowing the new python gui to move to a failed start state, this allows inpecting the failed nodes to see what went wrong 2022-03-04 09:19:56 -08:00
Blake Harnden
2eef7076f4 daemon: updated how local services are loaded to leverage full core path imports, avoiding name collisions with external modules 2022-03-02 12:42:53 -08:00
Blake Harnden
a42697ecce daemon: consolidated the code for CoreNode commands into the class itself 2022-02-28 22:05:01 -08:00
Blake Harnden
074a2263ce daemon: updates to network base to set default behavior for abstract function 2022-02-25 15:06:14 -08:00
Blake Harnden
e557b402b6 daemon: fix PhysicalNode instantiation issues, remove old functions that are no longer use and update session to use the new variation 2022-02-25 14:46:03 -08:00
Blake Harnden
58ffd045e2 daemon: pulling in an old legacy gui related fix for now, that was not merged back 2022-02-25 11:05:14 -08:00
Blake Harnden
458b7f15ce pygui: fixed antenna image to properly show alpha png 2022-02-18 00:24:30 -08:00
Blake Harnden
96f2408e01 daemon: fixed deadlock issue when starting/stopping nftables queue 2022-02-17 23:44:30 -08:00
Blake Harnden
3c64654598 services: fix missing configurations for ospfv2 in config services 2022-02-17 10:14:04 -08:00
Blake Harnden
0e2219f6c8 daemon: fixed issue creating directory for files when needed, within node 2022-02-05 12:19:24 -08:00
Blake Harnden
490a4acf24 daemon: fixed issues related to rj45 2022-02-05 00:46:25 -08:00
Blake Harnden
efb97d1a5d daemon: updates to remove the delay for processing wlan changes along with code to support it 2022-02-05 00:39:11 -08:00
Blake Harnden
43737a42e4 daemon: update nftables bridge tables to use priority -1 to beat default inet table rules if present 2022-02-03 14:29:42 -08:00
Blake Harnden
44b7b6a27e daemon: update config service files to use paths for retrieving templates and generating files in the same consistent way 2022-02-03 14:28:56 -08:00
Blake Harnden
8f767208e0 daemon: small adjustment to fix xml related issues parsing links for now, until bigger refactoring 2022-01-26 11:35:23 -08:00
Blake Harnden
d5b05a39e8 gui: adjustment to update drawing asymmetric edge data when joining a session 2022-01-26 11:19:30 -08:00
Blake Harnden
6791269eeb daemon: refactored interfaces to store configuration options as link options, instead of using a dictionary 2022-01-25 21:39:52 -08:00
Blake Harnden
e9b83b0d28 daemon: refactored how interfaces are configured, updated link edits to allow proper bi-directional support for network to network interfaces, improved and added more unit tests for link add/edit/delete 2022-01-25 09:13:39 -08:00
Blake Harnden
8f89488fd5 grpc: added config service actions and update the gui to leverage them as the default for node context menus of running nodes 2022-01-11 16:29:55 -08:00
Blake Harnden
871b1ae2af daemon: updates to support configuring and tracking mtu, along with over refactoring 2022-01-07 16:03:45 -08:00
Blake Harnden
0b531d7fd8 daemon: adjustments to support global configurable mtu values for node interfaces and bridges 2021-12-21 08:59:48 -08:00
Blake Harnden
5ff4447528 daemon: reverting adjustment for executing scripts for corehandler specific logic 2021-11-18 09:19:31 -08:00
Blake Harnden
9da64af79b grpc: added args to execute script to reflect prior gui functionality, updated new and old gui to use the same exact logic for executing scripts for consistency 2021-11-18 09:02:42 -08:00
Blake Harnden
49709261fc daemon: updated wlan config option to use float type for range, instead of string 2021-11-16 10:15:58 -08:00
Blake Harnden
22e92111d0 daemon: updates to provide config types for configurable values, without the need to specify the enumerated type 2021-11-15 16:40:30 -08:00
Blake Harnden
1ce6e51318 pygui: updates to properly save and load canvas size for each canvas separately 2021-10-29 14:56:50 -07:00
Blake Harnden
2b89503432 updates to sample1 scenarios to remove any custom service configurations, since the defaults should be used, fixes an issue specifically in sample1.imn 2021-10-29 14:11:11 -07:00
Blake Harnden
04fb3322b5 daemon: updated ovs net client to use proper set_mac_learning function, due to code changes prior 2021-10-27 08:23:54 -07:00
Blake Harnden
bd896d1336 daemon: added capability to config services to shadow directory structures, from a given path, or from a local source, files may be templates or a straight copy and can be sourced from node named unique paths for node specific files, also refactored and renamed file creation related functions for nodes 2021-09-17 14:34:37 -07:00
Blake Harnden
b96dc621cd grpc: refactoring for editing/moving nodes, they are now two separate processes, with specific logic to carry each out 2021-08-27 16:58:44 -07:00
Blake Harnden
ac5bbf5c6d pygui: updates to limit copy/paste to the graph widget itself and some small related cleanup to graph hot key functionalities 2021-08-26 15:12:51 -07:00
Blake Harnden
8e905b6a37 pygui: updates to improve draw order when joining a session, should help avoid some undesired visuals while reading in bigger scenarios 2021-08-26 10:42:02 -07:00
Blake Harnden
631cbbc73e pygui: add configuration and ip options to enable/disable ip4/ip6 assignment, improved gui configuration to handle new fields that do not already exist 2021-07-15 16:42:19 -07:00