move key sync logic to sync_slivers
[plstackapi.git] / planetstack / observer / steps / sync_slivers.py
index 3759747..473b3ac 100644 (file)
@@ -67,7 +67,15 @@ class SyncSlivers(OpenStackSyncStep):
                     image_id = image['id']
                     
             # look up key name at the deployment
+            # create/fetch keypair
             keyname = None
+            if sliver.creator.public_key:
+                keyname = sliver.creator.email.lower().replace('@', 'AT').replace('.', '') +\
+                          sliver.slice.name
+                key_fields =  {'name': keyname,
+                               'public_key': sliver.creator.public_key}
+                driver.create_keypair(**key_fields)       
             slice_deployments = SliceDeployments.objects.filter(slice = sliver.slice, 
                                                                deployment = sliver.deploymentNetwork)
             for slice_deployment in slice_deployments: