From d8db5f9064b735d169279c3b770c16214793f2ff Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 18 Apr 2020 10:37:02 +0300 Subject: Add: log file of contractor when run by Subplot --- funcs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/funcs.py b/funcs.py index ecc7d81..0d157a8 100644 --- a/funcs.py +++ b/funcs.py @@ -29,6 +29,7 @@ def _contractor(): return [ os.path.join(srcdir, 'contractor'), '--no-default-config', + '--log', os.path.join(srcdir, 'contractor.log'), '--manager-address', addr, ] -- cgit v1.2.1 From 789910e428ac6c4c00f4d2e2256559769a06b98b Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 18 Apr 2020 10:37:31 +0300 Subject: Change: have verbose and quiet versions of executing sequence --- contractor | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/contractor b/contractor index 43fdc43..2a9136f 100755 --- a/contractor +++ b/contractor @@ -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) -- cgit v1.2.1