- CM * sfa_componet_config needs to define SFA_CM_SLICE_PREFIX - URN vs HRN * methods should support urn or hrn arguments * create a module that converts urn to hrn so we can continue using hrn behind the scenes * add get_urn() method to GID object * urn is the standard over the wire format - Registry * sfa.plc.api.SfaAPI.fill_record_pl_info() should add the sites PIs to a slice records researchers list * update call should attempt to push updates to federated peers if the peer has a record for an object that is updated locally * api.update_membership() shoudl behave more like resolve when looking up records (attempt to resolve records at federated registeries) instead of only looking in the local registry * support generic registry records (dont depend on postgres!) - sfa-clean-peer-records * instead of resolving each peer record one by one, use one reslove call to resolve a list of hrns (requires updated registry.resolve() method) - Aggregate * sfa.plc.slices.verify_site() should check if site['max_slices'] needs to be updated * sfa.plc.slices.verify_slice() should check if slice['expires'] needs to be updated - Component manager * install the slice and node gid when the slice is created (create NM plugin to execute sfa_component_setup.py ?) - SM call routing * sfi -a option should send request to sm with an extra argument to specify which am to contact instead of connecting directly to the am (am may not trust client directly) - Initscripts on sfa / geniwrapper * should sfa have native initscript support or should we piggyback off of myplc? - Fully integrate SOAP (need to throw either soap or xmlrpc exceptions depending on the client) * started but not finished - error messages * error messages should be easier to understand * (failing to connect to plcapi shoudl return a helpful message, not a generic internal server error)