- self.sfa_spec=test_plc.plc_spec['sfa']
- self.piuser=self.sfa_slice_spec['piuser']
- self.regularuser=self.sfa_slice_spec['regularuser']
- self.slicename=self.sfa_slice_spec['slicename']
- self.login_base=self.sfa_slice_spec['login_base']
-
- def name(self):
- return self.sfa_slice_spec['slice_fields']['name']
-
- def rspecmode (self): return self.sfa_slice_spec['rspecmode']
-
- def hrn(self):
- root_auth=self.test_plc.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']
- return "%s.%s.%s"%(root_auth,self.login_base,self.slicename)
-# def resname (self,name,ext): return "%s_%s.%s"%(self.slicename,name,ext)
- def resname (self,name,ext): return "%s.%s"%(name,ext)
-
- def addslicefile (self): return self.resname("addslice","xml")
- def addpersonfile (self): return self.resname("addperson","xml")
- def adfile (self): return self.resname("ad","rspec")
- def reqfile (self): return self.resname("req","rspec")
- def nodefile (self): return self.resname("nodes","txt")
- def discover_option(self):
- if self.rspecmode()=='pg': return "-r protogeni"
- else: return ""
-
- def sfi_path (self):
- return "/root/sfi/%s"%self.slicename
-
- def locate_key(self):
- for username,keyname in self.sfa_slice_spec['usernames']:
- key_spec=self.test_plc.locate_key(keyname)
- test_key=TestKey(self.test_plc,key_spec)
- publickey=test_key.publicpath()
- privatekey=test_key.privatepath()
- if os.path.isfile(publickey) and os.path.isfile(privatekey):
- found=True
- return (found,privatekey)
-
- # dir_name is local and will be pushed later on by TestPlc
- def sfi_config (self,dir_name):
- plc_spec=self.test_plc.plc_spec
- sfa_spec=self.sfa_spec
- sfa_slice_spec=self.sfa_slice_spec
- #
- file_name=dir_name + os.sep + self.piuser + '.pkey'
- fileconf=open(file_name,'w')
- fileconf.write (plc_spec['keys'][0]['private'])
- fileconf.close()
- utils.header ("(Over)wrote %s"%file_name)
- #
- file_name=dir_name + os.sep + self.addpersonfile()
- fileconf=open(file_name,'w')
- fileconf.write(sfa_slice_spec['slice_person_xml'])
- fileconf.write('\n')
- fileconf.close()
- utils.header ("(Over)wrote %s"%file_name)
- #
- file_name=dir_name + os.sep + 'sfi_config'
- fileconf=open(file_name,'w')
- SFI_AUTH="%s.%s"%(sfa_spec['SFA_REGISTRY_ROOT_AUTH'],self.login_base)
- fileconf.write ("SFI_AUTH='%s'"%SFI_AUTH)
- fileconf.write('\n')
- SFI_USER=SFI_AUTH + '.' + self.piuser
- fileconf.write ("SFI_USER='%s'"%SFI_USER)
- fileconf.write('\n')
- SFI_REGISTRY='http://' + sfa_spec['SFA_PLC_DB_HOST'] + ':12345/'
- fileconf.write ("SFI_REGISTRY='%s'"%SFI_REGISTRY)
- fileconf.write('\n')
- SFI_SM='http://' + sfa_spec['SFA_PLC_DB_HOST'] + ':12347/'
- fileconf.write ("SFI_SM='%s'"%SFI_SM)
- fileconf.write('\n')
- fileconf.close()
- utils.header ("(Over)wrote %s"%file_name)
- #
- file_name=dir_name + os.sep + self.addslicefile()
- fileconf=open(file_name,'w')
- fileconf.write(sfa_slice_spec['slice_add_xml'])
- fileconf.write('\n')
- utils.header ("(Over)wrote %s"%file_name)
- fileconf.close()
-
- # user management
- def sfa_add_user (self, options):
- return TestUserSfa(self.test_plc, self.sfa_slice_spec, self).add_user()
- def sfa_update_user (self, options):
- return TestUserSfa(self.test_plc, self.sfa_slice_spec, self).update_user()
- def sfa_delete_user (self, options):
- return TestUserSfa(self.test_plc, self.sfa_slice_spec, self).delete_user()