Beispiel #1
0
def setup_logging(verbose=False):
    level = logutil.INFO
    if verbose:
        level = logutil.DEBUG
    if not verbose > 1:
        logutil.quiet_boto_logging()
    return logutil.setup_root_logger(stdout=level)
Beispiel #2
0
def setup_logging(verbose=False):
    level = logutil.INFO
    if verbose:
        level = logutil.DEBUG
    if not verbose > 1:
        logutil.quiet_boto_logging()
    return logutil.setup_root_logger(stdout=level)
Beispiel #3
0
                             "Default: %(default)s")
    parser.add_argument('-g', '--security-group', default='default',
                        help="Security group of instance used to build the "
                             "AMI.  Must allow SSH (tcp port 22). "
                             "Default: %(default)s")
    parser.add_argument('region', choices=regions,
                        help='The region to build the ami in.')

    args = parser.parse_args()

    log_level = logutil.INFO
    if args.verbose:
        log_level = logutil.DEBUG
    logger = logutil.setup_root_logger(stdout=log_level)
    if not args.verbose > 2:
        logutil.quiet_boto_logging()

    base_image_id = get_ubuntu_ami(args.region)
    logger.info("Building from base ubuntu AMI %s.", base_image_id)
    logger.debug("Connecting to EC2 API in region %s.", args.region)
    conn = connect_to_region(args.region)
    base_ami = conn.get_image(base_image_id)
    logger.debug("Launching instance with AMI %s.", base_image_id)
    reservation = base_ami.run(key_name=args.ssh_key,
                               security_groups=[args.security_group, ],
                               user_data=generate_cloud_config(),
                               instance_type=args.instance_type)
    instance = reservation.instances[0]
    wait_for_instance_state(instance, 'running')
    logger.debug('Instance up, public IP: %s', instance.ip_address)
    logger.debug('Sleeping for 30 seconds for instance to finish booting.')