def build_and_maybe_install(image, do_install=False, skips=None, args=None): """Build and maybe install Cockpit into a test image""" machine = testvm.VirtMachine(verbose=args["verbose"], image=image, label="install") source = subprocess.check_output([ os.path.join(testinfra.TEST_DIR, "..", "tools", "make-source") ]).strip() machine.start(maintain=do_install, memory_mb=4096, cpus=4) completed = False # Delete any old build results before starting dest = os.path.join(testinfra.TEST_DIR, "tmp", "build-results") if os.path.exists(dest): subprocess.check_call(["rm", "-r", dest]) try: machine.wait_boot() upload_scripts(machine, args=args) machine.upload([ source ], "/var/tmp") run_install_script(machine, True, do_install, skips, os.path.basename(source), args) completed = True finally: if not completed and args["sit"]: sys.stderr.write("ADDRESS: {0}\n".format(machine.address)) raw_input ("Press RET to continue... ") try: machine.download_dir("/var/tmp/build-results", "tmp/build-results") finally: machine.stop()
def only_install(image, skips=None, args=None, address=None): """Install Cockpit into a test image""" verbose = args["verbose"] started = False if args["address"]: machine = testvm.Machine(address=args["address"], verbose=verbose, image=image, label="install") else: machine = testvm.VirtMachine(verbose=verbose, image=image, label="install") machine.start(maintain=True) started = True completed = False try: if started: machine.wait_boot() upload_scripts(machine,args=args) machine.execute("rm -rf /var/tmp/build-results"); machine.upload([ "tmp/build-results" ], "/var/tmp") run_install_script(machine, False, True, skips, None, args) completed = True finally: if not completed and args["sit"]: sys.stderr.write("ADDRESS: {0}\n".format(machine.address)) raw_input ("Press RET to continue... ") if started: machine.stop()
def only_install(image, skip=None, args=None, address=None): """Install Cockpit into a test image""" verbose = args["verbose"] started = False if args["address"]: machine = testvm.Machine(address=args["address"], verbose=verbose, image=image, label="install") else: machine = testvm.VirtMachine(verbose=verbose, image=image, label="install") machine.start(maintain=True) started = True try: if started: machine.wait_boot() upload_scripts(machine, args=args) machine.execute("rm -rf /var/tmp/build-results") machine.upload(["tmp/build-results"], "/var/tmp") run_install_script(machine, False, True, skip, None, args) finally: if started: machine.stop()