from sfa.trust.credential import Credential
from sfa.trust.gid import GID
-from sfa.storage.record import SfaRecord
+from sfa.storage.record import Record
def determine_sfa_filekind(fn):
interfaces = ['aggregate', 'slicemgr', 'component']
accepts = [
- Parameter([str], "Human readable name of slice to delete (hrn or urn)"),
+ Parameter(type([str]), "Human readable name of slice to delete (hrn or urn)"),
Parameter(dict, "Credentials"),
Parameter(dict, "options"),
]
"""
interfaces = ['aggregate', 'slicemgr']
accepts = [
- Parameter([str], "URNs"),
+ Parameter(type([str]), "URNs"),
Parameter(dict, "Credentials"),
Parameter(dict, "options"),
]
interfaces = ['aggregate', 'slicemgr']
accepts = [
Parameter(str, "Slice URN"),
- Parameter(type(dict), "Credentials"),
+ Parameter(dict, "Credentials"),
]
returns = Parameter(bool, "Success or Failure")
"""
interfaces = ['aggregate', 'slicemgr', 'component']
accepts = [
- Parameter([str], "Slice or sliver URNs"),
- Parameter(dict), "credentials")),
+ Parameter(type([str]), "Slice or sliver URNs"),
+ Parameter(dict, "credentials"),
Parameter(dict, "Options")
]
returns = Parameter(dict, "Status details")
# filter on id
if ids:
- instances = [server in servers if server.id in ids]
+ instances = [server for server in servers if server.id in ids]
return instances
# only doing this because protogeni rspec needs
# to advertise available initscripts
rspec_node['pl_initscripts'] = pl_initscripts.values()
- # add site/interface info to nodes.
+ # add site/interface info to nodes.
# assumes that sites, interfaces and tags have already been prepared.
if site['longitude'] and site['latitude']:
location = Location({'longitude': site['longitude'], 'latitude': site['latitude'], 'country': 'unknown'})
rspec.version.add_leases(leases)
+<<<<<<< HEAD:sfa/planetlab/plaggregate.py
return {'geni_urn': urns[0],
'geni_rspec': rspec.toxml(),
'geni_slivers': geni_slivers}
+=======
+ return {'geni_urn': urns[0],
+ 'geni_rspec': rspec.toxml(),
+ 'geni_slivers': geni_slivers}
+>>>>>>> 3acb26e0ac5bc5de68effe62d0878ba674e40369:sfa/planetlab/plaggregate.py
self.trusted_cert_file_list = TrustedRoots(self.config.get_trustedroots_dir()).get_file_list()
-
def checkCredentials(self, creds, operation, xrns=[]):
if not isinstance(xrns, list):
xrns = [xrns]
valid = []
if not isinstance(creds, list):
creds = [creds]
- logger.debug("Auth.checkCredentials with %d creds"%len(creds))
+ logger.debug("Auth.checkCredentials with %d creds on hrns=%s"%(len(creds),hrns))
+ # won't work if either creds or hrns is empty - let's make it more explicit
+ if not creds: raise InsufficientRights("Access denied - no credential provided")
+ if not hrns: raise InsufficientRights("Access denied - no subject xrn provided")
for cred in creds:
for hrn in hrns:
try:
the specified operation.
"""
self.client_cred = Credential(string = cred)
+ logger.debug("Auth.check: handling hrn=%s and credential=%s"%\
+ (hrn,cred.get_summary_tostring()))
self.client_gid = self.client_cred.get_gid_caller()
self.object_gid = self.client_cred.get_gid_object()