aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
diff options
context:
space:
mode:
authorMarco Capitani <m.capitani@nextworks.it>2018-03-26 16:52:30 +0200
committerMarco Capitani <m.capitani@nextworks.it>2018-03-26 16:56:14 +0200
commit9e499fec0ca6e2940717bce45388c59960f9bdc3 (patch)
tree307b7636cccbc7f38f3e14acb0ba616e05307c80 /rumba/model.py
parent81dfe735a72683b7dc87f329d9a25a1868fe74f1 (diff)
downloadrumba-9e499fec0ca6e2940717bce45388c59960f9bdc3.tar.gz
rumba-9e499fec0ca6e2940717bce45388c59960f9bdc3.zip
model: make DIFs scriptable
DIFs instances can now be referenced inside .rsb files. Also changed Node.set_link_state function to accept a DIF as opposed to an IPCP, since IPCPs are not given a name nor mentioned is user scripts.
Diffstat (limited to 'rumba/model.py')
-rw-r--r--rumba/model.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/rumba/model.py b/rumba/model.py
index 20f8215..e12bddd 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -145,6 +145,10 @@ class ShimUDPDIF(DIF):
# @link_speed [int] Speed of the Ethernet network, in Mbps
#
class ShimEthDIF(DIF):
+
+ def get_e_id(self):
+ return "ShimEthDIF." + self.name
+
def __init__(self, name, members=None, link_speed=0):
DIF.__init__(self, name, members)
self.link_speed = int(link_speed)
@@ -360,7 +364,8 @@ class Node(object):
def fetch_file(self, path, destination, sudo=False):
self.executor.fetch_files(self, path, destination, sudo)
- def set_link_state(self, ipcp, state):
+ def set_link_state(self, dif, state):
+ ipcp = self.get_ipcp_by_dif(dif)
self.execute_command('ip link set dev ' + ipcp.ifname + ' ' + state,
as_root=True)