# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import logging import sys from aws_utils import EBSHelper, AMIHelper if len(sys.argv) != 5: print print "Create an AMI on EC2 from a bootable image file" print print "usage: %s <ec2_region> <ec2_key> <ec2_secret> <image_file>" % sys.argv[0] print sys.exit(1) region = sys.argv[1] key = sys.argv[2] secret = sys.argv[3] image_file = sys.argv[4] logging.basicConfig(level=logging.DEBUG, format='%(message)s') ebs_helper = EBSHelper(region, key, secret) snapshot = ebs_helper.safe_upload_and_shutdown(image_file) ami_helper = AMIHelper(region, key, secret) ami = ami_helper.register_ebs_ami(snapshot) print "Got AMI: %s" % ami
results[test.name] = testresult result_lock.release() def review_results(): fails = 0 for test, result in results.items(): log.info(result) if result['status'] == 'error': fails += 1 sys.exit(fails) if __name__ == '__main__': opts = get_opts() image = disk_utils.construct_image(opts.anaconda_tree, opts.parameters) ebs_helper = EBSHelper(opts.ec2_region) ami_helper = AMIHelper(opts.ec2_region) snapshot = ebs_helper.safe_upload_and_shutdown(image) # upload it seed_ami = ami_helper.register_ebs_ami(snapshot) # "stage 1" AMI threads = [] tests = anaconda_test.get_test(opts.test_case) # 'all' means get all of them for test in tests: threads.append(threading.Thread( target=run_test, args=(ami_helper, seed_ami, test), name=test.name)) for t in threads: t.start() for t in threads: t.join() review_results(results)