How to use repair_filesystem_only method in autotest

Best Python code snippet using autotest_python

base_classes.py

Source:base_classes.py Github

copy

Full Screen

...256 except error.AutoservError:257 logging.exception('Repair failed but continuing in case it managed'258 ' to repair enough')259 self._already_repaired.append((func, args, dargs))260 def repair_filesystem_only(self):261 """perform file system repairs only"""262 while True:263 # try to repair specific problems264 try:265 logging.info('Running verify to find failures to repair...')266 self.verify()267 if self._removed_files:268 logging.info('Removed files, rebooting to release the'269 ' inodes')270 self.reboot()271 return # verify succeeded, then repair succeeded272 except error.AutoservHostIsShuttingDownError, err:273 logging.exception('verify failed')274 self._call_repair_func(err, self._repair_wait_for_reboot)275 except error.AutoservDiskFullHostError, err:276 logging.exception('verify failed')277 self._call_repair_func(err, self.repair_full_disk,278 self._get_mountpoint(err.path))279 def repair_software_only(self):280 """perform software repairs only"""281 while True:282 try:283 self.repair_filesystem_only()284 break285 except (error.AutoservSshPingHostError, error.AutoservSSHTimeout,286 error.AutoservSshPermissionDeniedError,287 error.AutoservDiskFullHostError), err:288 logging.exception('verify failed')289 logging.info('Trying to reinstall the machine')290 self._call_repair_func(err, self.machine_install)291 def repair_full(self):292 hardware_repair_requests = 0293 while True:294 try:295 self.repair_software_only()296 break297 except error.AutoservHardwareRepairRequiredError, err:298 logging.exception('software repair failed, '299 'hardware repair requested')300 hardware_repair_requests += 1301 try_hardware_repair = (hardware_repair_requests >=302 self.HARDWARE_REPAIR_REQUEST_THRESHOLD)303 if try_hardware_repair:304 logging.info('hardware repair requested %d times, '305 'trying hardware repair',306 hardware_repair_requests)307 self._call_repair_func(err, self.request_hardware_repair)308 else:309 logging.info('hardware repair requested %d times, '310 'trying software repair again',311 hardware_repair_requests)312 except error.AutoservHardwareHostError, err:313 logging.exception('verify failed')314 # software repair failed, try hardware repair315 logging.info('Hardware problem found, '316 'requesting hardware repairs')317 self._call_repair_func(err, self.request_hardware_repair)318 def repair_with_protection(self, protection_level):319 """Perform the maximal amount of repair within the specified320 protection level.321 @param protection_level: the protection level to use for limiting322 repairs, a host_protections.Protection323 """324 protection = host_protections.Protection325 if protection_level == protection.DO_NOT_REPAIR:326 logging.info('Protection is "Do not repair" so just verifying')327 self.verify()328 elif protection_level == protection.REPAIR_FILESYSTEM_ONLY:329 logging.info('Attempting filesystem-only repair')330 self.repair_filesystem_only()331 elif protection_level == protection.REPAIR_SOFTWARE_ONLY:332 logging.info('Attempting software repair only')333 self.repair_software_only()334 elif protection_level == protection.NO_PROTECTION:335 logging.info('Attempting full repair')336 self.repair_full()337 else:338 raise NotImplementedError('Unknown host protection level %s'339 % protection_level)340 def disable_ipfilters(self):341 """Allow all network packets in and out of the host."""342 self.run('iptables-save > /tmp/iptable-rules')343 self.run('iptables -P INPUT ACCEPT')344 self.run('iptables -P FORWARD ACCEPT')...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful