X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2Fconfig_default.py;h=8fd549aac56e19d0e7290850b3aba506e9c7e96f;hb=457d31694f7b0f60e2a6fea230e9a3572b9d2b78;hp=1e6ee0af41f3a5453cf4810e6944fe30419d7b6b;hpb=fa7a8e245c076e3295122409f2eff7d13844be4d;p=tests.git diff --git a/system/config_default.py b/system/config_default.py index 1e6ee0a..8fd549a 100644 --- a/system/config_default.py +++ b/system/config_default.py @@ -1,5 +1,6 @@ +# -*- python3 -*- # Thierry Parmentelat -# Copyright (C) 2010 INRIA +# Copyright (C) 2015 INRIA # # a configuration module is expected: # (*) to define a config method @@ -10,7 +11,9 @@ # 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): @@ -63,6 +66,9 @@ def nodes(options,index): 'route_fields' : { 'subnet' : '0.0.0.0/0', 'next_hop' : 'xxx-deferred-xxx', }, + # boot cd settings + # we should have tags here instead of the hard-wired + # options set for GetBootMedium in TestNode.py }] def all_nodenames (options,index): @@ -74,14 +80,14 @@ def users (options) : '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']}, @@ -89,28 +95,28 @@ def users (options) : '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']}, @@ -126,7 +132,7 @@ def sites (options,index): '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), }, @@ -429,6 +435,9 @@ def tcp_specs (options,index): # with the addition of omf-friendly slices.. slice3='%s_sl4'%login_base(2) slice4='%s_sl5'%login_base(2) + +# NOTE: port 9999 is hard-wired in the code to be used for checking network readiness +# so it is not to be used here # bind on 0.0.0.0 and try to reach this on localhost # not expected to work same_node_same_slice_lo = { 'server_node': 'node1', 'server_slice': slice1, @@ -453,7 +462,7 @@ def tcp_specs (options,index): specs += [ same_node_same_slice ] # worth another try specs += [ same_node_2_slices ] - if options.size >1 : + if options.size > 1: specs += [ two_nodes_same_slice, two_nodes_2_slices ] return specs @@ -481,59 +490,68 @@ def plc (options,index) : 'vservername': 'deferred-vservername', 'vserverip': 'deferred-vserverip', 'role' : 'root', - 'PLC_NAME' : 'Regression TestLab', - 'PLC_ROOT_USER' : 'root@test.onelab.eu', - 'PLC_ROOT_PASSWORD' : 'test++', - 'PLC_SLICE_PREFIX' : 'auto', - 'PLC_HRN_ROOT': sfa_root(index), - 'PLC_SHORTNAME' : 'Rlab', - 'PLC_MAIL_ENABLED':'false', - 'PLC_MAIL_SUPPORT_ADDRESS' : 'thierry.parmentelat@inria.fr', - 'PLC_DB_HOST' : 'deferred-myplc-hostname', -# 'PLC_DB_PASSWORD' : 'mnbvcxzlkjhgfdsapoiuytrewq', - 'PLC_API_HOST' : 'deferred-myplc-hostname', - 'PLC_WWW_HOST' : 'deferred-myplc-hostname', - 'PLC_BOOT_HOST' : 'deferred-myplc-hostname', - 'PLC_NET_DNS1' : 'deferred-dns-1', - 'PLC_NET_DNS2' : 'deferred-dns-2', - 'PLC_RESERVATION_GRANULARITY':1800, - 'PLC_VSYS_DEFAULTS':' , vif_up, vif_down, fd_tuntap, promisc, ', + # these go to plc-config-tty + 'settings': { + 'PLC_NAME' : 'Regression TestLab', + 'PLC_ROOT_USER' : 'root@test.onelab.eu', + 'PLC_ROOT_PASSWORD' : 'test++', + 'PLC_SLICE_PREFIX' : 'auto', + 'PLC_HRN_ROOT': sfa_root(index), + 'PLC_SHORTNAME' : 'Rlab', + 'PLC_MAIL_ENABLED':'false', + 'PLC_MAIL_SUPPORT_ADDRESS' : 'thierry.parmentelat@inria.fr', + 'PLC_DB_HOST' : 'deferred-myplc-hostname', +# 'PLC_DB_PASSWORD' : 'mnbvcxzlkjhgfdsapoiuytrewq', + 'PLC_API_HOST' : 'deferred-myplc-hostname', + 'PLC_WWW_HOST' : 'deferred-myplc-hostname', + 'PLC_BOOT_HOST' : 'deferred-myplc-hostname', + 'PLC_NET_DNS1' : 'deferred-dns-1', + 'PLC_NET_DNS2' : 'deferred-dns-2', + 'PLC_RESERVATION_GRANULARITY':1800, + 'PLC_VSYS_DEFAULTS':' , vif_up, vif_down, fd_tuntap, promisc, ', + 'PLC_OMF_ENABLED' : 'true', + 'PLC_OMF_XMPP_SERVER': 'deferred-myplc-hostname', + }, 'expected_vsys_tags': [ 'vif_up', 'vif_down', 'fd_tuntap', 'promisc', ], # minimal config so the omf plugins actually trigger - 'PLC_OMF_ENABLED' : 'true', - 'PLC_OMF_XMPP_SERVER': 'deferred-myplc-hostname', 'sites' : sites(options,index), 'keys' : keys(options,index), 'initscripts': initscripts(options,index), 'slices' : slices(options,index), 'tcp_specs' : tcp_specs(options,index), - 'sfa' : sfa(options,index), + 'sfa' : sfa(options,index), 'leases' : leases (options, index), # big distros need more time to install nodes 'ssh_node_boot_timers': (40,38), 'ssh_node_debug_timers': (10,8), } -# NOTE: SFA currently has SFA_AGGREGATE_API_VERSION=2 baked into the code def sfa (options,index) : return { - # the default is to use AMs in the various aggregates.xml + # the port used to generate the various aggregates.xml # stack config_sfamesh to point to SMs instead 'neighbours-port':12346, + # the port that sfi connects to - used to be 12347 when the SM was still running + # but now the SM is just turned off for these tests + 'sfi-connects-to-port' : 12346, ## global sfa-config-tty stuff - 'SFA_REGISTRY_ROOT_AUTH' : sfa_root(index), - 'SFA_INTERFACE_HRN' : sfa_root(index), - 'SFA_REGISTRY_HOST' : 'deferred-myplc-hostname', - 'SFA_AGGREGATE_HOST': 'deferred-myplc-hostname', - 'SFA_SM_HOST': 'deferred-myplc-hostname', - 'SFA_PLC_URL' : 'deferred-myplc-api-url', - 'SFA_PLC_USER' : 'root@test.onelab.eu', - 'SFA_PLC_PASSWORD' : 'test++', + 'settings': { + 'SFA_REGISTRY_ROOT_AUTH' : sfa_root(index), + 'SFA_INTERFACE_HRN' : sfa_root(index), + 'SFA_REGISTRY_HOST' : 'deferred-myplc-hostname', + 'SFA_AGGREGATE_HOST': 'deferred-myplc-hostname', + 'SFA_SM_HOST': 'deferred-myplc-hostname', +# turning off SM and using only AM; be explicit on this as the default has changed in the code + 'SFA_SM_ENABLED' : 'false', + 'SFA_PLC_URL' : 'deferred-myplc-api-url', + 'SFA_PLC_USER' : 'root@test.onelab.eu', + 'SFA_PLC_PASSWORD' : 'test++', # use -c sfadebug to increment this one - 'SFA_API_LOGLEVEL': 1, + 'SFA_API_LOGLEVEL': 1, # use -c sfavoid to set this to 'void' - 'SFA_GENERIC_FLAVOUR' : 'pl', - 'SFA_AGGREGATE_ENABLED' : 'true', + 'SFA_GENERIC_FLAVOUR' : 'pl', + 'SFA_AGGREGATE_ENABLED' : 'true', + }, # details of the slices to create 'auth_sfa_specs' : [ test_auth_sfa_spec(options,index,rspec_style) for rspec_style in options.rspec_styles ] @@ -541,6 +559,7 @@ def sfa (options,index) : # 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) @@ -562,7 +581,7 @@ def test_auth_sfa_spec (options,index,rspec_style): '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", @@ -571,7 +590,7 @@ def test_auth_sfa_spec (options,index,rspec_style): 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, @@ -593,9 +612,26 @@ def test_auth_sfa_spec (options,index,rspec_style): } -def config (plc_specs,options): - result=plc_specs +def config (plc_specs, options): + result = plc_specs # plc 'index' starts with 1 - for i in range (options.size): - result.append(plc(options,i+1)) + for i in range(options.size): + result.append(plc(options, i+1)) return result + +### for creating a sample config interactively +def sample_test_plc_spec (): + class Void: pass + + options = Void() + options.size = 1 + options.rspec_styles = ['pg'] + + return config([], options)[0] + +if __name__ == '__main__': + s = sample_test_plc_spec() + print('Sample plc_spec has the following keys') + for k in sorted(s.keys()): + print(k) +