import subprocess
+import os
from datetime import datetime
# second step : configure the experiment
# we need to store the nodes in a yaml (well...) file like this :
# [1,56,23,14,45,75] with name /tmp/sfa<jobid>.json
- job_file = open('/tmp/sfa/'+ str(jobid) + '.json', 'w')
+ tmp_dir = '/tmp/sfa/'
+ if not os.path.exists(tmp_dir):
+ os.makedirs(tmp_dir)
+ job_file = open(tmp_dir + str(jobid) + '.json', 'w')
job_file.write('[')
job_file.write(str(added_nodes[0].strip('node')))
for node in added_nodes[1:len(added_nodes)] :
%( hostname_list, slice_record , lease_start_time, \
lease_duration))
- tmp = slice_record['reg-researchers'][0].split(".")
- username = tmp[(len(tmp)-1)]
+ #tmp = slice_record['reg-researchers'][0].split(".")
+ username = slice_record['user']['uid']
+ #username = tmp[(len(tmp)-1)]
job_id = self.LaunchExperimentOnOAR(hostname_list, slice_record['hrn'], \
lease_start_time, lease_duration, username)
start_time = datetime.fromtimestamp(int(lease_start_time)).strftime(self.time_format)
end_time = lease_start_time + lease_duration
+ logger.debug("SLABDRIVER \r\n \r\n \t AddLeases %s %s %s " %(type(slice_record['hrn']), type(job_id), type(end_time)))
slab_ex_row = SenslabXP(slice_record['hrn'], job_id, end_time)
logger.debug("SLABDRIVER \r\n \r\n \t slab_ex_row %s" %(slab_ex_row))
slab_dbsession.add(slab_ex_row)
resa['component_id_list'] = []
+ resa['hrn'] = Xrn(resa['slice_id']).get_hrn()
#Transform the hostnames into urns (component ids)
for node in resa['reserved_nodes']:
#resa['component_id_list'].append(hostname_to_urn(self.hrn, \
#self.root_auth, node['hostname']))
slab_xrn = slab_xrn_object(self.root_auth, node)
resa['component_id_list'].append(slab_xrn.urn)
- resa['slice_hrn'] = Xrn(resa['slice_id']).get_hrn()
if lease_filter_dict:
logger.debug("SLABDRIVER \tGetLeases resa_ %s \r\n leasefilter %s"\
slice_rec = info['slice_record']
user = slice_rec['user']
-
- if 'hrn' in user:
+ if 'email' in user:
users_by_email[user['email']] = user
+ users_dict[user['email']] = user
+
+ #if 'hrn' in user:
#users_by_hrn[user['hrn']] = user
#users_dict[user['hrn']] = user
- users_dict[user['email']] = user
logger.debug( "SLABSLICE.PY \t verify_person \
users_dict %s \r\n user_by_email %s \r\n \
#User's in senslab LDAP
if existing_users:
for user in existing_users :
+ users_dict[user['email']].update(user)
existing_user_emails.append(users_dict[user['email']]['email'])
+
#existing_user_hrns.append(users_dict[user['hrn']]['hrn'])
#existing_user_ids.\
#append(users_dict[user['hrn']]['person_id'])
added_persons = []
# add new users
+
+ #requested_user_email is in existing_user_emails
+ if len(added_user_emails) == 0:
+
+ slice_record['login'] = users_dict[requested_user_emails[0]]['uid']
+ logger.debug(" SLABSLICE \tverify_person QUICK DIRTY %s" \
+ %(slice_record))
+
#for added_user_hrn in added_user_hrns:
#added_user = users_dict[added_user_hrn]
+
+
for added_user_email in added_user_emails:
#hrn, type = urn_to_hrn(added_user['urn'])
#person['person_id'] = self.driver.AddPerson(person)
person['uid'] = self.driver.AddPerson(person)
- slice_record['HEYMOTHERFUCKER'] = "DAFUQ?"
#Update slice_Record with the id now known to LDAP
-
+ slice_record['login'] = person['uid']
slice_record['reg_researchers'] = [self.driver.root_auth + '.' + person['uid']]
slice_record['reg-researchers'] = slice_record['reg_researchers']
logger.debug(" SLABSLICE \r\n \r\n \t THE SECONDverify_person slice_record['record_id_user'] %s" %(slice_record))