示例#1
0
    parser.add_argument('-u',
                        '--username',
                        help='Specify username.',
                        action='store',
                        dest='username')
    parser.add_argument('-w',
                        '--password',
                        help='Specify password.',
                        action='store',
                        dest='password')
    p = parser.parse_args()

    i = CloudInterface(dc=p.dc)
    i.login(username=p.username, password=p.password, load=True)

    i.get_servers()

    maxretries = 5
    for vm in i.vmlist.find(name=p.pattern):
        if vm.status == 3:
            vm.poweroff()
        for w in range(maxretries):
            server_detail = i.get_server_detail(server_id=vm.sid)
            if server_detail['ServerStatus'] == 2:
                break
            else:
                print("Waiting shutdown")
                time.sleep(5)

        i.delete_vm(server_id=vm.sid)
示例#2
0
import time

from ArubaCloud.PyArubaAPI import CloudInterface

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-d", "--datacenter", help="Specify datacenter to login.", action="store", type=int, dest="dc")
    parser.add_argument("-p", "--pattern", help="Specify pattern to search.", action="store", dest="pattern")
    parser.add_argument("-u", "--username", help="Specify username.", action="store", dest="username")
    parser.add_argument("-w", "--password", help="Specify password.", action="store", dest="password")
    p = parser.parse_args()

    i = CloudInterface(dc=p.dc)
    i.login(username=p.username, password=p.password, load=True)

    i.get_servers()

    maxretries = 5
    for vm in i.vmlist.find(name=p.pattern):
        if vm.status == 3:
            vm.poweroff()
        for w in range(maxretries):
            server_detail = i.get_server_detail(server_id=vm.sid)
            if server_detail["ServerStatus"] == 2:
                break
            else:
                print("Waiting shutdown")
                time.sleep(5)

        i.delete_vm(server_id=vm.sid)
        def aruba(cls, dc, username, password, servertype=None, flavor=None, servername=None,
                  servpass=None, image=None, number=None, serverid=None,
                  cpu=None, ram=None, disk=None, token=None, insert=None, reboot=None, remove=None, rebuild=None):

            if insert:
                global templ, image_id, i
                if dc in range(1, 6, 1):
                    token = CloudInterface(dc=dc)

                if None in servertype:
                    templ = token.find_template(hv=4)
                elif "lowcost" in servertype:
                    templ = token.find_template(hv=3)
                elif "vmware" in servertype:
                    templ = token.find_template(hv=2)
                elif "hyperv" in servertype:
                    templ = token.find_template(hv=1)

                for t in templ:
                    if image in t.id_code and "True" in t.enabled:
                        image_id = t.template_id
                        return image_id

                size = {"small", 'medium', 'large', 'extra large'}
                for i in size:
                    if flavor not in i:
                        Exception("size error")
                    else:
                        return i

                token.login(username=username, password=password, load=True)
                if servertype is None:
                    if number is None:
                        c = SmartVmCreator(name=servername, admin_password=servpass,
                                           template_id=image_id, auth_obj=token.auth)
                        c.set_type(size=i)
                        c.commit(url=token.wcf_baseurl, debug=True)
                    else:
                        a = 0
                        while a < int(number):
                            a += 1
                            c = SmartVmCreator(name=servername + a, admin_password=servpass,
                                               template_id=image_id, auth_obj=token.auth)
                            c.set_type(size=i)
                            c.commit(url=token.wcf_baseurl, debug=True)
                else:
                    if number is None:
                        ip = token.purchase_ip()
                        pvm = ProVmCreator(name=servername, admin_password=servpass,
                                           template_id=image_id, auth_obj=token.auth)
                        pvm.set_cpu_qty(int(cpu))
                        pvm.set_ram_qty(int(ram))
                        pvm.add_virtual_disk(int(disk))
                        pvm.add_public_ip(public_ip_address_resource_id=ip.resid, primary_ip_address=True)
                        pvm.commit(url=token.wcf_baseurl, debug=True)
                        time.sleep(60)
                    else:
                        a = 0
                        while a < int(number):
                            a += 1
                            ip = token.purchase_ip()
                            pvm = ProVmCreator(name=servername + a, admin_password=servpass,
                                               template_id=image_id, auth_obj=token.auth)
                            pvm.set_cpu_qty(int(cpu))
                            pvm.set_ram_qty(int(ram))
                            pvm.add_virtual_disk(int(disk))
                            pvm.add_public_ip(public_ip_address_resource_id=ip.resid, primary_ip_address=True)
                            pvm.commit(url=token.wcf_baseurl, debug=True)
                            time.sleep(60)
            elif reboot:
                token = CloudInterface(dc=dc)
                token.login(username=username, password=password, load=True)
                token.poweroff_server(server_id=serverid)
                time.sleep(60)
                token.poweron_server(server_id=serverid)
            elif remove:
                token = CloudInterface(dc=dc)
                token.login(username=username, password=password, load=True)
                token.poweroff_server(server_id=serverid)
                time.sleep(60)
                token.delete_vm(server_id=serverid)
            elif rebuild:
                token = CloudInterface(dc=dc)
                token.login(username=username, password=password, load=True)
                for vm in token.get_vm(pattern=serverid):
                    vm.poweroff()
                    time.sleep(60)
                    vm.reinitialize(admin_password=servpass)