Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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()