Commit graph

192 commits

Author SHA1 Message Date
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
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
Blake Harnden
c0ce07404f moved service validation to debug, to limit error messages causing confusion about failures 2019-09-13 13:26:30 -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
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
Blake Harnden
2cd0f381ea updated ovs service to use fail mode secure 2019-07-19 11:35:01 -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
db7bfe12bd pass on updated pydocs to reflect path changes 2019-06-07 08:59:16 -07:00
Blake Harnden
597bd21994 updated logging.warn to logging.warning due to deprecation in python3, fixed python 2/3 filter issue in tests, fixed utf decoding for some missed popen commands 2019-06-03 14:36:21 -07:00
bharnden
1e98175e35 refactored usages of iteritems, itervalues, and iterkeys to be 2/3 compliant 2019-05-05 21:23:43 -07:00
bharnden
8d6bf54a16 removed usage of longs, updated int instance checking and octal constants to be 2/3 compliant 2019-05-05 17:11:07 -07:00
bharnden
66e603906a updates to layout core module packages in a more logical way, including renaming methods from objects to nodes and nodes.objid to nodes.id 2019-04-29 23:31:47 -07:00
bharnden
9517740704 initial refactor for all variables named objid 2019-04-26 22:07:51 -07:00
apwiggins
46e58ff187
Update frr.py 2019-04-10 16:17:44 -03:00
apwiggins
840a27632d
Update frr.py to use pimd 2019-04-10 09:23:11 -03:00
apwiggins
a3c3d0c18d
Add FRR service file 2019-04-09 18:07:00 -03:00
bharnden
7aee2b2ba7 updated logging usage, to use the library directly and avoid imposing a core config by default, allowing users of the core library to configure logging as desired 2019-02-16 09:50:19 -08:00
bharnden
03d0e90db5
Merge pull request #198 from coreemu/bugfix/reduce-default-core-daemon-logging
quiet core-daemon by replacing warn messages with debug
2018-11-14 15:26:50 -08:00
bharnden
a7bc7500fb
Merge branch 'master' into cleanup/codacy-cleanup 2018-10-18 16:21:05 -07:00
bharnden
f5da989eca
Merge pull request #203 from coreemu/bugfix/fix-dhcp-service-under-ubuntu1804
fix DHCP server service to work under Ubuntu 18.04
2018-10-16 11:26:31 -07:00
Jeff Ahrenholz
8f8ca04562 codacy: fix trailing whitespace 2018-10-16 10:15:04 -07:00
bharnden
12cc40d3d3 cleaned up core.emane, core.services, core.xml, fixed bug introduced in coreobj.py 2018-10-11 17:26:34 -07:00
bharnden
ca107a3207 #199 small tweaks to be consistent with rest of code 2018-10-10 14:49:51 -07:00
Jeff Ahrenholz
853ae94d52 fix DHCP server service to work under Ubuntu 18.04 2018-10-10 10:11:32 -07:00
Jeff Ahrenholz
9399218123 enable OSPFv2 fast convergence, and fix router-id for IPv6-only nodes 2018-10-10 09:58:18 -07:00
Jeff Ahrenholz
366f63fb96 add a source NAT service using iptables masquerade 2018-10-09 15:19:14 -07:00
Jeff Ahrenholz
18d4908bf8 quiet core-daemon by replacing warn messages with debug 2018-10-09 10:13:12 -07:00
Andreas Martens
7dedaa0344 add comments to the OVS service 2018-07-30 15:12:08 +01:00
Blake J. Harnden
3d59a68299 refactored how getters for configurations worked, to avoid setting defaults and causing undesireable states 2018-07-11 21:34:21 -07:00
Blake J. Harnden
bfbee35a53 updates to support external transport configuration and an emane transport service to generate and run emanetransport for a configured external transport model 2018-07-11 09:19:06 -07:00
Blake J. Harnden
bb533406a6 refactored service methods to be shorter, updated some logging to debug, added some more service tests 2018-06-22 15:47:02 -07:00
Blake J. Harnden
37517c45f4 changed some logging from info to debug, removed startindex and depends from services 2018-06-22 08:16:59 -07:00
Blake J. Harnden
0aca9d7809 changes to remove the need to pass services separately, when the node has access to them directly, also made a couple CoreServices methods more consistent to have the node as first param and service second 2018-06-21 14:56:30 -07:00
Blake J. Harnden
b868454b5e updates to use dependency based startup logic 2018-06-21 11:20:08 -07:00
Blake J. Harnden
ed4e6f0f00 removed startup service 2018-06-20 13:07:43 -07:00
Blake J. Harnden
37ce407460 added logic to help provide dependent service ordering 2018-06-19 18:36:53 -07:00
Blake J. Harnden
bf47e5fc0d added service executable check, added error message to gui for service load errors 2018-06-19 09:19:49 -07:00
Blake J. Harnden
e80736061f refactored service interaction use names with a _, and cleanup up some of the CoreServices methods 2018-06-15 14:03:27 -07:00
Blake J. Harnden
eb415aa4d4 merged session config/options together 2018-06-12 08:37:39 -07:00
Blake J. Harnden
c65baa9298 update to add a way to avoid loading parent service classes, that inherit from CoreService that should not be loaded on their own 2018-04-20 21:40:55 -07:00
Blake J. Harnden
64f501ac79 fixed issue with configuring a couple nrl services, fixed other issues with coresendmsg 2018-03-26 14:36:43 -07:00
Blake J. Harnden
bc1e3e70c9 initial pass at removing bsd and code related to using bsd nodes 2018-03-07 12:54:19 -08:00
Blake J. Harnden
974559843a defined custom core command error that defaults to printing command output as well 2018-03-02 16:22:20 -08:00
Blake J. Harnden
00b3c97448 further removal and refactoring of methods used within misc/utils.py 2018-03-02 09:15:52 -08:00
Blake J. Harnden
d3bd61ddcf updates to consolidate commands that need to be defined by a new node type 2018-03-01 13:21:25 -08:00
Blake J. Harnden
f3863ead73 removed service load methids, since they are no longer used, added way for custom service load code to facilitate the unique docker service case 2017-08-07 16:40:39 -07:00
Blake J. Harnden
e4b280196b switched to making use of logzero for logging, provides nicer color output, and an easier path to switch to rotating log files 2017-08-07 11:58:51 -07:00
Blake J. Harnden
850cc599c8 refactored how services are loaded to be more dynamic 2017-08-03 16:33:54 -07:00
Blake J. Harnden
05ce19b0c0 fixed refactoring issues in mobility.py, fixed issue with parsing config files in a tuple string format 2017-08-02 14:07:56 -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
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
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
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
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
928617e613 Merged new versions from NRL 2016-09-14 17:12:25 -07: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
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
1787d9e42c services: Add a terminating newline. 2016-01-06 13:42:17 -05:00
Tom Goff
adbbafcc11 services: Set 'default' sysctl interface settings in addition to 'all'. 2015-11-12 18:22:41 -05: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
ac19cfa7ff daemon: Add a startup service.
When enabled, the startup service ensures that other node services
start in order (according to the service _startindex value) and that
the prior service completes before the next service starts.  It also
captures any output from startup commands in a file named
'startup.log'.
2015-09-11 18:12:57 -04:00
tgoff0
e905648d68 change the default pipe name of olsrv2 2015-05-22 00:54:49 +00:00
tgoff0
692afe7f81 services: Improve the mgen actor service.
Fix shutdown and add a validation command.
2015-04-10 00:55:15 +00:00
tgoff0
4957b73e44 added shutdown to mgen actor
From: macker
2015-04-03 01:49:15 +00:00
tgoff0
61d0f34982 added a default olsrd config file to the olsrorg service template
From: dean
2015-03-09 15:21:22 +00:00
tgoff0
bc3ba68b28 daemon/services: Update NRL services. 2015-02-05 00:15:54 +00:00
tgoff0
458d1d64e6 added olsr.org service template 2015-01-21 21:38:15 +00:00
tgoff0
d40b0dd89c Adjust file mode bits. 2015-01-21 21:38:02 +00:00
ahrenholz
c5f1fa7d13 added docker service file from r603 2014-10-31 18:47:57 +00:00
ahrenholz
267c49dfab added Docker service contributed by Stuart Marsden, with some mods
fixes bug #264
(Boeing r1896)
2014-10-31 16:45:03 +00:00
ahrenholz
f61522207d update HTTP service to support apache 2.4 on Ubuntu 14.04 (fixes bug #261)
(Boeing r1895)
2014-10-30 18:13:43 +00:00
ahrenholz
81a22a7192 NRL SVN r954 / dean:
added nrl services for an mgen sink and nrlolsrv2
(Boeing r1831)
2014-04-03 14:43:23 +00:00
ahrenholz
3b01f99e2c use a shell script to start SMF and detach stdin/stdout/stderr
(Boeing r1822)
2014-01-22 17:31:40 +00:00
ahrenholz
9e955d22f0 update MDR service to use broadcast interfaces for links to non-WLAN nets
(Boeing r1812)
2013-12-16 18:52:41 +00:00
ahrenholz
d281682772 globally replace old NRL URL with new
http://www.nrl.navy.mil/itd/ncs/products/core
(Boeing r1803)
2013-12-04 21:45:42 +00:00
ahrenholz
d676a9fd59 (Boeing r1783)
fix HTTP service running under Ubuntu by setting up /var/lock/apache2 dir
2013-10-22 14:23:57 +00:00
ahrenholz
f8f46d28be initial import (Boeing r1752, NRL r878) 2013-08-29 14:21:13 +00:00