self.api = api
self.ttl = ttl
self.threshold = None
- self.slices_file = os.sep.join([self.api.server_basedir, self.api.interface +'.'+ self.api.hrn + '.slices'])
+ path = self.api.config.basepath
+ filename = ".".join([self.api.interface, self.api.hrn, "slices"])
+ filepath = path + os.sep + filename
+ self.slices_file = filepath
SimpleStorage.__init__(self, self.slices_file)
self.policy = Policy(self.api)
self.load()
credential = self.api.getCredential()
for aggregate in aggregates:
try:
- slices = aggregates[aggregate].slices(credential)
+ slices = aggregates[aggregate].get_slices(credential)
slice_hrns.extend(slices)
except:
print >> log, "Error calling slices at aggregate %(aggregate)s" % locals()
records = registry.resolve(credential, hrn)
for record in records:
if record.get_type() in ['slice']:
- slice_info = record.as_dict()
- slice = slice_info['pl_info']
+ slice = record.as_dict()
if not slice:
raise RecordNotFound(slice_hrn)
if not site_records:
raise RecordNotFound(authority)
site_record = site_records[0]
- site_info = site_record.as_dict()
- site = site_info['pl_info']
+ site = site_record.as_dict()
# add the site
site.pop('site_id')
# get the list of valid slice users from the registry and make
# they are added to the slice
- geni_info = slice_info['geni_info']
- researchers = geni_info['researcher']
+ researchers = slice.get('researcher', [])
for researcher in researchers:
person_record = {}
person_records = registry.resolve(credential, researcher)
person_record = record
if not person_record:
pass
- person_dict = person_record.as_dict()['pl_info']
+ person_dict = person_record.as_dict()
persons = self.api.plshell.GetPersons(self.api.plauth, [person_dict['email']], ['person_id', 'key_ids'])
# Create the person record
def start_slice_smgr(self, hrn):
credential = self.api.getCredential()
- aggregates = Aggregates()
+ aggregates = Aggregates(self.api)
for aggregate in aggregates:
- aggreegates[aggregate].start_slice(credential, hrn)
+ aggregates[aggregate].start_slice(credential, hrn)
return 1
slices = self.api.plshell.GetSlices(self.api.plauth, {'name': slicename}, ['slice_id'])
if not slices:
raise RecordNotFound(hrn)
- slice_id = slices[0]
+ slice_id = slices[0]['slice_id']
attributes = self.api.plshell.GetSliceAttributes(self.api.plauth, {'slice_id': slice_id, 'name': 'enabled'}, ['slice_attribute_id'])
attribute_id = attributes[0]['slice_attribute_id']
self.api.plshell.UpdateSliceAttribute(self.api.plauth, attribute_id, "0")
def stop_slice_smgr(self, hrn):
credential = self.api.getCredential()
- aggregates = Aggregates()
+ aggregates = Aggregates(self.api)
for aggregate in aggregates:
- aggregate[aggregate].stop_slice(credential, hrn)
+ aggregates[aggregate].stop_slice(credential, hrn)