Add support for Rackspace Cloud DNS registration.

Change-Id: Ic0936d99f88a85585aaaf45538dd484c77351c69
This commit is contained in:
Monty Taylor
2011-10-21 12:49:33 -04:00
parent 4d784e0194
commit 41cf476c6d

View File

@@ -28,6 +28,8 @@ node_size = '3'
node_type = '76'
if CLOUD_SERVERS_DRIVER == 'rackspace':
import clouddns
for (name, value) in option_pairs:
if name == "--distro":
if value == "maverick":
@@ -90,6 +92,18 @@ else:
if CLOUD_SERVERS_DRIVER == 'rackspace':
node = conn.deploy_node(name=node_name, image=image, size=size, deploy=msd,
ex_files=files)
dns_ctx = clouddns.connection.Connection(CLOUD_SERVERS_USERNAME,
CLOUD_SERVERS_API_KEY)
domain_name = ".".join(node_name.split(".")[-2:])
domain = dns_ctx.get_domain(name=domain_name)
try:
record = domain.get_record(name=node_name)
except:
record = None
if record is None:
domain.create_record(node_name, node.public_ip[0], "A")
else:
record.update(data=node.public_ip[0])
else:
node = conn.create_node(name=node_name, image=image, size=size,
ex_keyname=node_name, ex_userdata=launch_script)