git://git.onelab.eu
/
nepi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixing nasty ugly bug in DCE ccndc RM. Fix: Adding missing HOME environment set to...
[nepi.git]
/
src
/
nepi
/
resources
/
ns3
/
ns3base.py
diff --git
a/src/nepi/resources/ns3/ns3base.py
b/src/nepi/resources/ns3/ns3base.py
index
8a06e4b
..
ef345ff
100644
(file)
--- a/
src/nepi/resources/ns3/ns3base.py
+++ b/
src/nepi/resources/ns3/ns3base.py
@@
-32,6
+32,7
@@
class NS3Base(ResourceManager):
self._uuid = None
self._connected = set()
self._trace_filename = dict()
self._uuid = None
self._connected = set()
self._trace_filename = dict()
+ self._node = None
@property
def connected(self):
@property
def connected(self):
@@
-47,10
+48,12
@@
class NS3Base(ResourceManager):
@property
def node(self):
@property
def node(self):
- from nepi.resources.ns3.ns3node import NS3BaseNode
- nodes = self.get_connected(NS3BaseNode.get_rtype())
- if nodes: return nodes[0]
- return None
+ if not self._node:
+ from nepi.resources.ns3.ns3node import NS3BaseNode
+ nodes = self.get_connected(NS3BaseNode.get_rtype())
+ if nodes: self._node = nodes[0]
+
+ return self._node
def trace(self, name, attr = TraceAttr.ALL, block = 512, offset = 0):
filename = self._trace_filename.get(name)
def trace(self, name, attr = TraceAttr.ALL, block = 512, offset = 0):
filename = self._trace_filename.get(name)
@@
-80,7
+83,7
@@
class NS3Base(ResourceManager):
kwargs = dict()
for attr in self._attrs.values():
kwargs = dict()
for attr in self._attrs.values():
- if not ( attr.has_flag(Flags.Construct) and attr.has_changed
()
):
+ if not ( attr.has_flag(Flags.Construct) and attr.has_changed ):
continue
kwargs[attr.name] = attr._value
continue
kwargs[attr.name] = attr._value
@@
-99,14
+102,11
@@
class NS3Base(ResourceManager):
def _wait_rms(self):
""" Returns True if dependent RMs are not yer READY, False otherwise"""
for rm in self._rms_to_wait:
def _wait_rms(self):
""" Returns True if dependent RMs are not yer READY, False otherwise"""
for rm in self._rms_to_wait:
- if rm
and rm
.state < ResourceState.READY:
+ if rm.state < ResourceState.READY:
return True
return False
def do_provision(self):
return True
return False
def do_provision(self):
- # TODO: create run dir for ns3 object !!!!
- # self.simulation.node.mkdir(self.run_home)
-
self._instantiate_object()
self._connect_object()
self._configure_object()
self._instantiate_object()
self._connect_object()
self._configure_object()