initial changes to use f strings
This commit is contained in:
parent
da946f1f56
commit
c9326b6a97
8 changed files with 70 additions and 72 deletions
|
@ -10,11 +10,9 @@ class CoreCommandError(subprocess.CalledProcessError):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "Command(%s), Status(%s):\nstdout: %s\nstderr: %s" % (
|
return (
|
||||||
self.cmd,
|
f"Command({self.cmd}), Status({self.returncode}):\n"
|
||||||
self.returncode,
|
f"stdout: {self.output}\nstderr: {self.stderr}"
|
||||||
self.output,
|
|
||||||
self.stderr,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ class VnodeClient(object):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def create_cmd(self, args):
|
def create_cmd(self, args):
|
||||||
return "%s -c %s -- %s" % (VCMD_BIN, self.ctrlchnlname, args)
|
return f"{VCMD_BIN} -c {self.ctrlchnlname} -- {args}"
|
||||||
|
|
||||||
def check_cmd(self, args, wait=True):
|
def check_cmd(self, args, wait=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -226,13 +226,13 @@ class DockerNode(CoreNode):
|
||||||
temp.close()
|
temp.close()
|
||||||
|
|
||||||
if directory:
|
if directory:
|
||||||
self.node_net_cmd("mkdir -m %o -p %s" % (0o755, directory))
|
self.node_net_cmd(f"mkdir -m {0o755:o} -p {directory}")
|
||||||
if self.server is not None:
|
if self.server is not None:
|
||||||
self.server.remote_put(temp.name, temp.name)
|
self.server.remote_put(temp.name, temp.name)
|
||||||
self.client.copy_file(temp.name, filename)
|
self.client.copy_file(temp.name, filename)
|
||||||
self.node_net_cmd("chmod %o %s" % (mode, filename))
|
self.node_net_cmd(f"chmod {mode:o} {filename}")
|
||||||
if self.server is not None:
|
if self.server is not None:
|
||||||
self.net_cmd("rm -f %s" % temp.name)
|
self.net_cmd(f"rm -f {temp.name}")
|
||||||
os.unlink(temp.name)
|
os.unlink(temp.name)
|
||||||
logging.debug(
|
logging.debug(
|
||||||
"node(%s) added file: %s; mode: 0%o", self.name, filename, mode
|
"node(%s) added file: %s; mode: 0%o", self.name, filename, mode
|
||||||
|
@ -252,7 +252,7 @@ class DockerNode(CoreNode):
|
||||||
"node file copy file(%s) source(%s) mode(%s)", filename, srcfilename, mode
|
"node file copy file(%s) source(%s) mode(%s)", filename, srcfilename, mode
|
||||||
)
|
)
|
||||||
directory = os.path.dirname(filename)
|
directory = os.path.dirname(filename)
|
||||||
self.node_net_cmd("mkdir -p %s" % directory)
|
self.node_net_cmd(f"mkdir -p {directory}")
|
||||||
|
|
||||||
if self.server is None:
|
if self.server is None:
|
||||||
source = srcfilename
|
source = srcfilename
|
||||||
|
@ -262,4 +262,4 @@ class DockerNode(CoreNode):
|
||||||
self.server.remote_put(source, temp.name)
|
self.server.remote_put(source, temp.name)
|
||||||
|
|
||||||
self.client.copy_file(source, filename)
|
self.client.copy_file(source, filename)
|
||||||
self.node_net_cmd("chmod %o %s" % (mode, filename))
|
self.node_net_cmd(f"chmod {mode:o} {filename}")
|
||||||
|
|
|
@ -344,7 +344,7 @@ class TunTap(CoreInterface):
|
||||||
if r == 0:
|
if r == 0:
|
||||||
result = True
|
result = True
|
||||||
break
|
break
|
||||||
msg = "attempt %s failed with nonzero exit status %s" % (i, r)
|
msg = f"attempt {i} failed with nonzero exit status {r}"
|
||||||
if i < attempts + 1:
|
if i < attempts + 1:
|
||||||
msg += ", retrying..."
|
msg += ", retrying..."
|
||||||
logging.info(msg)
|
logging.info(msg)
|
||||||
|
@ -480,7 +480,7 @@ class GreTap(CoreInterface):
|
||||||
self.id = _id
|
self.id = _id
|
||||||
sessionid = self.session.short_session_id()
|
sessionid = self.session.short_session_id()
|
||||||
# interface name on the local host machine
|
# interface name on the local host machine
|
||||||
self.localname = "gt.%s.%s" % (self.id, sessionid)
|
self.localname = f"gt.{self.id}.{sessionid}"
|
||||||
self.transport_type = "raw"
|
self.transport_type = "raw"
|
||||||
if not start:
|
if not start:
|
||||||
self.up = False
|
self.up = False
|
||||||
|
|
|
@ -29,7 +29,7 @@ class MacAddress(object):
|
||||||
:return: string representation
|
:return: string representation
|
||||||
:rtype: str
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
return ":".join("%02x" % x for x in bytearray(self.addr))
|
return ":".join(f"{x:02x}" for x in bytearray(self.addr))
|
||||||
|
|
||||||
def to_link_local(self):
|
def to_link_local(self):
|
||||||
"""
|
"""
|
||||||
|
@ -217,14 +217,14 @@ class IpPrefix(object):
|
||||||
# prefixstr format: address/prefixlen
|
# prefixstr format: address/prefixlen
|
||||||
tmp = prefixstr.split("/")
|
tmp = prefixstr.split("/")
|
||||||
if len(tmp) > 2:
|
if len(tmp) > 2:
|
||||||
raise ValueError("invalid prefix: %s" % prefixstr)
|
raise ValueError(f"invalid prefix: {prefixstr}")
|
||||||
self.af = af
|
self.af = af
|
||||||
if self.af == AF_INET:
|
if self.af == AF_INET:
|
||||||
self.addrlen = 32
|
self.addrlen = 32
|
||||||
elif self.af == AF_INET6:
|
elif self.af == AF_INET6:
|
||||||
self.addrlen = 128
|
self.addrlen = 128
|
||||||
else:
|
else:
|
||||||
raise ValueError("invalid address family: %s" % self.af)
|
raise ValueError(f"invalid address family: {self.af}")
|
||||||
if len(tmp) == 2:
|
if len(tmp) == 2:
|
||||||
self.prefixlen = int(tmp[1])
|
self.prefixlen = int(tmp[1])
|
||||||
else:
|
else:
|
||||||
|
@ -247,7 +247,8 @@ class IpPrefix(object):
|
||||||
:return: string representation
|
:return: string representation
|
||||||
:rtype: str
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
return "%s/%s" % (socket.inet_ntop(self.af, self.prefix), self.prefixlen)
|
address = socket.inet_ntop(self.af, self.prefix)
|
||||||
|
return f"{address}/{self.prefixlen}"
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
"""
|
"""
|
||||||
|
@ -283,7 +284,7 @@ class IpPrefix(object):
|
||||||
return NotImplemented
|
return NotImplemented
|
||||||
|
|
||||||
a = IpAddress(self.af, self.prefix) + (tmp << (self.addrlen - self.prefixlen))
|
a = IpAddress(self.af, self.prefix) + (tmp << (self.addrlen - self.prefixlen))
|
||||||
prefixstr = "%s/%s" % (a, self.prefixlen)
|
prefixstr = f"{a}/{self.prefixlen}"
|
||||||
if self.__class__ == IpPrefix:
|
if self.__class__ == IpPrefix:
|
||||||
return self.__class__(self.af, prefixstr)
|
return self.__class__(self.af, prefixstr)
|
||||||
else:
|
else:
|
||||||
|
@ -324,7 +325,7 @@ class IpPrefix(object):
|
||||||
self.af == AF_INET and tmp == (1 << (self.addrlen - self.prefixlen)) - 1
|
self.af == AF_INET and tmp == (1 << (self.addrlen - self.prefixlen)) - 1
|
||||||
)
|
)
|
||||||
):
|
):
|
||||||
raise ValueError("invalid hostid for prefix %s: %s" % (self, hostid))
|
raise ValueError(f"invalid hostid for prefix {self}: {hostid}")
|
||||||
|
|
||||||
addr = bytes(b"")
|
addr = bytes(b"")
|
||||||
prefix_endpoint = -1
|
prefix_endpoint = -1
|
||||||
|
@ -374,7 +375,7 @@ class IpPrefix(object):
|
||||||
:return: prefix string
|
:return: prefix string
|
||||||
:rtype: str
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
return "%s" % socket.inet_ntop(self.af, self.prefix)
|
return socket.inet_ntop(self.af, self.prefix)
|
||||||
|
|
||||||
def netmask_str(self):
|
def netmask_str(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -184,13 +184,13 @@ class LxcNode(CoreNode):
|
||||||
temp.close()
|
temp.close()
|
||||||
|
|
||||||
if directory:
|
if directory:
|
||||||
self.node_net_cmd("mkdir -m %o -p %s" % (0o755, directory))
|
self.node_net_cmd(f"mkdir -m {0o755:o} -p {directory}")
|
||||||
if self.server is not None:
|
if self.server is not None:
|
||||||
self.server.remote_put(temp.name, temp.name)
|
self.server.remote_put(temp.name, temp.name)
|
||||||
self.client.copy_file(temp.name, filename)
|
self.client.copy_file(temp.name, filename)
|
||||||
self.node_net_cmd("chmod %o %s" % (mode, filename))
|
self.node_net_cmd(f"chmod {mode:o} {filename}")
|
||||||
if self.server is not None:
|
if self.server is not None:
|
||||||
self.net_cmd("rm -f %s" % temp.name)
|
self.net_cmd(f"rm -f {temp.name}")
|
||||||
os.unlink(temp.name)
|
os.unlink(temp.name)
|
||||||
logging.debug("node(%s) added file: %s; mode: 0%o", self.name, filename, mode)
|
logging.debug("node(%s) added file: %s; mode: 0%o", self.name, filename, mode)
|
||||||
|
|
||||||
|
@ -208,7 +208,7 @@ class LxcNode(CoreNode):
|
||||||
"node file copy file(%s) source(%s) mode(%s)", filename, srcfilename, mode
|
"node file copy file(%s) source(%s) mode(%s)", filename, srcfilename, mode
|
||||||
)
|
)
|
||||||
directory = os.path.dirname(filename)
|
directory = os.path.dirname(filename)
|
||||||
self.node_net_cmd("mkdir -p %s" % directory)
|
self.node_net_cmd(f"mkdir -p {directory}")
|
||||||
|
|
||||||
if self.server is None:
|
if self.server is None:
|
||||||
source = srcfilename
|
source = srcfilename
|
||||||
|
@ -218,7 +218,7 @@ class LxcNode(CoreNode):
|
||||||
self.server.remote_put(source, temp.name)
|
self.server.remote_put(source, temp.name)
|
||||||
|
|
||||||
self.client.copy_file(source, filename)
|
self.client.copy_file(source, filename)
|
||||||
self.node_net_cmd("chmod %o %s" % (mode, filename))
|
self.node_net_cmd(f"chmod {mode:o} {filename}")
|
||||||
|
|
||||||
def addnetif(self, netif, ifindex):
|
def addnetif(self, netif, ifindex):
|
||||||
super(LxcNode, self).addnetif(netif, ifindex)
|
super(LxcNode, self).addnetif(netif, ifindex)
|
||||||
|
|
|
@ -41,7 +41,7 @@ class LinuxNetClient(object):
|
||||||
:param str name: name for hostname
|
:param str name: name for hostname
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("hostname %s" % name)
|
self.run(f"hostname {name}")
|
||||||
|
|
||||||
def create_route(self, route, device):
|
def create_route(self, route, device):
|
||||||
"""
|
"""
|
||||||
|
@ -51,7 +51,7 @@ class LinuxNetClient(object):
|
||||||
:param str device: device to add route to
|
:param str device: device to add route to
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s route add %s dev %s" % (IP_BIN, route, device))
|
self.run(f"{IP_BIN} route add {route} dev {device}")
|
||||||
|
|
||||||
def device_up(self, device):
|
def device_up(self, device):
|
||||||
"""
|
"""
|
||||||
|
@ -60,7 +60,7 @@ class LinuxNetClient(object):
|
||||||
:param str device: device to bring up
|
:param str device: device to bring up
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link set %s up" % (IP_BIN, device))
|
self.run(f"{IP_BIN} link set {device} up")
|
||||||
|
|
||||||
def device_down(self, device):
|
def device_down(self, device):
|
||||||
"""
|
"""
|
||||||
|
@ -69,7 +69,7 @@ class LinuxNetClient(object):
|
||||||
:param str device: device to bring down
|
:param str device: device to bring down
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link set %s down" % (IP_BIN, device))
|
self.run(f"{IP_BIN} link set {device} down")
|
||||||
|
|
||||||
def device_name(self, device, name):
|
def device_name(self, device, name):
|
||||||
"""
|
"""
|
||||||
|
@ -79,7 +79,7 @@ class LinuxNetClient(object):
|
||||||
:param str name: name to set
|
:param str name: name to set
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link set %s name %s" % (IP_BIN, device, name))
|
self.run(f"{IP_BIN} link set {device} name {name}")
|
||||||
|
|
||||||
def device_show(self, device):
|
def device_show(self, device):
|
||||||
"""
|
"""
|
||||||
|
@ -89,7 +89,7 @@ class LinuxNetClient(object):
|
||||||
:return: device information
|
:return: device information
|
||||||
:rtype: str
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
return self.run("%s link show %s" % (IP_BIN, device))
|
return self.run(f"{IP_BIN} link show {device}")
|
||||||
|
|
||||||
def device_ns(self, device, namespace):
|
def device_ns(self, device, namespace):
|
||||||
"""
|
"""
|
||||||
|
@ -99,7 +99,7 @@ class LinuxNetClient(object):
|
||||||
:param str namespace: namespace to set device to
|
:param str namespace: namespace to set device to
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link set %s netns %s" % (IP_BIN, device, namespace))
|
self.run(f"{IP_BIN} link set {device} netns {namespace}")
|
||||||
|
|
||||||
def device_flush(self, device):
|
def device_flush(self, device):
|
||||||
"""
|
"""
|
||||||
|
@ -108,7 +108,7 @@ class LinuxNetClient(object):
|
||||||
:param str device: device to flush
|
:param str device: device to flush
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s -6 address flush dev %s" % (IP_BIN, device))
|
self.run(f"{IP_BIN} -6 address flush dev {device}")
|
||||||
|
|
||||||
def device_mac(self, device, mac):
|
def device_mac(self, device, mac):
|
||||||
"""
|
"""
|
||||||
|
@ -118,7 +118,7 @@ class LinuxNetClient(object):
|
||||||
:param str mac: mac to set
|
:param str mac: mac to set
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link set dev %s address %s" % (IP_BIN, device, mac))
|
self.run(f"{IP_BIN} link set dev {device} address {mac}")
|
||||||
|
|
||||||
def delete_device(self, device):
|
def delete_device(self, device):
|
||||||
"""
|
"""
|
||||||
|
@ -127,7 +127,7 @@ class LinuxNetClient(object):
|
||||||
:param str device: device to delete
|
:param str device: device to delete
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link delete %s" % (IP_BIN, device))
|
self.run(f"{IP_BIN} link delete {device}")
|
||||||
|
|
||||||
def delete_tc(self, device):
|
def delete_tc(self, device):
|
||||||
"""
|
"""
|
||||||
|
@ -136,7 +136,7 @@ class LinuxNetClient(object):
|
||||||
:param str device: device to remove tc
|
:param str device: device to remove tc
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s qdisc delete dev %s root" % (TC_BIN, device))
|
self.run(f"{TC_BIN} qdisc delete dev {device} root")
|
||||||
|
|
||||||
def checksums_off(self, interface_name):
|
def checksums_off(self, interface_name):
|
||||||
"""
|
"""
|
||||||
|
@ -145,7 +145,7 @@ class LinuxNetClient(object):
|
||||||
:param str interface_name: interface to update
|
:param str interface_name: interface to update
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s -K %s rx off tx off" % (ETHTOOL_BIN, interface_name))
|
self.run(f"{ETHTOOL_BIN} -K {interface_name} rx off tx off")
|
||||||
|
|
||||||
def create_address(self, device, address, broadcast=None):
|
def create_address(self, device, address, broadcast=None):
|
||||||
"""
|
"""
|
||||||
|
@ -158,11 +158,10 @@ class LinuxNetClient(object):
|
||||||
"""
|
"""
|
||||||
if broadcast is not None:
|
if broadcast is not None:
|
||||||
self.run(
|
self.run(
|
||||||
"%s address add %s broadcast %s dev %s"
|
f"{IP_BIN} address add {address} broadcast {broadcast} dev {device}"
|
||||||
% (IP_BIN, address, broadcast, device)
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.run("%s address add %s dev %s" % (IP_BIN, address, device))
|
self.run(f"{IP_BIN} address add {address} dev {device}")
|
||||||
|
|
||||||
def delete_address(self, device, address):
|
def delete_address(self, device, address):
|
||||||
"""
|
"""
|
||||||
|
@ -172,7 +171,7 @@ class LinuxNetClient(object):
|
||||||
:param str address: address to remove
|
:param str address: address to remove
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s address delete %s dev %s" % (IP_BIN, address, device))
|
self.run(f"{IP_BIN} address delete {address} dev {device}")
|
||||||
|
|
||||||
def create_veth(self, name, peer):
|
def create_veth(self, name, peer):
|
||||||
"""
|
"""
|
||||||
|
@ -182,7 +181,7 @@ class LinuxNetClient(object):
|
||||||
:param str peer: peer name
|
:param str peer: peer name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s link add name %s type veth peer name %s" % (IP_BIN, name, peer))
|
self.run(f"{IP_BIN} link add name {name} type veth peer name {peer}")
|
||||||
|
|
||||||
def create_gretap(self, device, address, local, ttl, key):
|
def create_gretap(self, device, address, local, ttl, key):
|
||||||
"""
|
"""
|
||||||
|
@ -195,13 +194,13 @@ class LinuxNetClient(object):
|
||||||
:param int key: key for tap
|
:param int key: key for tap
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
cmd = "%s link add %s type gretap remote %s" % (IP_BIN, device, address)
|
cmd = f"{IP_BIN} link add {device} type gretap remote {address}"
|
||||||
if local is not None:
|
if local is not None:
|
||||||
cmd += " local %s" % local
|
cmd += f" local {local}"
|
||||||
if ttl is not None:
|
if ttl is not None:
|
||||||
cmd += " ttl %s" % ttl
|
cmd += f" ttl {ttl}"
|
||||||
if key is not None:
|
if key is not None:
|
||||||
cmd += " key %s" % key
|
cmd += f" key {key}"
|
||||||
self.run(cmd)
|
self.run(cmd)
|
||||||
|
|
||||||
def create_bridge(self, name):
|
def create_bridge(self, name):
|
||||||
|
@ -211,13 +210,13 @@ class LinuxNetClient(object):
|
||||||
:param str name: bridge name
|
:param str name: bridge name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s addbr %s" % (BRCTL_BIN, name))
|
self.run(f"{BRCTL_BIN} addbr {name}")
|
||||||
self.run("%s stp %s off" % (BRCTL_BIN, name))
|
self.run(f"{BRCTL_BIN} stp {name} off")
|
||||||
self.run("%s setfd %s 0" % (BRCTL_BIN, name))
|
self.run(f"{BRCTL_BIN} setfd {name} 0")
|
||||||
self.device_up(name)
|
self.device_up(name)
|
||||||
|
|
||||||
# turn off multicast snooping so forwarding occurs w/o IGMP joins
|
# turn off multicast snooping so forwarding occurs w/o IGMP joins
|
||||||
snoop = "/sys/devices/virtual/net/%s/bridge/multicast_snooping" % name
|
snoop = f"/sys/devices/virtual/net/{name}/bridge/multicast_snooping"
|
||||||
if os.path.exists(snoop):
|
if os.path.exists(snoop):
|
||||||
with open(snoop, "w") as f:
|
with open(snoop, "w") as f:
|
||||||
f.write("0")
|
f.write("0")
|
||||||
|
@ -230,7 +229,7 @@ class LinuxNetClient(object):
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.device_down(name)
|
self.device_down(name)
|
||||||
self.run("%s delbr %s" % (BRCTL_BIN, name))
|
self.run(f"{BRCTL_BIN} delbr {name}")
|
||||||
|
|
||||||
def create_interface(self, bridge_name, interface_name):
|
def create_interface(self, bridge_name, interface_name):
|
||||||
"""
|
"""
|
||||||
|
@ -240,7 +239,7 @@ class LinuxNetClient(object):
|
||||||
:param str interface_name: interface name
|
:param str interface_name: interface name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s addif %s %s" % (BRCTL_BIN, bridge_name, interface_name))
|
self.run(f"{BRCTL_BIN} addif {bridge_name} {interface_name}")
|
||||||
self.device_up(interface_name)
|
self.device_up(interface_name)
|
||||||
|
|
||||||
def delete_interface(self, bridge_name, interface_name):
|
def delete_interface(self, bridge_name, interface_name):
|
||||||
|
@ -251,7 +250,7 @@ class LinuxNetClient(object):
|
||||||
:param str interface_name: interface name
|
:param str interface_name: interface name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s delif %s %s" % (BRCTL_BIN, bridge_name, interface_name))
|
self.run(f"{BRCTL_BIN} delif {bridge_name} {interface_name}")
|
||||||
|
|
||||||
def existing_bridges(self, _id):
|
def existing_bridges(self, _id):
|
||||||
"""
|
"""
|
||||||
|
@ -259,7 +258,7 @@ class LinuxNetClient(object):
|
||||||
|
|
||||||
:param _id: node id to check bridges for
|
:param _id: node id to check bridges for
|
||||||
"""
|
"""
|
||||||
output = self.run("%s show" % BRCTL_BIN)
|
output = self.run(f"{BRCTL_BIN} show")
|
||||||
lines = output.split("\n")
|
lines = output.split("\n")
|
||||||
for line in lines[1:]:
|
for line in lines[1:]:
|
||||||
columns = line.split()
|
columns = line.split()
|
||||||
|
@ -278,7 +277,7 @@ class LinuxNetClient(object):
|
||||||
:param str name: bridge name
|
:param str name: bridge name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s setageing %s 0" % (BRCTL_BIN, name))
|
self.run(f"{BRCTL_BIN} setageing {name} 0")
|
||||||
|
|
||||||
|
|
||||||
class OvsNetClient(LinuxNetClient):
|
class OvsNetClient(LinuxNetClient):
|
||||||
|
@ -293,10 +292,10 @@ class OvsNetClient(LinuxNetClient):
|
||||||
:param str name: bridge name
|
:param str name: bridge name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s add-br %s" % (OVS_BIN, name))
|
self.run(f"{OVS_BIN} add-br {name}")
|
||||||
self.run("%s set bridge %s stp_enable=false" % (OVS_BIN, name))
|
self.run(f"{OVS_BIN} set bridge {name} stp_enable=false")
|
||||||
self.run("%s set bridge %s other_config:stp-max-age=6" % (OVS_BIN, name))
|
self.run(f"{OVS_BIN} set bridge {name} other_config:stp-max-age=6")
|
||||||
self.run("%s set bridge %s other_config:stp-forward-delay=4" % (OVS_BIN, name))
|
self.run(f"{OVS_BIN} set bridge {name} other_config:stp-forward-delay=4")
|
||||||
self.device_up(name)
|
self.device_up(name)
|
||||||
|
|
||||||
def delete_bridge(self, name):
|
def delete_bridge(self, name):
|
||||||
|
@ -307,7 +306,7 @@ class OvsNetClient(LinuxNetClient):
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.device_down(name)
|
self.device_down(name)
|
||||||
self.run("%s del-br %s" % (OVS_BIN, name))
|
self.run(f"{OVS_BIN} del-br {name}")
|
||||||
|
|
||||||
def create_interface(self, bridge_name, interface_name):
|
def create_interface(self, bridge_name, interface_name):
|
||||||
"""
|
"""
|
||||||
|
@ -317,7 +316,7 @@ class OvsNetClient(LinuxNetClient):
|
||||||
:param str interface_name: interface name
|
:param str interface_name: interface name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s add-port %s %s" % (OVS_BIN, bridge_name, interface_name))
|
self.run(f"{OVS_BIN} add-port {bridge_name} {interface_name}")
|
||||||
self.device_up(interface_name)
|
self.device_up(interface_name)
|
||||||
|
|
||||||
def delete_interface(self, bridge_name, interface_name):
|
def delete_interface(self, bridge_name, interface_name):
|
||||||
|
@ -328,7 +327,7 @@ class OvsNetClient(LinuxNetClient):
|
||||||
:param str interface_name: interface name
|
:param str interface_name: interface name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s del-port %s %s" % (OVS_BIN, bridge_name, interface_name))
|
self.run(f"{OVS_BIN} del-port {bridge_name} {interface_name}")
|
||||||
|
|
||||||
def existing_bridges(self, _id):
|
def existing_bridges(self, _id):
|
||||||
"""
|
"""
|
||||||
|
@ -336,7 +335,7 @@ class OvsNetClient(LinuxNetClient):
|
||||||
|
|
||||||
:param _id: node id to check bridges for
|
:param _id: node id to check bridges for
|
||||||
"""
|
"""
|
||||||
output = self.run("%s list-br" % OVS_BIN)
|
output = self.run(f"{OVS_BIN} list-br")
|
||||||
if output:
|
if output:
|
||||||
for line in output.split("\n"):
|
for line in output.split("\n"):
|
||||||
fields = line.split(".")
|
fields = line.split(".")
|
||||||
|
@ -351,4 +350,4 @@ class OvsNetClient(LinuxNetClient):
|
||||||
:param str name: bridge name
|
:param str name: bridge name
|
||||||
:return: nothing
|
:return: nothing
|
||||||
"""
|
"""
|
||||||
self.run("%s set bridge %s other_config:mac-aging-time=0" % (OVS_BIN, name))
|
self.run(f"{OVS_BIN} set bridge {name} other_config:mac-aging-time=0")
|
||||||
|
|
|
@ -94,7 +94,7 @@ class PhysicalNode(CoreNodeBase):
|
||||||
the emulation, no new interface is created; instead, adopt the
|
the emulation, no new interface is created; instead, adopt the
|
||||||
GreTap netif as the node interface.
|
GreTap netif as the node interface.
|
||||||
"""
|
"""
|
||||||
netif.name = "gt%d" % ifindex
|
netif.name = f"gt{ifindex}"
|
||||||
netif.node = self
|
netif.node = self
|
||||||
self.addnetif(netif, ifindex)
|
self.addnetif(netif, ifindex)
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ class PhysicalNode(CoreNodeBase):
|
||||||
ifindex = self.newifindex()
|
ifindex = self.newifindex()
|
||||||
|
|
||||||
if ifname is None:
|
if ifname is None:
|
||||||
ifname = "gt%d" % ifindex
|
ifname = f"gt{ifindex}"
|
||||||
|
|
||||||
if self.up:
|
if self.up:
|
||||||
# this is reached when this node is linked to a network node
|
# this is reached when this node is linked to a network node
|
||||||
|
@ -177,7 +177,7 @@ class PhysicalNode(CoreNodeBase):
|
||||||
|
|
||||||
def privatedir(self, path):
|
def privatedir(self, path):
|
||||||
if path[0] != "/":
|
if path[0] != "/":
|
||||||
raise ValueError("path not fully qualified: %s" % path)
|
raise ValueError(f"path not fully qualified: {path}")
|
||||||
hostpath = os.path.join(
|
hostpath = os.path.join(
|
||||||
self.nodedir, os.path.normpath(path).strip("/").replace("/", ".")
|
self.nodedir, os.path.normpath(path).strip("/").replace("/", ".")
|
||||||
)
|
)
|
||||||
|
@ -188,13 +188,13 @@ class PhysicalNode(CoreNodeBase):
|
||||||
source = os.path.abspath(source)
|
source = os.path.abspath(source)
|
||||||
logging.info("mounting %s at %s", source, target)
|
logging.info("mounting %s at %s", source, target)
|
||||||
os.makedirs(target)
|
os.makedirs(target)
|
||||||
self.net_cmd("%s --bind %s %s" % (MOUNT_BIN, source, target), cwd=self.nodedir)
|
self.net_cmd(f"{MOUNT_BIN} --bind {source} {target}", cwd=self.nodedir)
|
||||||
self._mounts.append((source, target))
|
self._mounts.append((source, target))
|
||||||
|
|
||||||
def umount(self, target):
|
def umount(self, target):
|
||||||
logging.info("unmounting '%s'" % target)
|
logging.info("unmounting '%s'", target)
|
||||||
try:
|
try:
|
||||||
self.net_cmd("%s -l %s" % (UMOUNT_BIN, target), cwd=self.nodedir)
|
self.net_cmd(f"{UMOUNT_BIN} -l {target}", cwd=self.nodedir)
|
||||||
except CoreCommandError:
|
except CoreCommandError:
|
||||||
logging.exception("unmounting failed for %s", target)
|
logging.exception("unmounting failed for %s", target)
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ class Rj45Node(CoreNodeBase, CoreInterface):
|
||||||
if ifindex == self.ifindex:
|
if ifindex == self.ifindex:
|
||||||
self.shutdown()
|
self.shutdown()
|
||||||
else:
|
else:
|
||||||
raise ValueError("ifindex %s does not exist" % ifindex)
|
raise ValueError(f"ifindex {ifindex} does not exist")
|
||||||
|
|
||||||
def netif(self, ifindex, net=None):
|
def netif(self, ifindex, net=None):
|
||||||
"""
|
"""
|
||||||
|
@ -442,7 +442,7 @@ class Rj45Node(CoreNodeBase, CoreInterface):
|
||||||
if len(items) < 2:
|
if len(items) < 2:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if items[1] == "%s:" % self.localname:
|
if items[1] == f"{self.localname}:":
|
||||||
flags = items[2][1:-1].split(",")
|
flags = items[2][1:-1].split(",")
|
||||||
if "UP" in flags:
|
if "UP" in flags:
|
||||||
self.old_up = True
|
self.old_up = True
|
||||||
|
|
Loading…
Add table
Reference in a new issue