Merge branch 'geni-v3' of ssh://git.onelab.eu/git/sfa into geni-v3
[sfa.git] / sfa / planetlab / plslices.py
index 9455a20..1417984 100644 (file)
@@ -377,9 +377,15 @@ class PlSlices:
         slice_exists = [slice for slice in slices if slice['hrn'] == slice_hrn]
         expires = int(datetime_to_epoch(utcparse(expiration)))
         if not slice_exists:
+            if slice_record:
+                url = slice_record.get('url', slice_hrn)
+                description = slice_record.get('description', slice_hrn)
+            else:
+                url = slice_hrn
+                description = slice_hrn
             slice = {'name': slice_name,
-                     'url': slice_record.get('url', slice_hrn),
-                     'description': slice_record.get('description', slice_hrn)}
+                     'url': url,
+                     'description': description}
             # add the slice                          
             slice['slice_id'] = self.driver.shell.AddSlice(slice)
             # set the slice HRN
@@ -440,7 +446,7 @@ class PlSlices:
 
         # Add persons or add persons to slice
         for person_hrn in persons_to_add:
-             person_email = users_by_hrn[person_hrn].get('email', None)
+             person_email = users_by_hrn[person_hrn].get('email', "%s@geni.net"%person_hrn.split('.')[-1])
              if person_email and person_email in persons_by_email.keys():
                  # check if the user already exist in PL
                  person_id = persons_by_email[person_email]['person_id']
@@ -458,10 +464,10 @@ class PlSlices:
                  self.driver.shell.AddRoleToPerson('user', int(person_id))
                  # enable the account 
                  self.driver.shell.UpdatePerson(int(person_id), {'enabled': True})
-                 self.driver.shell.SetPersonHrn(int(person_id), person_hrn)
                  self.driver.shell.SetPersonSfaCreated(int(person_id), 'True')
                  self.driver.shell.AddPersonToSite(int(person_id), site['site_id'])
                  self.driver.shell.AddPersonToSlice(int(person_id), slice['slice_id'])
+                 self.driver.shell.SetPersonHrn(int(person_id), person_hrn)
 
                  # Add keys
                  for key in users_by_hrn[person_hrn].get('keys', []):