update create_keypair
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 9 Apr 2013 16:25:35 +0000 (12:25 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 9 Apr 2013 16:25:35 +0000 (12:25 -0400)
plstackapi/openstack/driver.py
plstackapi/planetstack/models.py

index 79c50b9..81273b3 100644 (file)
@@ -155,8 +155,10 @@ class OpenStackDriver:
     def create_keypair(self, name, key):
         keys = self.client.nova.keypairs.findall(name=name)
         if keys:
-            raise Exception, "Key name already exists: %s" % name
-        return self.client.nova.keypairs.create(name=name, public_key=key)
+            key = keys[0]
+        else:
+            key = self.client.nova.keypairs.create(name=name, public_key=key)
+        return key
 
     def delete_keypair(self, name):
         keys = self.client.nova.keypairs.findall(name=name)
index f795177..1c1774d 100644 (file)
@@ -244,7 +244,6 @@ class Key(PlCoreBase):
         super(Key, self).delete(*args, **kwds)
 
 
-
 class Sliver(PlCoreBase):
     instance_id = models.CharField(max_length=200, help_text="Nova instance id")    
     name = models.CharField(max_length=200, help_text="Sliver name")