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
Tom Goff
cec880e6e2
daemon: Add the EMANE TDMA model to the list of an available models.
2016-12-22 10:53:23 -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
7bbc2aef0e
daemon: Remove the SIGPIPE signal handler.
...
Python installs a default signal handler for SIGPIPE that raises an
exception. Let core-daemon handle the exception instead of exiting.
2016-10-20 18:10:41 -04:00
Rod A Santiago
3f6040a0f3
Merge branch 'master' of https://github.com/coreemu/core
2016-10-19 16:21:10 -07:00
Rod A Santiago
d17ed889d2
remerged with git pending fix to distributed configuration problem
2016-10-19 16:21:06 -07: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
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
Rod A Santiago
35356dc9c8
Merge branch 'master' of https://github.com/coreemu/core
2016-10-18 16:40:47 -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
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
b12c795aa8
removed modules that are currently in the API_2.0 repo
2016-09-23 09:04:01 -07:00
Tom Goff
e1aec0ea1d
daemon/examples: Update the distributed netns example.
...
The number of nodes used can depend on a command-line argument, but
node one should always exist.
2016-09-16 10:48:22 -04: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
Rod A Santiago
520dce894a
New file from NRL
2016-09-14 17:15:43 -07:00
Rod A Santiago
b239b906bd
Cleaned up for checking in to NRL repo
2016-09-14 17:15:16 -07:00
Rod A Santiago
ae4a4b903e
Merged with new version from NRL
2016-09-14 17:13:46 -07:00
Rod A Santiago
928617e613
Merged new versions from NRL
2016-09-14 17:12:25 -07:00
Rod A Santiago
65803f9334
Last cleanup prior to merging with changes in proteanforge
2016-09-13 17:46:39 -07:00
Rod A Santiago
7991cba55e
removed import of apibridge
2016-09-08 17:53:20 -07:00
Rod A Santiago
ebd931d2ec
added methods for adding node/device specific fileds
2016-09-08 17:52:08 -07:00
Rod A Santiago
fa1b79fe68
minor update to start message
2016-09-06 15:48:41 -07:00
Rod A Santiago
3ea417b855
moved servers and request handlers to separate module. added support for auxiliary server with configurable request handlers
2016-09-06 15:46:54 -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
5934b23b18
enabled trace messages only when debugging
2016-08-22 16:45:50 -07:00
Rod A Santiago
695da8a153
Fixed assignment of the session clientId and port_num fields.
2016-08-22 16:10:48 -07:00
Rod A Santiago
1dfacdbaea
handled config messages from the daemon;handled link messages from the daemon; handled modified session message from an api2 client to connect with an experiment that has already been added by other clients
2016-08-22 15:33:50 -07:00
Rod A Santiago
a6e7c0da7e
added methods getDeviceInterfaceByIdx and getNodeInterfaceByIdx
2016-08-22 15:23:18 -07:00