Changed DeploymentNetwork to Deployment, adjusted initial_json to include service...
[plstackapi.git] / planetstack / openstack / manager.py
index fdf09eb..4ddd7f6 100644 (file)
@@ -1,5 +1,7 @@
 import os
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "planetstack.settings")
+#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        
@@ -250,7 +256,7 @@ class OpenStackManager:
             if 'viccidev10' not in node.name:
                 nodes_dict[node.name] = node 
         
-        deployment = DeploymentNetwork.objects.filter(name='VICCI')[0]
+        deployment = Deployment.objects.filter(name='VICCI')[0]
         login_bases = ['princeton', 'stanford', 'gt', 'uw', 'mpisws']
         sites = Site.objects.filter(login_base__in=login_bases)
         # collect nova nodes: