Blake J. Harnden
832f497d47
updated tests to leverage parameterized tests, reduces bloat and make testing the same situation differently much easier
2017-07-27 14:17:33 -07:00
Blake J. Harnden
6a875bcd8d
added vnodeclient testing, added a run tests script to make testing easier
2017-07-27 11:57:01 -07:00
Blake J. Harnden
ebe3b9e3e3
added mock for python testing, removed a couple unused methods, added some more quick tests for a variety of interface related methods
2017-07-26 16:52:17 -07:00
Blake J. Harnden
62e8ff8731
fixed one small sdt renaming issue, updated a gui test case
2017-07-26 08:48:59 -07:00
Blake J. Harnden
f767c32643
small test cleanup, can isolate to a singular core test fixture
2017-07-25 10:16:18 -07:00
Blake J. Harnden
45a11f7586
removed session from manager after from server fixes issue in gui with red shutdown box not being removed
2017-07-13 10:10:54 -07:00
Blake J. Harnden
ad179438c6
fixed issue where config messages were not being broadcasted out
2017-07-13 09:36:09 -07:00
Blake J. Harnden
3ba7e3b1a3
added broadcasting of node/link messages to multiple session client scenarios
2017-07-12 12:39:40 -07:00
Blake J. Harnden
964fdd6793
fixed issue causing service configuration loop
2017-07-12 10:35:53 -07:00
Blake J. Harnden
d51e80fac8
updated emane commeffect test to turn on default connectivity, test now passes
2017-07-12 09:29:36 -07:00
Blake J. Harnden
9934ce8d3f
fixed issue with core config messages generating file messages, still seems to be an inifinite loop issue
2017-07-11 15:51:56 -07:00
Blake J. Harnden
336702a056
updated emane tests to use mdr models for the nodes, add a couple extra logs
2017-07-11 10:35:08 -07:00
Blake J. Harnden
777e19de93
initial effort to try and fix multiple clients to behave as before, includes fixes for guaranteed message ordering of nodes before links when joining a session
2017-07-11 08:55:15 -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
Blake J. Harnden
77890841bc
fixed incorrect usage of getattr, the default value can not be a keyword argument
2017-07-05 13:43:57 -07:00
Blake J. Harnden
6bfa81f3a8
small cleanup to sdn services, added loadservice line to daemon, and updated example service for how current services are coded
2017-07-05 13:32:16 -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
1caa6ab8c9
bug cleanup pass from sonarqube
2017-06-16 15:17:12 -07:00
Blake J. Harnden
5920a09aae
Merge branch 'cleanup' of git-ssh.web.boeing.com:Boeing-CORE/CORE into cleanup
2017-06-16 14:31:23 -07:00
Blake J. Harnden
a0edc0b499
updated branch name to be appropriate
2017-06-16 14:31:07 -07:00
cspiker
192b362ae6
cleaned up SDN services for release
2017-06-08 13:19:06 -07:00
cspiker
a1007e2391
Updated service files to support new format
2017-06-08 12:30:43 -07:00
cspiker
46baca85d9
Add OVS and Ryu Services to CORE for SDN support
2017-06-08 08:31:50 -07:00
cspiker
b37d1d52fa
added new OVS service file
2017-06-07 12:41:52 -07:00
Rod A Santiago
a4f47a17e3
Merge branch 'master' of https://github.com/coreemu/core
2017-06-05 10:20:39 -07:00
Dustin Spicuzza
17e4fc0933
Emit more descriptive error message if config file is incorrect
2017-05-18 18:39:19 -04: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
8e9dc21c3c
removed some commented out code and fixed a documentation parameter mistake
2017-05-04 15:24:45 -07:00
Blake J. Harnden
603179d8ca
fix control net method naming error
2017-05-04 14:43:57 -07:00
Blake J. Harnden
fd29b4a141
fixed documentation for mac address paramters in seen locations
2017-05-04 14:22:02 -07:00
Blake J. Harnden
7ad57bfb53
removed the core server reference from sessions, added a shutdown handler to initiate callbacks for when a session shutsdown, this is how the core server can run the same functionality going forward, small core-daemon documentation cleanup
2017-05-04 13:49:14 -07:00
Blake J. Harnden
3f82c980de
pass to help flesh out documentation for core.misc
2017-05-04 10:36:13 -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
2b866e1b3f
quick pass to try and provide documentation within core.netns
2017-05-03 13:20:56 -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
8f45e5c4da
core test cleanup, conslidating network creation for link modification testing
2017-04-27 14:49:51 -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
Jeff Ahrenholz
0b0557e008
fix /var/run/quagga permissions for Ubuntu 16.04
2017-03-31 10:59:58 -07:00
lbaumgaertner
e665a122b6
fix to add correct broadcast address for ipv4 interfaces with netns backend
2017-03-28 12:00:24 +02:00
Tom Goff
67117a3af3
daemon: Improve importing custom services.
...
This should help avoid python module name conflicts.
2017-02-24 01:02:08 +00:00
adamson
56896bddd1
fixed issue with indexing EMANE RJ45 objects
2017-02-23 18:40:54 -05:00
Gabriel Somlo
b1ea0574e5
daemon: start Quagga with default user/group names
...
Allow native distribution packages to run with their default user
and group names by no longer forcing "-u root -g root" on any of
the Quagga daemons' command lines.
This should continue to allow hand-compiled and/or "side-loaded"
Quagga software to run as root, if configured to do so at build
time.
Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-02 11:25:53 -05:00
Gabriel Somlo
33906aae9f
daemon: remove Quagga 'vtysh' service
...
Since all Quagga daemons are configured from a consolidated
location (the 'zebra' service), there is nothing left to do
for a dedicated service such as 'vtysh'. This patch removes
the service, along with all references to it from the rest
of the source tree (sample *.imn files, examples, etc.)
Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-02-01 09:55:58 -05:00
Gabriel Somlo
6609d2c394
daemon: streamline Quagga startup
...
Currently, all Quagga daemons are started concurrently by their
respective CORE services, using "quaggaboot.sh" generated by the
'zebra' service. However, all routing services depend on 'zebra'
already running, and 'vtysh' depends on ALL other Quagga services
before it can push configuration from the common "Quagga.conf" to
all running daemons (see "waitforvtyfiles()" in "quaggaboot.sh").
The spinwait+timeout based implementation of "waitforvtyfiles()"
may, depending on load, give up too early and fail to configure
all Quagga daemons.
This patch streamlines the way Quagga daemons are started, by
launching them all from the 'zebra' service. The correct sequence
is to first launch the 'zebra' daemon itself, then proceed with
all routing daemons, and finish with a call to "vtysh -b" which
configures all running daemons.
The list of all applicable daemons to launch is obtained using
'grep' from Quagga.conf, in the same way "waitforvtyfiles()" used
to discover which *.vty files to look for in /var/run/quagga/.
The startup command for all services other than 'zebra' becomes
empty, and "quaggaboot.sh" issues a warning on attempts to have
it launch any other daemon.
Signed-off-by: Gabriel Somlo <glsomlo@cert.org>
2017-01-12 16:40:45 -05:00
Rod A Santiago
6e610f4309
ensured the shutdown event doesn't get sent until all node delete replies have been sent
2016-12-14 17:24:21 -08:00
Tom Goff
c01d1226c3
daemon: Fix determining when to handle API messages locally.
...
This fixes distributed wired scenarios.
The problem was introduced by commit 42b1771
.
2016-10-19 18:49:34 -04: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
6d1b5d28a1
daemon: Remove tracking remote node boot status.
...
The instantiation-complete status of remote servers should indicate
when all nodes are running.
2016-10-12 17:37:13 +00: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
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
8479ccd2c5
daemon: Use a set to store the broker node map.
2016-10-12 17:36:30 +00:00
Tom Goff
6494605298
daemon: Use a set to store broker physical nodes.
2016-10-12 17:36:16 +00:00
Tom Goff
4662164ece
daemon: Use a set to store broker networks.
2016-10-12 17:35:18 +00:00
Tom Goff
31a9f6fb34
daemon: Use a set to store broker handlers.
2016-10-12 15:55:30 +00:00
Rod A Santiago
2d745c339f
Moved classes CoreRequestHandler, CoreDatagramRequestHandler, CoreServer, CoreUdpServer to a separate core.coreserver module. This will allow future definition of auxiliary request handlers for providing alternative interfaces with CORE.
2016-09-14 18:06:19 -07:00
Rod A Santiago
9913168896
Fixed sendnodeemuid to use the handler's sendall() method instead of BaseRequestHandler's request.sendall(). Added a method to retrieve a configuration item by key.
2016-09-14 18:05:52 -07: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
Tom Goff
e5e75756ea
daemon: Remove session-related changes introduced by 68532cb
.
2016-09-05 17:12:16 -04:00
Tom Goff
1c91f41742
daemon: Remove unused traceback code introduced by 68532cb
.
2016-09-05 17:09:49 -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
68532cb818
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:43:39 -07:00
Rod A Santiago
46cd65c821
daemon: added support to set <address> 'iface' attribute with interface name in XML written by CORE so different interface addresses can be discriminated on <testHost> instances
2016-04-20 08:41:59 -07: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
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
Rod A Santiago
5895ba2d20
fixed issue with wlan objects from previous sessions lingering in EbtablesQueue and causing the daemon to hang.
2016-04-19 14:10:03 -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
6f77086540
daemon: Remove __del__() methods.
...
This simplifies Python garbage collection.
2016-03-04 16:57:29 -05:00
Tom Goff
ef85995cc6
daemon: Explicitly close vnode clients at shutdown.
2016-03-04 16:57:17 -05:00
Tom Goff
d4d2f36481
daemon: Fix typo.
2016-02-18 17:23:10 -05:00
Tom Goff
85a3eee5b7
daemon: Have the xpimd service enable IGMP by default.
2016-02-18 15:35:17 -05:00
Tom Goff
360de10e1e
daemon: Add IPv4 multicast routing using xpimd as a Quagga service.
2016-02-17 13:33:19 -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
6dbec302e3
daemon: Use /dev/null for stdin when running state hooks.
2016-01-29 18:47:12 -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
104d05a4be
daemon: Minor code reorganization.
2016-01-29 18:22:08 -05:00
Tom Goff
0333c74bec
daemon: Used the communicate() method to interact with subprocesses.
2016-01-29 16:56:49 -05:00
Tom Goff
6fb1eb9bd6
daemon: Log output from state hooks to a file.
...
Also close other file descriptors when running state hooks.
2016-01-29 16:18:39 -05:00
Rod A Santiago
e8cf15fb64
assigned specific xml element types to network nested devices (switches and hubs) instead of the generic 'host' type
2016-01-28 15:37:52 -08:00
Tom Goff
1787d9e42c
services: Add a terminating newline.
2016-01-06 13:42:17 -05:00
Tom Goff
9440a16ef2
daemon: Add support for EMANE 0.9.3.
2015-12-18 17:12:26 -05:00
Tom Goff
ce0bfc88eb
daemon: Improve handling node-specific directory names.
2015-11-23 09:51:07 -05:00
Tom Goff
adbbafcc11
services: Set 'default' sysctl interface settings in addition to 'all'.
2015-11-12 18:22:41 -05:00
Tom Goff
28c27d27c1
daemon: Simplify event loop timer processing.
2015-11-05 12:37:48 -05:00
Tom Goff
c8d5ec994a
daemon: Include stack trace information when an exception occurs in a
...
session state hook.
2015-11-04 19:06:33 -05:00
Tom Goff
fc9a7c5759
daemon: Fix adding events to an event loop that already has an event
...
pending.
2015-11-04 19:02:21 -05:00
Tom Goff
f16f11c272
daemon: Check if devices are found when generating deployed scenario XML.
2015-10-13 11:07:15 -04:00
Tom Goff
ec5635c4a4
daemon: Add EMANE 0.9.1 R2RI configuration items.
2015-10-09 17:18:18 -04:00
weston
412f86ff15
removed specification of path for executable
2015-10-09 15:54:52 -04:00
weston
0b94aab4ae
removed specification of default mgenBasicActor port (to allow default to be changed by mgenBasicActor)
2015-10-09 15:54:28 -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