def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--provider",
                        type=int,
                        help="Atmosphere provider ID"
                        " to use.")
    parser.add_argument("image_ids",
                        help="Image ID(s) to be repaired. (Comma-Separated)")
    args = parser.parse_args()

    if not args.provider:
        provider = Provider.objects.get(location='iPlant Cloud - Tucson')
    else:
        provider = Provider.objects.get(id=args.provider)
    images = args.image_ids.split(",")

    accounts = OSAccountDriver(provider)
    for image_id in images:
        mr = MachineRequest.objects.get(new_machine__identifier=image_id)
        glance_image = accounts.get_image(image_id)
        if not glance_image.properties.has_key('kernel_id')\
                or not glance_image.properties.has_key('ramdisk_id'):
            print "Image %s (%s) is missing kernel and/or ramdisk ..." % (
                image_id, glance_image.name),
            fix_image(accounts, glance_image, mr)
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--provider", type=int,
                        help="Atmosphere provider ID"
                        " to use.")
    parser.add_argument("image_ids",
                        help="Image ID(s) to be repaired. (Comma-Separated)")
    args = parser.parse_args()

    if not args.provider:
        provider = Provider.objects.get(location='iPlant Cloud - Tucson')
    else:
        provider = Provider.objects.get(id=args.provider)
    images = args.image_ids.split(",")

    accounts = OSAccountDriver(provider)
    for image_id in images:
        mr = MachineRequest.objects.get(new_machine__identifier=image_id)
        glance_image = accounts.get_image(image_id)
        if not glance_image.properties.has_key('kernel_id')\
                or not glance_image.properties.has_key('ramdisk_id'):
            print "Image %s (%s) is missing kernel and/or ramdisk ..." % (image_id,glance_image.name),
            fix_image(accounts, glance_image, mr)