From: Tony Mack <tmack@paris.CS.Princeton.EDU>
Date: Sat, 11 May 2013 01:04:42 +0000 (-0400)
Subject: we can no longer access the user from the key object, so just make up a random key... 
X-Git-Tag: 1.0~51
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=c261bd26135fdcf0b3a8c14d8186a590d1fedd39;p=plstackapi.git

we can no longer access the user from the key object, so just make up a random key name instead of using the user's username
---

diff --git a/planetstack/openstack/manager.py b/planetstack/openstack/manager.py
index fdf09eb..b4697ce 100644
--- a/planetstack/openstack/manager.py
+++ b/planetstack/openstack/manager.py
@@ -1,5 +1,7 @@
 import os
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "planetstack.settings")
+import string
+import random
 
 from netaddr import IPAddress, IPNetwork
 from planetstack import settings
@@ -15,6 +17,10 @@ except:
 
 manager_enabled = Config().api_nova_enabled
 
+
+def random_string(size=6):
+    return ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(size))
+
 def require_enabled(callable):
     def wrapper(*args, **kwds):
         if manager_enabled and has_openstack:
@@ -75,7 +81,7 @@ class OpenStackManager:
     @require_enabled
     def save_key(self, key):
         if not key.nkey_id:
-            key_fields = {'name': key.user.email[:key.user.email.find('@')],
+            key_fields = {'name': random_string(8),
                           'key': key.key}
             nova_key = self.driver.create_keypair(**key_fields)
             key.nkey_id = nova_key.id