PlShell.__init__ (self, config)
self.hrn = config.SFA_INTERFACE_HRN
- # xxx thgen fixme - use SfaTable hardwired for now
- # will need to extend generic to support multiple storage systems
- #self.SfaTable = SfaTable
- # Initialize the PLC shell only if SFA wraps a myPLC
- rspec_type = config.get_aggregate_type()
- assert (rspec_type == 'pl' or rspec_type == 'vini' or \
- rspec_type == 'eucalyptus' or rspec_type == 'max')
########## disabled users
def is_enabled (self, record):
- self.fill_record_info(record, deep=False)
+ # the incoming record was augmented already, so 'enabled' should be set
if record['type'] == 'user':
return record['enabled']
# only users can be disabled
return True
def augment_records_with_testbed_info (self, sfa_records):
- return self.fill_record_info (sfa_records, deep=True)
+ return self.fill_record_info (sfa_records)
##########
def register (self, sfa_record, hrn, pub_key):
return pl_record
####################
- def fill_record_info(self, records, deep=False):
+ def fill_record_info(self, records):
"""
Given a (list of) SFA record, fill in the PLC specific
and SFA specific fields in the record.
records = [records]
self.fill_record_pl_info(records)
- if deep:
- self.fill_record_hrns(records)
- self.fill_record_sfa_info(records)
+ self.fill_record_hrns(records)
+ self.fill_record_sfa_info(records)
return records
def fill_record_pl_info(self, records):
####################
# plcapi works by changes, compute what needs to be added/deleted
def update_relation (self, subject_type, target_type, subject_id, target_ids):
- # hard-wire the code for slice/user for now
+ # hard-wire the code for slice/user for now, could be smarter if needed
if subject_type =='slice' and target_type == 'user':
subject=self.GetSlices (subject_id)[0]
current_target_ids = subject['person_ids']