utils.header ("(Over)wrote %s"%file_name)
# using sfaadmin to bootstrap
- def sfa_add_site (self, options):
+ def sfa_register_site (self, options):
"bootstrap a site using sfaadmin"
command="sfaadmin reg register -t authority -x %s"%self.auth_hrn()
return self.test_plc.run_in_guest(command)==0
- def sfa_add_pi (self, options):
+ def sfa_register_pi (self, options):
"bootstrap a PI user for that site"
pi_spec = self.auth_sfa_spec['pi_spec']
pi_hrn=self.obj_hrn(pi_spec['name'])
# user management
@user_sfa_mapper
- def sfa_add_user (self, *args, **kwds): pass
+ def sfa_register_user (self, *args, **kwds): pass
@user_sfa_mapper
def sfa_update_user (self, *args, **kwds): pass
@user_sfa_mapper
# those are step names exposed as methods of TestPlc, hence the _sfa
@slice_sfa_mapper
- def sfa_add_slice (self, *args, **kwds): pass
+ def sfa_register_slice (self, *args, **kwds): pass
@slice_sfa_mapper
def sfa_renew_slice (self, *args, **kwds): pass
@slice_sfa_mapper
'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', SEP,
'qemu_clean_mine', 'qemu_export', 'qemu_start', 'qemu_timestamp', SEP,
'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import', SEPSFA,
- 'sfi_configure@1', 'sfa_add_site@1','sfa_add_pi@1', SEPSFA,
- 'sfa_add_user@1', 'sfa_update_user@1', 'sfa_add_slice@1', 'sfa_renew_slice@1', SEPSFA,
+ 'sfi_configure@1', 'sfa_register_site@1','sfa_register_pi@1', SEPSFA,
+ 'sfa_register_user@1', 'sfa_update_user@1', 'sfa_register_slice@1', 'sfa_renew_slice@1', SEPSFA,
'sfa_remove_user_from_slice@1','sfi_show_slice_researchers@1',
'sfa_insert_user_in_slice@1','sfi_show_slice_researchers@1', SEPSFA,
'sfa_discover@1', 'sfa_create_slice@1', 'sfa_check_slice_plc@1', 'sfa_update_slice@1', SEPSFA,
return True
@auth_sfa_mapper
- def sfa_add_site (self): pass
+ def sfa_register_site (self): pass
@auth_sfa_mapper
- def sfa_add_pi (self): pass
+ def sfa_register_pi (self): pass
@auth_sfa_mapper
- def sfa_add_user(self): pass
+ def sfa_register_user(self): pass
@auth_sfa_mapper
def sfa_update_user(self): pass
@auth_sfa_mapper
- def sfa_add_slice(self): pass
+ def sfa_register_slice(self): pass
@auth_sfa_mapper
def sfa_renew_slice(self): pass
@auth_sfa_mapper
# those are step names exposed as methods of TestPlc, hence the _sfa
# needs to be run as pi
- def sfa_add_slice(self,options):
- "run sfi add (on Registry)"
- sfi_command="add"
+ def sfa_register_slice(self,options):
+ "run sfi register (on Registry)"
+ sfi_command="register"
sfi_command += " --type slice"
sfi_command += " --xrn %s"%self.hrn()
- for opt in self.slice_spec['add_options']:
+ for opt in self.slice_spec['register_options']:
sfi_command += " %s"%(opt)
return self.test_plc.run_in_guest(self.sfi_pi(sfi_command))==0
return self.test_auth_sfa.sfi_user(*args, **kwds)
# xxx todo - not the right place any longer - or is it ?
- def sfa_add_user (self,options):
- "add a regular user using sfi add"
+ def sfa_register_user (self,options):
+ "add a regular user using sfi register"
user_hrn = self.hrn()
- command="add"
+ command="register"
command += " --type user"
command += " --xrn %s"%user_hrn
command += " --email %s"%self.user_spec['email']
- command += " " + " ".join(self.user_spec['add_options'])
+ command += " " + " ".join(self.user_spec['register_options'])
# handle key separately because of embedded whitespace
# hack - the user's pubkey is avail from his hrn
command += " -k %s/%s.pub"%(self.sfi_path(),user_hrn)
# values like 'hostname', 'ip' and the like are rewritten later with a TestPool object
-domain="onelab.eu"
+# so that sfa users get different mails whether they are based on pl or pg
+pldomain="onelab.eu"
+pgdomain="emulab.eu"
### for the sfa dual setup
def login_base (index):
'user_fields' : {'first_name':'Admin',
'last_name':'Admin',
'enabled':'true',
- 'email':'admin@%s'%domain,
+ 'email':'admin@%s'%pldomain,
'password':'testuseradmin'},
'roles':['admin']},
{'name' : 'pi', 'key_names' : [ 'key_pi' ],
'user_fields' : {'first_name':'PI', 'last_name':'PI',
'enabled':'True',
- 'email':'fake-pi1@%s'%domain,
+ 'email':'fake-pi1@%s'%pldomain,
'password':'testpi'},
'roles':['pi']},
'user_fields' : {'first_name':'PiTech',
'last_name':'PiTech',
'enabled':'true',
- 'email':'fake-pi2@%s'%domain,
+ 'email':'fake-pi2@%s'%pldomain,
'password':'testusertech'},
'roles':['pi','tech']},
{'name' : 'tech', 'key_names' : [ 'key_user' ],
'user_fields' : {'first_name':'Tech', 'last_name':'Tech',
'enabled':'true',
- 'email':'fake-tech1@%s'%domain,
+ 'email':'fake-tech1@%s'%pldomain,
'password':'testtech'},
'roles':['tech']},
{'name':'user', 'key_names' : [ 'key_user' ],
'user_fields' : {'first_name':'User', 'last_name':'User',
'enabled':'true',
- 'email':'fake-user1@%s'%domain,
+ 'email':'fake-user1@%s'%pldomain,
'password':'testuser'},
'roles':['user']},
{'name':'techuser', 'key_names' : [ 'key_user' ],
'user_fields' : {'first_name':'UserTech', 'last_name':'UserTech',
'enabled':'true',
- 'email':'fake-tech2@%s'%domain,
+ 'email':'fake-tech2@%s'%pldomain,
'password':'testusertech'},
'roles':['tech','user']},
'login_base':login_base(index),
'abbreviated_name':'PlanetTest%d'%index,
'max_slices':100,
- 'url':'http://test.%s'%domain,
+ 'url':'http://test.%s'%pldomain,
'latitude':float(latitude),
'longitude':float(longitude),
},
# rspec_style is 'pl' for sfav1 or 'pg' for pgv2
def test_auth_sfa_spec (options,index,rspec_style):
+ domain=pldomain if rspec_style=='pl' else pgdomain
# the auth/site part per se
login_base=sfa_login_base(index,rspec_style)
hrn_prefix='%s.%s'%(sfa_root(index),login_base)
'name': user_alias,
'email': full_mail (user_alias),
'key_name': 'key_sfauser',
- 'add_options': [ '--extra',"first_name=Fake",
+ 'register_options': [ '--extra',"first_name=Fake",
'--extra',"last_name=SFA-style-%s"%rspec_style,
],
'update_options': [ '--extra',"enabled=true",
slice_spec = {
'name': 'sl',
- 'add_options': [ '--researchers', full_hrn (user_alias),
+ 'register_options': [ '--researchers', full_hrn (user_alias),
# xxx
'--extra', "description=SFA-testing-%s"%rspec_style,
'--extra', "url=http://slice%d.test.onelab.eu/"%index,
]
"re-run a complete sfa cycle from a nightly test"
-sequences['sfa'] = [
- 'sfa_restart',
- 'sfa_add_site',
- 'sfa_add_pi',
- 'sfa_add_user',
- 'sfa_add_slice',
+sequences['sfa_populate'] = [
+ 'sfa_register_site',
+ 'sfa_register_pi',
+ 'sfa_register_user',
+ 'sfa_update_user',
+ 'sfa_register_slice',
'sfa_renew_slice',
'sfa_discover',
'sfa_create_slice',
'sfa_check_slice_plc',
'sfa_update_user',
'sfa_update_slice',
+# xxx this behaves weird in this context, needs more care apparently
+# looks like at that point the PI is not allowed, while the regular is allowed to
+# remove himself (!) and to add himself back in (!!)
+# 'sfa_user_slice',
'sfi_view_all',
'sfa_utest',
+ ]
+
+sequences['sfa-delete'] = [
'sfa_delete_slice',
'sfa_delete_user',
- ]
+]
+
+sequences['sfa'] = [
+ 'sfa_restart',
+ 'sfa_populate',
+]
sequences['sfa_create'] = [
'sfa_plcclean',
'sfa_import',
'sfi_clean',
'sfi_configure',
- 'sfa_add_site',
- 'sfa_add_pi',
- 'sfa_add_user',
- 'sfa_add_slice',
+ 'sfa_register_site',
+ 'sfa_register_pi',
+ 'sfa_register_user',
+ 'sfa_register_slice',
]
sequences['sfa_user_slice'] = [
'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config',
'qemu_export', 'qemu_kill_mine', 'qemu_start', 'qemu_timestamp',
'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import',
- 'sfi_configure', 'sfa_add_user', 'sfa_add_slice', 'sfa_discover',
+ 'sfi_configure', 'sfa_register_user', 'sfa_register_slice', 'sfa_discover',
'sfa_create_slice', 'sfa_check_slice_plc',
'sfa_update_user', 'sfa_update_slice', 'sfi_view_all', 'sfa_utest',
]
'sfa_start',
'sfa_import',
'sfi_configure',
- 'sfa_add_site',
- 'sfa_add_pi',
- 'sfa_add_user',
- 'sfa_add_slice',
+ 'sfa_register_site',
+ 'sfa_register_pi',
+ 'sfa_register_user',
+ 'sfa_register_slice',
'sfi_list',
'sfi_show_site',
'sfi_show_slice',