- When an class method executes remotely and returns another object. That object is instantiated locally. Any calls to this objects methods will be executed locally not remotely. For example:
- If you have a class which instantiates an LNet object remotely, and you have a method which returns that instance to the caller on another node. If the caller attempts to call methods of the returned LNet object, they will be executed locally, which is likely not what's desired.
- WORKAROUND: make sure you have a wrapper class which executes all the methods and doesn't return objects which you expect to execute their methods remotely
- RESOLUTION: The object is returned in text format.
yaml.load()
method converts the RPC into a python object. There should be a way to tap in to theyaml.load()
method and correctly instantiate the object to execute remotely.- This can be done by checking if the object inherits from
BaseTest
class, and if it does, when instantiating it, make sure to instantiate it using the correct target.
- This can be done by checking if the object inherits from
Overview
Content Tools