summaryrefslogtreecommitdiff
path: root/contractor
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-04-09 10:52:48 +0300
committerLars Wirzenius <liw@liw.fi>2020-04-09 10:52:48 +0300
commit072e8f1277ec5de91d49f7a855cd7e2ae09f2962 (patch)
treea8984d7e3f2b2a26d06872f4d3848af67a640d0f /contractor
parent230d4a762dbb0085c16d1f9ba3bd2a56574a4ff2 (diff)
downloadick-contractor-072e8f1277ec5de91d49f7a855cd7e2ae09f2962.tar.gz
Change: install deps
Diffstat (limited to 'contractor')
-rwxr-xr-xcontractor13
1 files changed, 11 insertions, 2 deletions
diff --git a/contractor b/contractor
index 5c90bd1..666736f 100755
--- a/contractor
+++ b/contractor
@@ -84,7 +84,9 @@ class ContractorApplication(cliapp.Application):
if install:
self.verbose(
'installing packages: {}'.format(', '.join(install)))
- m.install_on
+ if w.install_packages(install) != 0:
+ self.error('failed to install packages')
+ sys.exit(1)
else:
self.verbose('no packages to install')
@@ -431,6 +433,7 @@ class Manager:
return self.wait_for_worker()
def copy_worker_image(self):
+ self.ssh(['rm', '-f', 'temp.img'])
out, err, exit_code = self.ssh(['cp', 'worker.img', 'temp.img'])
return exit_code
@@ -486,6 +489,12 @@ class Worker:
argv = [shlex.quote(arg) for arg in argv]
argv = ['ssh', self._target, '--'] + argv
return self._manager.ssh(argv, quiet=quiet)
-
+
+ def install_packages(self, pkgs):
+ out, err, exit_code = self.ssh(
+ ['sudo', 'DEBIAN_FRONTEND=noninteractive',
+ 'apt-get', '-y', 'install'] + pkgs)
+ return exit_code
+
ContractorApplication().run()