diff options
Diffstat (limited to 'contractor')
-rwxr-xr-x | contractor | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -73,7 +73,7 @@ class ContractorApplication(cliapp.Application): execs = [ GetCPUCount(), ] - er = self.exec_sequence(manager, *execs) + er = self.exec_quietly(manager, *execs) timer.report('setup') # Find number of CPUs. @@ -93,7 +93,7 @@ class ContractorApplication(cliapp.Application): ChownWS(), Mkdir('/mnt/src', owner=WORKER_UID, group=WORKER_GID), ] - self.exec_sequence(manager, *execs) + self.exec_quietly(manager, *execs) timer.report('setup') self.verbose('setting up workspace on worker') @@ -111,15 +111,15 @@ class ContractorApplication(cliapp.Application): UnmountWS(), WorkerIP(), ] - er = self.exec_sequence(manager, *execs) + er = self.exec_quietly(manager, *execs) worker_ip = er.stdout.decode('UTF8').strip() timer.report('wait-for-worker') - self.exec_sequence(manager, AttachWS()) + self.exec_quietly(manager, AttachWS()) worker = OnWorker( dest, 'worker@{}'.format(worker_ip), verbose=self.verbose) - self.exec_sequence(worker, Mkdir('/workspace'), MountWSonWorker()) + self.exec_quietly(worker, Mkdir('/workspace'), MountWSonWorker()) execs = [] install = bs.install() @@ -128,14 +128,14 @@ class ContractorApplication(cliapp.Application): execs.append(Chdir('/workspace/src')) execs.append(Build(bs.build())) - self.exec_sequence(worker, *execs) + self.exec_verbosely(worker, *execs) timer.report('build') execs = [ ShutdownWorkerVM(), MountWS(), ] - self.exec_sequence(manager, *execs) + self.exec_quietly(manager, *execs) timer.report('shutdown-worker') if ws: @@ -172,13 +172,19 @@ class ContractorApplication(cliapp.Application): self.error('Failed to rsync workspace from worker') sys.exit(1) - def exec_sequence(self, manager, *execs): - er = manager.quietly(*execs) + def exec_sequence(self, how, *execs): + er = how(*execs) if er.failed(): self.error('Failed to do that, giving up') sys.exit(1) return er + def exec_quietly(self, manager, *execs): + return self.exec_sequence(manager.quietly, *execs) + + def exec_verbosely(self, manager, *execs): + return self.exec_sequence(manager.verbosely, *execs) + def cmd_manager_status(self, args): dest = self.manager_destination() manager = RemoteServer(dest) |