X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fimporter%2Fplimporter.py;h=8c4ab5e0723206a06a7f0cc9c377f222a9592580;hb=49ff7470bdf33c112ec7f046de0b7a7e61e28b19;hp=1e04e54ca13f59c93469073bfeede4a7146205aa;hpb=bf8c48e299b0999b989f627448165c775d9fbb13;p=sfa.git diff --git a/sfa/importer/plimporter.py b/sfa/importer/plimporter.py index 1e04e54c..8c4ab5e0 100644 --- a/sfa/importer/plimporter.py +++ b/sfa/importer/plimporter.py @@ -167,9 +167,13 @@ class PlImporter: for person in persons: pubkeys = [] for key_id in person['key_ids']: - key = keys_by_id[key_id] - if key['key_type'] == 'ssh': + # by construction all the keys we fetched are ssh keys + # so gpg keys won't be in there + try: + key = keys_by_id[key_id] pubkeys.append(key) + except: + self.logger.warning("Could not spot key %d - probably non-ssh"%key_id) keys_by_person_id[person['person_id']] = pubkeys # Get all plc nodes nodes = shell.GetNodes( {'peer_id': None}, ['node_id', 'hostname', 'site_id']) @@ -206,7 +210,7 @@ class PlImporter: except: # if the site import fails then there is no point in trying to import the # site's child records (node, slices, persons), so skip them. - self.logger.log_exc("PlImporter: failed to import site. Skipping child records") + self.logger.log_exc("PlImporter: failed to import site %s. Skipping child records"%site_hrn) continue else: # xxx update the record ... @@ -240,7 +244,7 @@ class PlImporter: self.logger.info("PlImporter: imported node: %s" % node_record) self.remember_record (node_record) except: - self.logger.log_exc("PlImporter: failed to import node") + self.logger.log_exc("PlImporter: failed to import node %s"%node_hrn) else: # xxx update the record ... pass @@ -332,6 +336,7 @@ class PlImporter: # maintain the list of PIs for a given site site_record.reg_pis = site_pis + dbsession.commit() # import slices for slice_id in site['slice_ids']: @@ -355,10 +360,10 @@ class PlImporter: self.logger.info("PlImporter: imported slice: %s" % slice_record) self.remember_record ( slice_record ) except: - self.logger.log_exc("PlImporter: failed to import slice") + self.logger.log_exc("PlImporter: failed to import slice %s (%s)"%(slice_hrn,slice['name'])) else: # xxx update the record ... - self.logger.warning ("Slice update not yet implemented") + self.logger.warning ("Slice update not yet implemented on slice %s (%s)"%(slice_hrn,slice['name'])) pass # record current users affiliated with the slice slice_record.reg_researchers = \