diff options
author | Lars Wirzenius <liw@liw.fi> | 2020-04-09 09:38:51 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2020-04-09 09:38:51 +0300 |
commit | 677760a88fc4c7ce45cc614959c6c4121004dfa8 (patch) | |
tree | 6630f7c07c24f30f5e7002fa24a7b31bc2c4eaa9 /contractor | |
parent | d5ab6165cdf0d9347adffb7d37b958cf79487e37 (diff) | |
download | ick-contractor-677760a88fc4c7ce45cc614959c6c4121004dfa8.tar.gz |
Change: upload worker image
Diffstat (limited to 'contractor')
-rwxr-xr-x | contractor | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -24,6 +24,12 @@ def ssh(target, argv, quiet=False): return subprocess.call(argv, stderr=STDOUT, stdout=stdout) +def rsync(filename, target): + argv = ['rsync', '-aHSs', '--', filename, target] + logging.info('RSYNC: {!r}'.format(argv)) + return subprocess.call(argv, stderr=STDOUT, stdout=None) + + class ContractorApplication(cliapp.Application): def add_settings(self): @@ -48,20 +54,18 @@ class ContractorApplication(cliapp.Application): self.output.write('{}\n'.format(json.dumps(bs.as_dict(), indent=4))) def cmd_build(self, args): - self.verbose('Building using spec at {}'.format(args[0])) + self.verbose('building using spec at {}'.format(args[0])) bs = self.load_build_spec(args[0]) m = self.manager() self.verbose('stopping worker') m.stop_worker() - - # self.cmd_worker_stop([]) - # image = os.path.expanduser(build['worker-image']) - # self.cmd_worker_image([image]) - # self.cmd_worker_start([]) + self.verbose( + 'uploading image to worker: {}'.format(bs.worker_image())) + m.upload_image(bs.worker_image()) - # pkgs = build.get('install', []) + # pkgs = build.get('install', []) # if pkgs: # self.verbose('Installing packages: {}'.format(', '.join(pkgs))) # self.cmd_setup( @@ -366,5 +370,8 @@ class Manager: self.virsh(['destroy', 'worker']) self.virsh(['undefine', 'worker']) + def upload_image(self, filename): + rsync(filename, '{}:worker.img'.format(self._target)) + ContractorApplication().run() |