def ADD_VM(url, token, name, project): # create a new vm astakos = AstakosClient(url, token, name) service_type = CycladesComputeClient.service_type endpoint = astakos.get_endpoint_url(service_type) compute = CycladesComputeClient(endpoint, token) vm_name = name flavor = '260' image = 'eca2f4ef-b428-4096-a47d-29ddf5ed68d9' # server = compute.create_server(name=vm_name, flavor_id=flavor, image_id=image) server = compute.create_server(name=vm_name, key_name='cluster key', flavor_id=flavor, image_id=image, project_id=project) print(server['status']) with open(vm_name + '.info', "w") as f: for s in server: f.write(s) active = compute.wait_server_until(server['id'], 'ACTIVE') if active != 'ACTIVE': print('Waiting for server to build...')
AUTHENTICATION_URL = "https://astakos.example.com/identity/v2.0" TOKEN = "User-Token" astakos = AstakosClient(AUTHENTICATION_URL, TOKEN) service_type = CycladesComputeClient.service_type endpoint = astakos.get_endpoint_url(service_type) compute = CycladesComputeClient(endpoint, TOKEN) # Create a server (automatic IP) name = "My public server" flavor = "420" image = "image-id-for-debian" project = "a1234567-a890-1234-56ae-78f90bb1c2db" server = compute.create_server(name, flavor, image, project=project) print "Server status is {0}".server["status"] new_status = compute.wait_server_until(server["id"], "ACTIVE") if new_status != "ACTIVE": print "Waiting for server to build: time out..., server is in {0}".format( new_status) else: # Find ip nics = filter(lambda nic: bool(nic["ipv4"]), server["attachments"]) ip = nics[0]["ipv4"] # Create server print "Server {id} is now {status}\n\tName: {name}\n\tIP: {ip}".format( id=server["id"], status=server["status"], name=server["name"], ip=ip)
service_type = CycladesNetworkClient.service_type endpoint = astakos.get_endpoint_url(service_type) network = CycladesNetworkClient(endpoint, TOKEN) # Create VPN and reserve an IP type_ = CycladesNetworkClient.types[0] vpn = network.create_network(type_, name="Cluster Network") unused_ips = filter(lambda ip: not ip["port_id"], network.list_floatingips()) ip = unused_ips[0] if unused_ips else network.create_floatingip() ip_net = ip["floating_network_id"] # Server data flavor = 420 image = "image-id-for-a-debian-image" # Create nodes networks = [ dict(uuid=vpn["id"]), ] node_1 = compute.create_server("Node 1", flavor, image, networks=networks) node_2 = compute.create_server("Node 2", flavor, image, networks=networks) # Create gateway networks.append(dict(uuid=ip_net, fixed_ip=ip["floating_ip_address"])) gateway = compute.create_server("Gateway", flavor, image, networks=networks) # Wait servers to get ready compute.wait_server_until(node_1["id"], "ACTIVE") compute.wait_server_until(node_2["id"], "ACTIVE") compute.wait_server_until(gateway["id"], "ACTIVE")
# interpreted as representing official policies, either expressed # or implied, of GRNET S.A. from kamaki.clients.astakos import AstakosClient from kamaki.clients.cyclades import CycladesComputeClient AUTHENTICATION_URL = "https://astakos.example.com/identity/v2.0" TOKEN = "User-Token" astakos = AstakosClient(AUTHENTICATION_URL, TOKEN) service_type = CycladesComputeClient.service_type endpoint = astakos.get_endpoint_url(service_type) compute = CycladesComputeClient(endpoint, TOKEN) # Data server_id = "my-server-id" new_flavor = "new-flavor-id-able-in-resources" new_project = "a9f87654-3af2-1e09-8765-43a2df1098765" # Shutdown server compute.shutdown_server(server_id) compute.wait_server_until(server_id, "STOPPED") # Reassign and resize compute.reassign_server(server_id, new_project) compute.resize_server(server_id, new_flavor) # Start server compute.start_server(server_id) compute.wait_server_until(server_id, "ACTIVE")
compute = CycladesComputeClient(endpoint, TOKEN) service_type = CycladesNetworkClient.service_type endpoint = astakos.get_endpoint_url(service_type) network = CycladesNetworkClient(endpoint, TOKEN) # Create VPN and reserve an IP type_ = CycladesNetworkClient.types[0] vpn = network.create_network(type_, name="Cluster Network") unused_ips = filter(lambda ip: not ip["port_id"], network.list_floatingips()) ip = unused_ips[0] if unused_ips else network.create_floatingip() ip_net = ip["floating_network_id"] # Server data flavor = 420 image = "image-id-for-a-debian-image" # Create nodes networks = [dict(uuid=vpn["id"]), ] node_1 = compute.create_server("Node 1", flavor, image, networks=networks) node_2 = compute.create_server("Node 2", flavor, image, networks=networks) # Create gateway networks.append(dict(uuid=ip_net, fixed_ip=ip["floating_ip_address"])) gateway = compute.create_server("Gateway", flavor, image, networks=networks) # Wait servers to get ready compute.wait_server_until(node_1["id"], "ACTIVE") compute.wait_server_until(node_2["id"], "ACTIVE") compute.wait_server_until(gateway["id"], "ACTIVE")