X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=src%2Fnepi%2Fresources%2Flinux%2Fapplication.py;h=d095a257dd5f45f7c107b9b91a43f155f8d455d8;hb=d1c731d0fbf6c0b8a21607795fb1101a46a2518d;hp=5e06dab719ab0890ca1b553f6a0eb9f2767e0a9a;hpb=bac63fdc5983e2ade1902f711c1e7899d82ca4ae;p=nepi.git diff --git a/src/nepi/resources/linux/application.py b/src/nepi/resources/linux/application.py index 5e06dab7..d095a257 100644 --- a/src/nepi/resources/linux/application.py +++ b/src/nepi/resources/linux/application.py @@ -173,7 +173,9 @@ class LinuxApplication(ResourceManager): super(LinuxApplication, self).__init__(ec, guid) self._pid = None self._ppid = None + self._node = None self._home = "app-%s" % self.guid + # whether the command should run in foreground attached # to a terminal self._in_foreground = False @@ -194,9 +196,16 @@ class LinuxApplication(ResourceManager): @property def node(self): - node = self.get_connected(LinuxNode.get_rtype()) - if node: return node[0] - raise RuntimeError, "Application must be connected to Node" + if not self._node: + node = self.get_connected(LinuxNode.get_rtype()) + if not node: + msg = "Application %s guid %d NOT connected to Node" % ( + self._rtype, self.guid) + raise RuntimeError, msg + + self._node = node[0] + + return self._node @property def app_home(self):