3 # import modules used here -- sys is a very standard one
9 from sfa.senslab.parsing import *
14 class SenslabImportUsers:
21 #self.resources_fulldict['keys'] = []
29 dflt_slice = { 'instantiation': None, 'description': "Senslab Slice Test", 'node_ids': [], 'url': "http://localhost.localdomain/", 'max_nodes': 256, 'site_id': 3,'peer_slice_id': None, 'slice_tag_ids': [], 'peer_id': None, 'hrn' :None}
30 for person in self.person_list:
31 if 'user' or 'pi' in person['roles']:
33 #print>>sys.stderr, "\r\n \rn \t\t _____-----------************def_slice person %s \r\n \rn " %(person['person_id'])
34 def_slice['person_ids'] = []
35 def_slice['person_ids'].append(person['person_id'])
36 def_slice['slice_id'] = person['person_id']
37 def_slice['creator_person_id'] = person['person_id']
38 extime = datetime.datetime.utcnow()
39 def_slice['created'] = int(time.mktime(extime.timetuple()))
40 extime = extime + datetime.timedelta(days=365)
41 def_slice['expires'] = int(time.mktime(extime.timetuple()))
42 #print>>sys.stderr, "\r\n \rn \t\t _____-----------************def_slice expires %s \r\n \r\n "%(def_slice['expires'])
43 def_slice['name'] = person['email'].replace('@','_',1)
44 #print>>sys.stderr, "\r\n \rn \t\t _____-----------************def_slice %s \r\n \r\n " %(def_slice['name'])
45 def_slice.update(dflt_slice)
46 self.slices_list.append(def_slice)
48 print>>sys.stderr, "InitSlices SliceLIST", self.slices_list
50 def InitPersons(self):
53 persons_per_site[person_id] = {'person_id': person_id,'site_ids': [3],'email': 'a_rioot@senslab.fr', 'key_ids':[1], 'roles': ['pi'], 'role_ids':[20],'first_name':'A','last_name':'rioot'}
55 persons_per_site[person_id] = {'person_id': person_id,'site_ids': [3],'email': 'lost@senslab.fr','key_ids':[1],'roles': ['pi'], 'role_ids':[20],'first_name':'L','last_name':'lost'}
57 persons_per_site[person_id] = {'person_id': person_id,'site_ids': [3],'email': 'user@senslab.fr','key_ids':[1],'roles': ['user'], 'role_ids':[1],'first_name':'U','last_name':'senslab'}
58 for person_id in persons_per_site.keys():
59 person = persons_per_site[person_id]
60 if person['person_id'] not in self.person_list:
61 self.person_list.append(person)
62 #print>>sys.stderr, "InitPersons PERSON DICLIST", self.person_list
66 #print>>sys.stderr, " InitKeys HEYYYYYYY\r\n"
68 self.keys_list = [{'peer_key_id': None, 'key_type': 'ssh', 'key' :"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArcdW0X2la754SoFE+URbDsYP07AZJjrspMlvUc6u+4o6JpGRkqiv7XdkgOMIn6w3DF3cYCcA1Mc6XSG7gSD7eQx614cjlLmXzHpxSeidSs/LgZaAQpq9aQ0KhEiFxg0gp8TPeB5Z37YOPUumvcJr1ArwL/8tAOx3ClwgRhccr2HOe10YtZbMEboCarTlzNHiGolo7RYIJjGuG2RBSeAg6SMZrtnn0OdKBwp3iUlOfkS98eirVtWUp+G5+SZggip3fS3k5Oj7OPr1qauva8Rizt02Shz30DN9ikFNqV2KuPg54nC27/DQsQ6gtycARRVY91VvchmOk0HxFiW/9kS2GQ== root@FlabFedora2",'person_id': 7, 'key_id':1, 'peer_id':None },
69 {'peer_key_id': None, 'key_type': 'ssh', 'key' :"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArcdW0X2la754SoFE+URbDsYP07AZJjrspMlvUc6u+4o6JpGRkqiv7XdkgOMIn6w3DF3cYCcA1Mc6XSG7gSD7eQx614cjlLmXzHpxSeidSs/LgZaAQpq9aQ0KhEiFxg0gp8TPeB5Z37YOPUumvcJr1ArwL/8tAOx3ClwgRhccr2HOe10YtZbMEboCarTlzNHiGolo7RYIJjGuG2RBSeAg6SMZrtnn0OdKBwp3iUlOfkS98eirVtWUp+G5+SZggip3fS3k5Oj7OPr1qauva8Rizt02Shz30DN9ikFNqV2KuPg54nC27/DQsQ6gtycARRVY91VvchmOk0HxFiW/9kS2GQ== root@FlabFedora2",'person_id': 8, 'key_id':1, 'peer_id':None },
70 {'peer_key_id': None, 'key_type': 'ssh', 'key' :"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArcdW0X2la754SoFE+URbDsYP07AZJjrspMlvUc6u+4o6JpGRkqiv7XdkgOMIn6w3DF3cYCcA1Mc6XSG7gSD7eQx614cjlLmXzHpxSeidSs/LgZaAQpq9aQ0KhEiFxg0gp8TPeB5Z37YOPUumvcJr1ArwL/8tAOx3ClwgRhccr2HOe10YtZbMEboCarTlzNHiGolo7RYIJjGuG2RBSeAg6SMZrtnn0OdKBwp3iUlOfkS98eirVtWUp+G5+SZggip3fS3k5Oj7OPr1qauva8Rizt02Shz30DN9ikFNqV2KuPg54nC27/DQsQ6gtycARRVY91VvchmOk0HxFiW/9kS2GQ== root@FlabFedora2",'person_id': 9, 'key_id':1, 'peer_id':None }]
75 def GetPersons(self, person_filter=None, return_fields=None):
76 #print>>sys.stderr, " \r\n GetPersons person_filter %s return_fields %s list: %s" %(person_filter,return_fields, self.person_list)
77 if not self.person_list :
78 print>>sys.stderr, " \r\n ========>GetPersons NO PERSON LIST DAMMIT<========== \r\n"
80 if not (person_filter or return_fields):
81 return self.person_list
83 return_person_list= []
84 return_person_list = parse_filter(self.person_list,person_filter ,'persons', return_fields)
85 return return_person_list
88 def GetPIs(self,site_id):
89 return_person_list= []
90 for person in self.person_list :
91 if site_id in person['site_ids'] and 'pi' in person['roles'] :
92 return_person_list.append(person['person_id'])
93 #print>>sys.stderr, " \r\n GetPIs return_person_list %s :" %(return_person_list)
94 return return_person_list
97 def GetKeys(self,key_filter=None, return_fields=None):
99 print>>sys.stderr, " \r\n GetKeys"
101 if not (key_filter or return_fields):
102 return self.keys_list
103 return_key_list = parse_filter(self.keys_list,key_filter ,'keys', return_fields)
104 return return_key_list
107 #print>>sys.stderr, " \r\n GetKeys"
109 #if not (key_filter or return_fields):
110 #return self.keys_list
112 #elif key_filter or return_fields:
113 #for key in self.keys_list:
116 #for k_filter in key_filter:
117 #if key['key_id'] == k_filter :
119 #for field in return_fields:
120 #if field in key.keys():
121 #tmp_key[field] = key[field]
125 #print>>sys.stderr, " \r\n tmp_key",tmp_key
126 #return_key_list.append(tmp_key)
127 #print>>sys.stderr," \r\n End GetKeys with filter ", return_key_list
128 #return return_key_list
130 def GetSlices( self,slice_filter=None, return_fields=None):
131 return_slice_list= []
132 print>>sys.stderr, "\r\n\r\n\t =======================GetSlices "
133 if not (slice_filter or return_fields):
134 return self.slices_list
135 return_slice_list= parse_filter(self.slices_list, slice_filter,'slice', return_fields)
136 return return_slice_list
139 def AddSlice(self, slice_fields):
140 print>>sys.stderr, " \r\n \r\nAddSlice "
143 def AddPersonToSlice(self,person_id_or_email, slice_id_or_name):
144 print>>sys.stderr, " \r\n \r\n AddPersonToSlice"
146 def DeletePersonFromSlice(self,person_id_or_email, slice_id_or_name):
147 print>>sys.stderr, " \r\n \r\n DeletePersonFromSlice "