refactored service methods to be shorter, updated some logging to debug, added some more service tests
This commit is contained in:
parent
8186f3716c
commit
bb533406a6
23 changed files with 226 additions and 112 deletions
|
@ -19,7 +19,7 @@ class Bird(CoreService):
|
|||
validate = ("pidof bird",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the bird.conf file contents.
|
||||
"""
|
||||
|
|
|
@ -123,7 +123,7 @@ class DockerService(CoreService):
|
|||
image = ""
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Returns a string having contents of a docker.sh script that
|
||||
can be modified to start a specific docker image.
|
||||
|
|
|
@ -21,7 +21,7 @@ class NrlService(CoreService):
|
|||
shutdown = ()
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
return ""
|
||||
|
||||
@staticmethod
|
||||
|
@ -52,7 +52,7 @@ class MgenSinkService(NrlService):
|
|||
shutdown = ("killall mgen",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
cfg = "0.0 LISTEN UDP 5000\n"
|
||||
for ifc in node.netifs():
|
||||
name = utils.sysctl_devname(ifc.name)
|
||||
|
@ -60,7 +60,7 @@ class MgenSinkService(NrlService):
|
|||
return cfg
|
||||
|
||||
@classmethod
|
||||
def getstartup(cls, node):
|
||||
def get_startup(cls, node):
|
||||
cmd = cls.startup[0]
|
||||
cmd += " output /tmp/mgen_%s.log" % node.name
|
||||
return cmd,
|
||||
|
@ -77,7 +77,7 @@ class NrlNhdp(NrlService):
|
|||
validate = ("pidof nrlnhdp",)
|
||||
|
||||
@classmethod
|
||||
def getstartup(cls, node):
|
||||
def get_startup(cls, node):
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
|
@ -111,7 +111,7 @@ class NrlSmf(NrlService):
|
|||
configs = ("startsmf.sh",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename, ):
|
||||
def generate_config(cls, node, filename, ):
|
||||
"""
|
||||
Generate a startup script for SMF. Because nrlsmf does not
|
||||
daemonize, it can cause problems in some situations when launched
|
||||
|
@ -162,7 +162,7 @@ class NrlOlsr(NrlService):
|
|||
validate = ("pidof nrlolsrd",)
|
||||
|
||||
@classmethod
|
||||
def getstartup(cls, node):
|
||||
def get_startup(cls, node):
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
|
@ -196,7 +196,7 @@ class NrlOlsrv2(NrlService):
|
|||
validate = ("pidof nrlolsrv2",)
|
||||
|
||||
@classmethod
|
||||
def getstartup(cls, node):
|
||||
def get_startup(cls, node):
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
|
@ -233,7 +233,7 @@ class OlsrOrg(NrlService):
|
|||
validate = ("pidof olsrd",)
|
||||
|
||||
@classmethod
|
||||
def getstartup(cls, node):
|
||||
def get_startup(cls, node):
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
|
@ -247,7 +247,7 @@ class OlsrOrg(NrlService):
|
|||
return cmd,
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a default olsrd config file to use the broadcast address of 255.255.255.255.
|
||||
"""
|
||||
|
@ -591,7 +591,7 @@ class MgenActor(NrlService):
|
|||
shutdown = ("killall mgen",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a startup script for MgenActor. Because mgenActor does not
|
||||
daemonize, it can cause problems in some situations when launched
|
||||
|
@ -623,7 +623,7 @@ class Arouted(NrlService):
|
|||
validate = ("pidof arouted",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the Quagga.conf or quaggaboot.sh file contents.
|
||||
"""
|
||||
|
|
|
@ -23,7 +23,7 @@ class Zebra(CoreService):
|
|||
validate = ("pidof zebra",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the Quagga.conf or quaggaboot.sh file contents.
|
||||
"""
|
||||
|
@ -259,7 +259,7 @@ class QuaggaService(CoreService):
|
|||
return False
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
return ""
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -14,7 +14,7 @@ class SdnService(CoreService):
|
|||
group = "SDN"
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
return ""
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@ class OvsService(SdnService):
|
|||
shutdown = ('killall ovs-vswitchd', 'killall ovsdb-server')
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
# Check whether the node is running zebra
|
||||
has_zebra = 0
|
||||
for s in node.services:
|
||||
|
@ -101,7 +101,7 @@ class RyuService(SdnService):
|
|||
shutdown = ('killall ryu-manager',)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return a string that will be written to filename, or sent to the
|
||||
GUI for user customization.
|
||||
|
|
|
@ -18,7 +18,7 @@ class VPNClient(CoreService):
|
|||
custom_needed = True
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the client.conf and vpnclient.sh file contents to
|
||||
"""
|
||||
|
@ -44,7 +44,7 @@ class VPNServer(CoreService):
|
|||
custom_needed = True
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the sample server.conf and vpnserver.sh file contents to
|
||||
GUI for user customization.
|
||||
|
@ -70,7 +70,7 @@ class IPsec(CoreService):
|
|||
custom_needed = True
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the ipsec.conf and racoon.conf file contents to
|
||||
GUI for user customization.
|
||||
|
@ -96,7 +96,7 @@ class Firewall(CoreService):
|
|||
custom_needed = True
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the firewall rule examples to GUI for user customization.
|
||||
"""
|
||||
|
|
|
@ -18,7 +18,7 @@ class Ucarp(CoreService):
|
|||
validate = ("pidof ucarp",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Return the default file contents
|
||||
"""
|
||||
|
|
|
@ -24,7 +24,7 @@ class UtilService(CoreService):
|
|||
shutdown = ()
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
return ""
|
||||
|
||||
|
||||
|
@ -34,7 +34,7 @@ class IPForwardService(UtilService):
|
|||
startup = ("sh ipforward.sh",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
if os.uname()[0] == "Linux":
|
||||
return cls.generateconfiglinux(node, filename)
|
||||
else:
|
||||
|
@ -69,7 +69,7 @@ class DefaultRouteService(UtilService):
|
|||
startup = ("sh defaultroute.sh",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
cfg = "#!/bin/sh\n"
|
||||
cfg += "# auto-generated by DefaultRoute service (utility.py)\n"
|
||||
for ifc in node.netifs():
|
||||
|
@ -103,7 +103,7 @@ class DefaultMulticastRouteService(UtilService):
|
|||
startup = ("sh defaultmroute.sh",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
cfg = "#!/bin/sh\n"
|
||||
cfg += "# auto-generated by DefaultMulticastRoute service (utility.py)\n"
|
||||
cfg += "# the first interface is chosen below; please change it "
|
||||
|
@ -129,7 +129,7 @@ class StaticRouteService(UtilService):
|
|||
custom_needed = True
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
cfg = "#!/bin/sh\n"
|
||||
cfg += "# auto-generated by StaticRoute service (utility.py)\n#\n"
|
||||
cfg += "# NOTE: this service must be customized to be of any use\n"
|
||||
|
@ -170,7 +170,7 @@ class SshService(UtilService):
|
|||
validate = ()
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Use a startup script for launching sshd in order to wait for host
|
||||
key generation.
|
||||
|
@ -238,7 +238,7 @@ class DhcpService(UtilService):
|
|||
validate = ("pidof dhcpd",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a dhcpd config file using the network address of
|
||||
each interface.
|
||||
|
@ -300,7 +300,7 @@ class DhcpClientService(UtilService):
|
|||
validate = ("pidof dhclient",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a script to invoke dhclient on all interfaces.
|
||||
"""
|
||||
|
@ -332,7 +332,7 @@ class FtpService(UtilService):
|
|||
validate = ("pidof vsftpd",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a vsftpd.conf configuration file.
|
||||
"""
|
||||
|
@ -368,7 +368,7 @@ class HttpService(UtilService):
|
|||
APACHEVER22, APACHEVER24 = (22, 24)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate an apache2.conf configuration file.
|
||||
"""
|
||||
|
@ -577,7 +577,7 @@ class PcapService(UtilService):
|
|||
meta = "logs network traffic to pcap packet capture files"
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a startpcap.sh traffic logging script.
|
||||
"""
|
||||
|
@ -615,7 +615,7 @@ class RadvdService(UtilService):
|
|||
validate = ("pidof radvd",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Generate a RADVD router advertisement daemon config file
|
||||
using the network address of each interface.
|
||||
|
@ -674,7 +674,7 @@ class AtdService(UtilService):
|
|||
shutdown = ("pkill atd",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
return """
|
||||
#!/bin/sh
|
||||
echo 00001 > /var/spool/cron/atjobs/.SEQ
|
||||
|
|
|
@ -21,7 +21,7 @@ class XorpRtrmgr(CoreService):
|
|||
validate = ("pidof xorp_rtrmgr",)
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
"""
|
||||
Returns config.boot configuration file text. Other services that
|
||||
depend on this will have generatexorpconfig() hooks that are
|
||||
|
@ -150,7 +150,7 @@ class XorpService(CoreService):
|
|||
return "0.0.0.0"
|
||||
|
||||
@classmethod
|
||||
def generateconfig(cls, node, filename):
|
||||
def generate_config(cls, node, filename):
|
||||
return ""
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue