parser = argparse.ArgumentParser() parser.add_argument("SourceServer", help="UUID of the server to clone") parser.add_argument("--region", default='DFW', help="Region in which to create servers (DFW or ORD)") args = parser.parse_args() credential_file=os.path.expanduser("~/.rackspace_cloud_credentials") pyrax.set_credential_file(credential_file) if c1.is_valid_region(args.region, 'compute'): cs = pyrax.connect_to_cloudservers(region=args.region) else: print "The region you requested is not valid: %s" % args.region sys.exit(2) try: cs.servers.find(id=args.SourceServer) except: print "The source server UUID you specified was not found" print "in region %s : %s" % (args.region, args.SourceServer) print "Perhaps it is in a different region?" print "Aborting...." sys.exit(2) newserver = clone_server(cs, args.SourceServer); # Wait for network info to become available c1.wait_for_server_networks([newserver]) # Print info for new server c1.print_servers_info([newserver]) # vim: ts=2 sw=2 tw=78 expandtab
pyrax.set_credential_file(credential_file) if c1.is_valid_region(args.region, "compute"): cs = pyrax.connect_to_cloudservers(region=args.region) dns = pyrax.connect_to_cloud_dns(region=args.region) else: print "The region you requested is not valid: %s" % args.region sys.exit(2) # unbuffer stdout for pretty output sys.stdout = os.fdopen(sys.stdout.fileno(), "w", 0) if not c4.is_valid_hostname(args.FQDN): print "This does not appear to be a valid host name: %s" % args.FQDN sys.exit(2) if not c1.is_valid_image(cs, args.image): print "This does not appear to be a valid image-uuid: %s" % args.image sys.exit(3) if not c1.is_valid_flavor(cs, args.flavor): print "This does not appear to be a valid flavor-id: %s" % args.flavor sys.exit(4) servers = c1.build_some_servers(cs, args.flavor, args.image, args.FQDN, 1) c1.wait_for_server_networks(servers) c1.print_servers_info(servers) pubIPv4 = cloud_server_public_ipv4(servers[0]) c4.create_dns_record(dns, args.FQDN, pubIPv4, "A") pubIPv6 = cloud_server_public_ipv6(servers[0]) c4.create_dns_record(dns, args.FQDN, pubIPv6, "AAAA") # vim: ts=2 sw=2 tw=78 expandtab