def push(flargs): vm_name, args = flargs kind = args.kind vm = VMachine(vm_conf_file, vm_name) if vm.is_powered_on(): print "[!] %s is already powered on. please shutdown vm before." % vm_name return "%s not pushed %s" % (vm_name, kind) job_log(vm_name, "PUSH %s" % kind) vm.revert_last_snapshot() job_log(vm_name, "REVERTED") sleep(random.randint(30, 60)) vm.startup() job_log(vm_name, "STARTUP") test_dir = "C:\\Users\\avtest\\Desktop\\AVTEST" buildbat = "push_%s_%s.bat" % (kind, args.server) filestocopy = [ "./%s" % buildbat, "./push_all_minotauro.bat", "lib/build.py", "lib/logger.py", "lib/rcs_client.py", "conf/vmavtest.cfg", "assets/config_desktop.json", "assets/config_mobile.json", "assets/keyinject.exe", "assets/meltapp.exe", "assets/meltexploit.txt", "assets/meltexploit.docx", "assets/meltexploit.ppsx" ] result = "%s, ERROR GENERAL" % vm_name """ if wait_for_startup(vm) is False: result = "ERROR wait for startup for %s" % vm_name else: copy_to_guest(vm, test_dir, filestocopy) job_log(vm_name, "ENVIRONMENT") result = "%s, pushed %s." % (vm_name, kind) """ r = StrictRedis(socket_timeout=5 * 60) p = r.pubsub() p.subscribe(vm_name) try: for m in p.listen(): try: print "DBG %s: %s" % (m['channel'], m['data']) if "STARTED" in m['data']: # and started is False: copy_to_guest(vm, test_dir, filestocopy) job_log(vm_name, "ENVIRONMENT") result = "%s, pushed %s." % (vm_name, kind) return result except TypeError: pass except ConnectionError: print "DBG %s: not STARTED. Timeout occurred." % vm_name return push(flargs) return result
def push(flargs): vm_name, args = flargs kind = args.kind vm = VMachine(vm_conf_file, vm_name) if vm.is_powered_on(): print "[!] %s is already powered on. please shutdown vm before." % vm_name return "%s not pushed %s" % (vm_name, kind) job_log(vm_name, "PUSH %s" % kind) vm.revert_last_snapshot() job_log(vm_name, "REVERTED") sleep(random.randint(30, 60)) vm.startup() job_log(vm_name, "STARTUP") test_dir = "C:\\Users\\avtest\\Desktop\\AVTEST" buildbat = "push_%s_%s.bat" % (kind, args.server) filestocopy = ["./%s" % buildbat, "./push_all_minotauro.bat", "lib/build.py", "lib/logger.py", "lib/rcs_client.py", "conf/vmavtest.cfg", "assets/config_desktop.json", "assets/config_mobile.json", "assets/keyinject.exe", "assets/meltapp.exe", "assets/meltexploit.txt", "assets/meltexploit.docx", "assets/meltexploit.ppsx"] result = "%s, ERROR GENERAL" % vm_name """ if wait_for_startup(vm) is False: result = "ERROR wait for startup for %s" % vm_name else: copy_to_guest(vm, test_dir, filestocopy) job_log(vm_name, "ENVIRONMENT") result = "%s, pushed %s." % (vm_name, kind) """ r = StrictRedis(socket_timeout=5 * 60) p = r.pubsub() p.subscribe(vm_name) try: for m in p.listen(): try: print "DBG %s: %s" % (m['channel'], m['data']) if "STARTED" in m['data']: # and started is False: copy_to_guest(vm, test_dir, filestocopy) job_log(vm_name, "ENVIRONMENT") result = "%s, pushed %s." % (vm_name, kind) return result except TypeError: pass except ConnectionError: print "DBG %s: not STARTED. Timeout occurred." % vm_name return push(flargs) return result