Esempio n. 1
0
def backup_list_of_servers():
    c = ChooseServer(CNX)
    options = parse_options()

    server_list = c.get_list_of_servers(options.server)

    if not server_list:
        print "no server has been chosen"
        return

    if not options.force:
        answer = i_am_about("Do you want to backup servers [Yn]: ", server_list)

        if not answer:
            return

    answer=""
    if options.backup_prefix:
        answer = options.backup_prefix
    elif not options.name:
        answer = raw_input("Backup prefix [backup]: ")
        if not answer:
            answer = "backup"

    if " " in answer:
        print "Spaces are not allowed"
        return
        
    
    for x in server_list:
        if options.name:
            backup_name = options.name
        else:
            backup_name="%s-%s" % (answer, x.name)
        print "Backuping %s to %s: " % (x.name, backup_name)
        b = CNX.images.create(backup_name, x.id)
        wait_for_it(CNX, b.id)
        if options.delete_after:
            print "Deleting: %s" % x.name
            x.delete()
from lib.common import CNX, i_am_about
from lib.chooseimage import ChooseImage

if __name__ == '__main__':
    opparser = OptionParser(usage="delete-images")
    opparser.add_option('-s', '--server',
                        type='string',
                        help="Server List id/name to match")
    opparser.add_option('-f', '--force',
                        action="store_true",
                        default=False,
                        help="Force it thought, no question asked.")
    (options, args) = opparser.parse_args() # pylint: disable-msg=W0612
    
    c = ChooseImage(CNX)
    if len(c.servers) == 0:
        print "There is no images to process."
        sys.exit(0)
    server_list = c.get_list_of_servers(options.server)

    if options.force:
        answer=True
    else:
        answer = i_am_about("I am about to delete the images", server_list)
    if answer:
        for x in server_list:
            print "Deleting %s" % (x.name)
            x.delete()