On Fri, 2010-10-29 at 15:41 -0700, Jean-Marc Eurin wrote: > Testing that we can access the drone before adding it.
Applied, thanks: http://autotest.kernel.org/changeset/4909 > Signed-off-by: Jean-Marc Eurin <[email protected]> > > --- autotest/scheduler/drone_manager.py 2010-10-28 14:38:16.000000000 > -0700 > +++ autotest/scheduler/drone_manager.py 2010-10-29 15:37:05.000000000 > -0700 > @@ -159,8 +159,7 @@ > self._results_dir = base_results_dir > > for hostname in drone_hostnames: > - drone = self._add_drone(hostname) > - drone.call('initialize', self.absolute_path('')) > + self._add_drone(hostname) > > if not self._drones: > # all drones failed to initialize > @@ -205,8 +204,9 @@ > def _add_drone(self, hostname): > logging.info('Adding drone %s' % hostname) > drone = drones.get_drone(hostname) > - self._drones[drone.hostname] = drone > - return drone > + if drone: > + self._drones[drone.hostname] = drone > + drone.call('initialize', self.absolute_path('')) > > > def _remove_drone(self, hostname): > --- autotest/scheduler/drones.py 2010-03-16 17:23:37.000000000 -0700 > +++ autotest/scheduler/drones.py 2010-10-29 15:37:05.000000000 -0700 > @@ -7,6 +7,11 @@ > AUTOTEST_INSTALL_DIR = > global_config.global_config.get_config_value('SCHEDULER', > > 'drone_installation_directory') > > +class DroneUnreachable(Exception): > + """The drone is non-sshable.""" > + pass > + > + > class _AbstractDrone(object): > """ > Attributes: > @@ -111,6 +116,9 @@ > super(_RemoteDrone, self).__init__() > self.hostname = hostname > self._host = drone_utility.create_host(hostname) > + if not self._host.is_up(): > + logging.error('Drone %s is unpingable, kicking out', hostname) > + raise DroneUnreachable > self._autotest_install_dir = AUTOTEST_INSTALL_DIR > > > @@ -156,4 +164,7 @@ > """ > if hostname == 'localhost': > return _LocalDrone() > - return _RemoteDrone(hostname) > + try: > + return _RemoteDrone(hostname) > + except DroneUnreachable: > + return None > _______________________________________________ > Autotest mailing list > [email protected] > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
