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)
"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.')