X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Fplanetlab%2Fnode.py;h=2666a6279583a6d2132952ec0fcf7e89375cfac3;hb=654fa3f01b2d2e2cc1b7ab70875842ecaa5e86b9;hp=72896fcbf71b6d723b0ccb34dccff7217f3e0413;hpb=54f2085d1686a789446b930b50a035df571dce98;p=nepi.git diff --git a/src/nepi/resources/planetlab/node.py b/src/nepi/resources/planetlab/node.py index 72896fcb..2666a627 100644 --- a/src/nepi/resources/planetlab/node.py +++ b/src/nepi/resources/planetlab/node.py @@ -22,6 +22,7 @@ from nepi.execution.resource import ResourceManager, clsinit_copy, ResourceState reschedule_delay from nepi.resources.linux.node import LinuxNode from nepi.resources.planetlab.plcapi import PLCAPIFactory +from nepi.util.timefuncs import tnow, tdiff, tdiffsec, stabsformat @clsinit_copy @@ -181,10 +182,23 @@ class PlanetlabNode(LinuxNode): return self._plapi - def discover(self): - if self.get("hostname") or self.get("ip"): - self.check_active_and_alive() - #return node_id de hostname para que provision haga add_node_slice, check que ip coincide con hostname + #def discover(self): + # hostname = self.get("hostname") + # if hostname: + # node_id = self.check_alive_and_active(hostname=hostname) + # else: + # from random import choice + # nodes = self.filter_based_on_attributes() + # nodes_alive = self.check_alive_and_active(nodes) + # while in_blkl: + # node_id = choice(nodes_alive) + + + # self._discover_time = tnow() + # self._state = ResourceState.DISCOVERED + # return node_id + + #def provision(self): def filter_based_on_attributes(self): # Map attributes with tagnames of PL @@ -212,7 +226,7 @@ class PlanetlabNode(LinuxNode): attr_value = self.get(attr_name) print nodes_id if attr_value is not None and attr_obj.flags == 8 and not 'min' in attr_name \ - and not 'max'in attr_name and attr_name != 'timeframe': + and not 'max' in attr_name and attr_name != 'timeframe': attr_tag = attr_to_tags[attr_name] filters['tagname'] = attr_tag filters['value'] = attr_value @@ -295,6 +309,7 @@ class PlanetlabNode(LinuxNode): # ip = self.plapi.get_interfaces({'node_id':nid}, fields=['ip']) # self.set('ip', ip[0]['ip']) +#de hostname para que provision haga add_node_slice, check que ip coincide con hostname def fail(self):