diff options
author | Lars Wirzenius <liw@liw.fi> | 2020-04-09 16:11:16 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2020-04-09 16:11:16 +0300 |
commit | e485491c327a4291161491533fa6479c9d198ea0 (patch) | |
tree | 84eab87baab46cb01c0c6337eb0392d88826af5f /contractor | |
parent | 2b2d87ac8c2acba6519798b437be28823911af9b (diff) | |
download | ick-contractor-e485491c327a4291161491533fa6479c9d198ea0.tar.gz |
Drop: dead code
Diffstat (limited to 'contractor')
-rwxr-xr-x | contractor | 182 |
1 files changed, 0 insertions, 182 deletions
@@ -127,185 +127,6 @@ class ContractorApplication(cliapp.Application): addr = self.settings['manager-address'] return Manager(user, addr) - ############################ - - def cmd_on_manager(self, args): - o = self.on_manager(args) - if o is None: - self.error('Failed to run command on manager') - sys.exit(1) - sys.stdout.write(o.decode('utf-8')) - - def cmd_worker_image(self, args): - img = args[0] - self.verbose( - 'Copying VM image {} to manager VM as {}'.format( - img, WORKER_IMG)) - tgt = '{}:{}'.format(self.ssh_target(), WORKER_IMG) - argv = ['rsync', '-aHSs', '--', img, tgt] - cliapp.runcmd(argv) - - def cmd_worker_start(self, args): - self.verbose('mkfs on workspace disk') - o = self.on_manager(['sudo', 'mkfs', '-t', 'ext4', WS_DEV]) - if o is None: - self.error('Failed to mkfs workspace') - sys.exit(1) - - img = WORKER_IMG - self.verbose('Creating worker VM using {} on manager VM'.format(img)) - o = self.on_manager(['./create-vm', img]) - if o is None: - self.error('Failed to create worker VM') - sys.exit(1) - - self.verbose('Waiting for worker to become available') - while True: - o = self.on_worker('worker', ['true']) - logging.debug('o: {!r}'.format(o)) - if o is not None: - break - time.sleep(2) - - self.verbose('Created worker VM and it is available') - - def cmd_worker_stop(self, args): - self.verbose('Destroying worker VM') - self.on_manager( - ['virsh', '-c', 'qemu:///system', 'destroy', 'worker']) - self.on_manager( - ['virsh', '-c', 'qemu:///system', 'undefine', 'worker']) - self.verbose('Destroyed worker VM') - - def cmd_worker_ip(self, _): - print(self.worker_ip()) - - def cmd_worker_status(self, args): - o = self.on_worker('worker', ['true']) - if o is not None: - self.verbose('Worker VM is up and running') - sys.exit(0) - else: - self.verbose('Worker VM is NOT available') - sys.exit(1) - - def cmd_setup(self, args): - ip = self.worker_ip() - argv = [cliapp.shell_quote(x) for x in args] - argv = ['ssh', 'manager@{}'.format(ip), 'sudo', '--'] + argv - tgt = self.ssh_target() - try: - o = cliapp.ssh_runcmd(tgt, argv) - except cliapp.AppException: - self.error('could not run command on worker') - return None - if self.settings['verbose']: - self.output.write(o.decode('utf-8')) - - def cmd_sources(self, args): - dirname = args[0] - - self.create_workspace() - - tar_argv = ['tar', '-C', dirname, '-c', '.'] - ip = self.worker_ip() - ssh_argv = [ - 'ssh', self.ssh_target(), '--', - 'ssh', 'worker@{}'.format(ip), '--', - 'tar', '-C/workspace/src', '-x'] - cliapp.runcmd(tar_argv, ssh_argv) - self.verbose('Unpacked sources to /workspace/src') - - def cmd_get_workspace(self, args): - dirname = args[0] - - self.create_workspace() - - ip = self.worker_ip() - ssh_argv = [ - 'ssh', self.ssh_target(), '--', - 'ssh', 'worker@{}'.format(ip), '--', - 'tar', '-C/workspace', '-c', '.'] - tar_argv = ['tar', '-C', dirname, '-x'] - cliapp.runcmd(ssh_argv, tar_argv) - self.verbose('Retrieved workspace to {}'.format(dirname)) - - def cmd_put_workspace(self, args): - dirname = args[0] - - self.create_workspace() - - tar_argv = ['tar', '-C', dirname, '-c', '.'] - ip = self.worker_ip() - ssh_argv = [ - 'ssh', self.ssh_target(), '--', - 'ssh', 'worker@{}'.format(ip), '--', - 'tar', '-C/workspace', '-x'] - cliapp.runcmd(tar_argv, ssh_argv) - self.verbose('Unpacked workspace to /workspace') - - def create_workspace(self): - o = self.on_worker( - 'manager', - ['sudo', 'install', '-d', '-o', 'worker', '-g', 'worker', - '/workspace']) - if o is not None: - o = self.on_worker( - 'manager', - ['sudo', 'install', '-d', '-o', 'worker', '-g', 'worker', - '/workspace/src']) - if o is None: - self.verbose('Could not create workspace') - sys.exit(1) - - def on_manager( - self, argv, stdin=PIPE, stdout=PIPE, stderr=STDOUT, - remote_cwd=None): - tgt = self.ssh_target() - try: - return cliapp.ssh_runcmd( - tgt, argv, stdin=stdin, stdout=stdout, stderr=stderr, - remote_cwd=remote_cwd) - except cliapp.AppException: - return None - - def worker_ip(self): - filename = '/var/lib/libvirt/dnsmasq/virbr0.status' - o = self.on_manager(['cat', filename], stderr=None) - if not o: - self.error('Failed to get guest IP addresses from manager') - return None - logging.debug('virbr0.status from manager: {!r}'.format(o)) - o = [x for x in json.loads(o) if x['hostname'] == 'worker'] - if not o: - self.error('Failed to run find IP for worker VM') - return None - o.sort(key=lambda e: e['expiry-time']) - return o[-1]['ip-address'] - - def on_worker( - self, user, argv, stdin=PIPE, stdout=PIPE, stderr=STDOUT, - remote_cwd=None): - ip = self.worker_ip() - if ip is None: - return None - - argv_base = ['ssh', '{}@{}'.format(user, ip), '--'] - if remote_cwd is not None: - argv_base.extend(list(map(cliapp.shell_quote, [ - 'sh', '-c', 'cd "$1" && shift && exec "$@"', - '-', - remote_cwd]))) - - argv = argv_base + [cliapp.shell_quote(x) for x in argv] - return self.on_manager( - argv, stdin=stdin, stdout=stdout, stderr=stderr) - - def ssh_target(self): - return '{}@{}'.format( - self.settings['manager-user'], - self.settings['manager-address']) - def error(self, msg): sys.stderr.write('ERROR: {}\n'.format(msg)) logging.error('ERROR: {}'.format(msg)) @@ -316,7 +137,6 @@ class ContractorApplication(cliapp.Application): print(msg) - class ExecResult: def __init__(self, stdout, stderr, exit_code): @@ -580,8 +400,6 @@ class Manager: logging.error('Could not mount device') return er - - class Worker: |