#   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
Beispiel #2
0
    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)