# Author: Alina Quereilhac <alina.quereilhac@inria.fr>
from nepi.execution.attribute import Attribute, Types, Flags
-from nepi.execution.resource import ResourceManager, clsinit, ResourceState
+from nepi.execution.resource import ResourceManager, clsinit, ResourceState, \
+ reschedule_delay
from nepi.resources.linux.node import LinuxNode
from nepi.resources.linux.channel import LinuxChannel
# TODO: UP, MTU attributes!
-reschedule_delay = "0.5s"
@clsinit
class LinuxInterface(ResourceManager):
@classmethod
def _register_attributes(cls):
ip4 = Attribute("ip4", "IPv4 Address",
- flags = Flags.ExecReadOnly)
+ flags = Flags.ExecReadOnly)
ip6 = Attribute("ip6", "IPv6 Address",
flags = Flags.ExecReadOnly)
flags = Flags.ExecReadOnly)
mtu = Attribute("mtu", "Maximum transmition unit for device",
- type = Types.Integer)
+ type = Types.Integer)
devname = Attribute("deviceName",
"Name of the network interface (e.g. eth0, wlan0, etc)",
mtu = self.get("mtu")
# Get current interfaces information
- (out, err), proc = self.node.execute("ifconfig", sudo = True)
+ (out, err), proc = self.node.execute("ifconfig", sudo = True, tty = True)
if err and proc.poll():
msg = " Error retrieving interface information "
self.discover()
self.provision()
except:
- self._state = ResourceState.FAILED
+ self.fail()
raise
super(LinuxInterface, self).deploy()