Ejemplo n.º 1
0
def main(argv=None):
    """
    Entry point for library-like use.
    """
    config.parse()

    logging.basicConfig(filename=config.AFT_LOG_NAME, level=logging.INFO,
                        format='%(asctime)s - %(name)s - '
                               '%(levelname)s - %(message)s')

    if argv != None:
        backup_argv = sys.argv
        sys.argv = argv

    args = parse_args()

    if args.configure:
        builder = TopologyBuilder(args)
        builder.build_topology()
        return 0

    if args.check:
        results = device_config.check(args)
        logging.info(results[1])
        print results[1]

        if results[0] == True:
            return 0
        else:
            return 1
    elif args.checkall:
        results = device_config.check_all(args)
        logging.info(results[1])
        print results[1]

        if results[0] == True:
            logging.info("All tests passed")
            return 0
        else:
            logging.info("There were failures")
            return 1


    device_manager = DevicesManager(args)

    if args.blacklist:
        if not args.device:
            print "Device must be specified for blacklisting"
            return 1

        device_manager.blacklist_device(args.device, args.reason)
        return 0

    if args.recover_edisons:
        recover_edisons(device_manager, args.verbose)
        return 0


    if not args.machine or not args.file_name:
        print "Both machine and image must be specified"
        return 1


    device = device_manager.reserve()
    tester = Tester(device)

    if args.record:
        device.record_serial()
    if not args.noflash:
        print "Flashing " + str(device.name) + "."
        device.write_image(args.file_name)
    if not args.notest:
        tester.execute()
    if not args.nopoweroff:
        device.detach()

    if "backup_argv" in locals():
        sys.argv = backup_argv
    return 0
Ejemplo n.º 2
0
def main(argv=None):
    """
    Entry point for library-like use.
    """
    config.parse()

    logging.basicConfig(filename=config.AFT_LOG_NAME,
                        level=logging.INFO,
                        format='%(asctime)s - %(name)s - '
                        '%(levelname)s - %(message)s')

    if argv != None:
        backup_argv = sys.argv
        sys.argv = argv

    args = parse_args()

    if args.configure:
        builder = TopologyBuilder(args)
        builder.build_topology()
        return 0

    if args.check:
        results = device_config.check(args)
        logging.info(results[1])
        print results[1]

        if results[0] == True:
            return 0
        else:
            return 1
    elif args.checkall:
        results = device_config.check_all(args)
        logging.info(results[1])
        print results[1]

        if results[0] == True:
            logging.info("All tests passed")
            return 0
        else:
            logging.info("There were failures")
            return 1

    device_manager = DevicesManager(args)

    if args.blacklist:
        if not args.device:
            print "Device must be specified for blacklisting"
            return 1

        device_manager.blacklist_device(args.device, args.reason)
        return 0

    if args.recover_edisons:
        recover_edisons(device_manager, args.verbose)
        return 0

    if not args.machine or not args.file_name:
        print "Both machine and image must be specified"
        return 1

    device = device_manager.reserve()
    tester = Tester(device)

    if args.record:
        device.record_serial()
    if not args.noflash:
        print "Flashing " + str(device.name) + "."
        device.write_image(args.file_name)
    if not args.notest:
        tester.execute()
    if not args.nopoweroff:
        device.detach()

    if "backup_argv" in locals():
        sys.argv = backup_argv
    return 0