daemon: updated core.services to avoid using deprecated type hinting, also updated string formatting to f strings
This commit is contained in:
parent
7f58224f43
commit
921bfdf527
11 changed files with 435 additions and 500 deletions
|
@ -2,7 +2,7 @@
|
|||
nrl.py: defines services provided by NRL protolib tools hosted here:
|
||||
http://www.nrl.navy.mil/itd/ncs/products
|
||||
"""
|
||||
from typing import Optional, Tuple
|
||||
from typing import Optional
|
||||
|
||||
from core import utils
|
||||
from core.nodes.base import CoreNode
|
||||
|
@ -33,29 +33,29 @@ class NrlService(CoreService):
|
|||
ip4 = iface.get_ip4()
|
||||
if ip4:
|
||||
return f"{ip4.ip}/{prefixlen}"
|
||||
return "0.0.0.0/%s" % prefixlen
|
||||
return f"0.0.0.0/{prefixlen}"
|
||||
|
||||
|
||||
class MgenSinkService(NrlService):
|
||||
name: str = "MGEN_Sink"
|
||||
executables: Tuple[str, ...] = ("mgen",)
|
||||
configs: Tuple[str, ...] = ("sink.mgen",)
|
||||
startup: Tuple[str, ...] = ("mgen input sink.mgen",)
|
||||
validate: Tuple[str, ...] = ("pidof mgen",)
|
||||
shutdown: Tuple[str, ...] = ("killall mgen",)
|
||||
executables: tuple[str, ...] = ("mgen",)
|
||||
configs: tuple[str, ...] = ("sink.mgen",)
|
||||
startup: tuple[str, ...] = ("mgen input sink.mgen",)
|
||||
validate: tuple[str, ...] = ("pidof mgen",)
|
||||
shutdown: tuple[str, ...] = ("killall mgen",)
|
||||
|
||||
@classmethod
|
||||
def generate_config(cls, node: CoreNode, filename: str) -> str:
|
||||
cfg = "0.0 LISTEN UDP 5000\n"
|
||||
for iface in node.get_ifaces():
|
||||
name = utils.sysctl_devname(iface.name)
|
||||
cfg += "0.0 Join 224.225.1.2 INTERFACE %s\n" % name
|
||||
cfg += f"0.0 Join 224.225.1.2 INTERFACE {name}\n"
|
||||
return cfg
|
||||
|
||||
@classmethod
|
||||
def get_startup(cls, node: CoreNode) -> Tuple[str, ...]:
|
||||
def get_startup(cls, node: CoreNode) -> tuple[str, ...]:
|
||||
cmd = cls.startup[0]
|
||||
cmd += " output /tmp/mgen_%s.log" % node.name
|
||||
cmd += f" output /tmp/mgen_{node.name}.log"
|
||||
return (cmd,)
|
||||
|
||||
|
||||
|
@ -65,23 +65,23 @@ class NrlNhdp(NrlService):
|
|||
"""
|
||||
|
||||
name: str = "NHDP"
|
||||
executables: Tuple[str, ...] = ("nrlnhdp",)
|
||||
startup: Tuple[str, ...] = ("nrlnhdp",)
|
||||
shutdown: Tuple[str, ...] = ("killall nrlnhdp",)
|
||||
validate: Tuple[str, ...] = ("pidof nrlnhdp",)
|
||||
executables: tuple[str, ...] = ("nrlnhdp",)
|
||||
startup: tuple[str, ...] = ("nrlnhdp",)
|
||||
shutdown: tuple[str, ...] = ("killall nrlnhdp",)
|
||||
validate: tuple[str, ...] = ("pidof nrlnhdp",)
|
||||
|
||||
@classmethod
|
||||
def get_startup(cls, node: CoreNode) -> Tuple[str, ...]:
|
||||
def get_startup(cls, node: CoreNode) -> tuple[str, ...]:
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
cmd = cls.startup[0]
|
||||
cmd += " -l /var/log/nrlnhdp.log"
|
||||
cmd += " -rpipe %s_nhdp" % node.name
|
||||
cmd += f" -rpipe {node.name}_nhdp"
|
||||
servicenames = map(lambda x: x.name, node.services)
|
||||
if "SMF" in servicenames:
|
||||
cmd += " -flooding ecds"
|
||||
cmd += " -smfClient %s_smf" % node.name
|
||||
cmd += f" -smfClient {node.name}_smf"
|
||||
ifaces = node.get_ifaces(control=False)
|
||||
if len(ifaces) > 0:
|
||||
iface_names = map(lambda x: x.name, ifaces)
|
||||
|
@ -96,11 +96,11 @@ class NrlSmf(NrlService):
|
|||
"""
|
||||
|
||||
name: str = "SMF"
|
||||
executables: Tuple[str, ...] = ("nrlsmf",)
|
||||
startup: Tuple[str, ...] = ("bash startsmf.sh",)
|
||||
shutdown: Tuple[str, ...] = ("killall nrlsmf",)
|
||||
validate: Tuple[str, ...] = ("pidof nrlsmf",)
|
||||
configs: Tuple[str, ...] = ("startsmf.sh",)
|
||||
executables: tuple[str, ...] = ("nrlsmf",)
|
||||
startup: tuple[str, ...] = ("bash startsmf.sh",)
|
||||
shutdown: tuple[str, ...] = ("killall nrlsmf",)
|
||||
validate: tuple[str, ...] = ("pidof nrlsmf",)
|
||||
configs: tuple[str, ...] = ("startsmf.sh",)
|
||||
|
||||
@classmethod
|
||||
def generate_config(cls, node: CoreNode, filename: str) -> str:
|
||||
|
@ -112,7 +112,7 @@ class NrlSmf(NrlService):
|
|||
cfg = "#!/bin/sh\n"
|
||||
cfg += "# auto-generated by nrl.py:NrlSmf.generateconfig()\n"
|
||||
comments = ""
|
||||
cmd = "nrlsmf instance %s_smf" % node.name
|
||||
cmd = f"nrlsmf instance {node.name}_smf"
|
||||
|
||||
servicenames = map(lambda x: x.name, node.services)
|
||||
ifaces = node.get_ifaces(control=False)
|
||||
|
@ -142,13 +142,13 @@ class NrlOlsr(NrlService):
|
|||
"""
|
||||
|
||||
name: str = "OLSR"
|
||||
executables: Tuple[str, ...] = ("nrlolsrd",)
|
||||
startup: Tuple[str, ...] = ("nrlolsrd",)
|
||||
shutdown: Tuple[str, ...] = ("killall nrlolsrd",)
|
||||
validate: Tuple[str, ...] = ("pidof nrlolsrd",)
|
||||
executables: tuple[str, ...] = ("nrlolsrd",)
|
||||
startup: tuple[str, ...] = ("nrlolsrd",)
|
||||
shutdown: tuple[str, ...] = ("killall nrlolsrd",)
|
||||
validate: tuple[str, ...] = ("pidof nrlolsrd",)
|
||||
|
||||
@classmethod
|
||||
def get_startup(cls, node: CoreNode) -> Tuple[str, ...]:
|
||||
def get_startup(cls, node: CoreNode) -> tuple[str, ...]:
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
|
@ -157,13 +157,13 @@ class NrlOlsr(NrlService):
|
|||
ifaces = node.get_ifaces()
|
||||
if len(ifaces) > 0:
|
||||
iface = ifaces[0]
|
||||
cmd += " -i %s" % iface.name
|
||||
cmd += f" -i {iface.name}"
|
||||
cmd += " -l /var/log/nrlolsrd.log"
|
||||
cmd += " -rpipe %s_olsr" % node.name
|
||||
cmd += f" -rpipe {node.name}_olsr"
|
||||
servicenames = map(lambda x: x.name, node.services)
|
||||
if "SMF" in servicenames and "NHDP" not in servicenames:
|
||||
cmd += " -flooding s-mpr"
|
||||
cmd += " -smfClient %s_smf" % node.name
|
||||
cmd += f" -smfClient {node.name}_smf"
|
||||
if "zebra" in servicenames:
|
||||
cmd += " -z"
|
||||
return (cmd,)
|
||||
|
@ -175,23 +175,23 @@ class NrlOlsrv2(NrlService):
|
|||
"""
|
||||
|
||||
name: str = "OLSRv2"
|
||||
executables: Tuple[str, ...] = ("nrlolsrv2",)
|
||||
startup: Tuple[str, ...] = ("nrlolsrv2",)
|
||||
shutdown: Tuple[str, ...] = ("killall nrlolsrv2",)
|
||||
validate: Tuple[str, ...] = ("pidof nrlolsrv2",)
|
||||
executables: tuple[str, ...] = ("nrlolsrv2",)
|
||||
startup: tuple[str, ...] = ("nrlolsrv2",)
|
||||
shutdown: tuple[str, ...] = ("killall nrlolsrv2",)
|
||||
validate: tuple[str, ...] = ("pidof nrlolsrv2",)
|
||||
|
||||
@classmethod
|
||||
def get_startup(cls, node: CoreNode) -> Tuple[str, ...]:
|
||||
def get_startup(cls, node: CoreNode) -> tuple[str, ...]:
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
cmd = cls.startup[0]
|
||||
cmd += " -l /var/log/nrlolsrv2.log"
|
||||
cmd += " -rpipe %s_olsrv2" % node.name
|
||||
cmd += f" -rpipe {node.name}_olsrv2"
|
||||
servicenames = map(lambda x: x.name, node.services)
|
||||
if "SMF" in servicenames:
|
||||
cmd += " -flooding ecds"
|
||||
cmd += " -smfClient %s_smf" % node.name
|
||||
cmd += f" -smfClient {node.name}_smf"
|
||||
cmd += " -p olsr"
|
||||
ifaces = node.get_ifaces(control=False)
|
||||
if len(ifaces) > 0:
|
||||
|
@ -207,15 +207,15 @@ class OlsrOrg(NrlService):
|
|||
"""
|
||||
|
||||
name: str = "OLSRORG"
|
||||
executables: Tuple[str, ...] = ("olsrd",)
|
||||
configs: Tuple[str, ...] = ("/etc/olsrd/olsrd.conf",)
|
||||
dirs: Tuple[str, ...] = ("/etc/olsrd",)
|
||||
startup: Tuple[str, ...] = ("olsrd",)
|
||||
shutdown: Tuple[str, ...] = ("killall olsrd",)
|
||||
validate: Tuple[str, ...] = ("pidof olsrd",)
|
||||
executables: tuple[str, ...] = ("olsrd",)
|
||||
configs: tuple[str, ...] = ("/etc/olsrd/olsrd.conf",)
|
||||
dirs: tuple[str, ...] = ("/etc/olsrd",)
|
||||
startup: tuple[str, ...] = ("olsrd",)
|
||||
shutdown: tuple[str, ...] = ("killall olsrd",)
|
||||
validate: tuple[str, ...] = ("pidof olsrd",)
|
||||
|
||||
@classmethod
|
||||
def get_startup(cls, node: CoreNode) -> Tuple[str, ...]:
|
||||
def get_startup(cls, node: CoreNode) -> tuple[str, ...]:
|
||||
"""
|
||||
Generate the appropriate command-line based on node interfaces.
|
||||
"""
|
||||
|
@ -558,11 +558,11 @@ class MgenActor(NrlService):
|
|||
# a unique name is required, without spaces
|
||||
name: str = "MgenActor"
|
||||
group: str = "ProtoSvc"
|
||||
executables: Tuple[str, ...] = ("mgen",)
|
||||
configs: Tuple[str, ...] = ("start_mgen_actor.sh",)
|
||||
startup: Tuple[str, ...] = ("bash start_mgen_actor.sh",)
|
||||
validate: Tuple[str, ...] = ("pidof mgen",)
|
||||
shutdown: Tuple[str, ...] = ("killall mgen",)
|
||||
executables: tuple[str, ...] = ("mgen",)
|
||||
configs: tuple[str, ...] = ("start_mgen_actor.sh",)
|
||||
startup: tuple[str, ...] = ("bash start_mgen_actor.sh",)
|
||||
validate: tuple[str, ...] = ("pidof mgen",)
|
||||
shutdown: tuple[str, ...] = ("killall mgen",)
|
||||
|
||||
@classmethod
|
||||
def generate_config(cls, node: CoreNode, filename: str) -> str:
|
||||
|
@ -574,7 +574,7 @@ class MgenActor(NrlService):
|
|||
cfg = "#!/bin/sh\n"
|
||||
cfg += "# auto-generated by nrl.py:MgenActor.generateconfig()\n"
|
||||
comments = ""
|
||||
cmd = "mgenBasicActor.py -n %s -a 0.0.0.0" % node.name
|
||||
cmd = f"mgenBasicActor.py -n {node.name} -a 0.0.0.0"
|
||||
ifaces = node.get_ifaces(control=False)
|
||||
if len(ifaces) == 0:
|
||||
return ""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue