Source code for riaps.rfab.api.deplo

from fabric import Group
from riaps.rfab.api.task import Task, SkipResult
from invoke.exceptions import UnexpectedExit
import time

[docs]class DeploStart(Task):
[docs] def deplo_start(self): return self.sudo('systemctl start riaps-deplo.service')
[docs]class DeploStartManual(Task):
[docs] def deplo_start_manual(self): # nohup handles redirection of stderr to stdout for us # backgrounding (with "&") didn't seem to work with fab2, but disown does cmd = '-E nohup riaps_deplo > ~/riaps-$(hostname).log' _ = self.sudo(cmd,disown=True) return SkipResult(self.connection,cmd,stdout='')
[docs]class DeploRestart(Task):
[docs] def deplo_restart(self): return self.sudo('systemctl restart riaps-deplo.service')
[docs]class DeploStop(Task):
[docs] def deplo_stop(self): return self.sudo('systemctl stop riaps-deplo.service')
[docs]class DeploEnable(Task):
[docs] def deplo_enable(self): return self.sudo('systemctl enable riaps-deplo.service')
[docs]class DeploDisable(Task):
[docs] def deplo_disable(self): return self.sudo('systemctl disable riaps-deplo.service')
[docs]class DeploStatus(Task): num_lines = " -n 10" grep_pattern = ''
[docs] @classmethod def configure(cls,n,grep): cls.num_lines = f" -n {n}" if grep != '': grep=f" | grep {grep}" cls.grep_pattern = grep
[docs] def deplo_status(self): try: return self.sudo(f"systemctl status riaps-deplo --no-pager{self.num_lines}{self.grep_pattern}") except UnexpectedExit as e: if str(e.result.exited) in ('1','2','3'): # Don't "Fail" for certain return codes return e.result else: raise e
[docs]class DeploJournal(Task): num_lines = " -n 10" grep_pattern = ''
[docs] @classmethod def configure(cls,n,grep): cls.num_lines = f" -n {n}" if grep != '': grep=f" | grep {grep}" cls.grep_pattern = grep
[docs] def deplo_journal(self): return self.sudo(f"journalctl -u riaps-deplo.service --no-pager{self.num_lines}{self.grep_pattern}")