add timestamps when running initscripts
[tests.git] / system / config_default.py
index e364976..4a6a9ec 100644 (file)
@@ -342,16 +342,17 @@ command=$1; shift
 slicename=$1; shift
 stamp="the_script_name"
 stampfile=/tmp/$stamp.stamp
+date=$(date)
 
-echo "Running initscript with command=$command and slicename=$slicename"
+echo $date "Running initscript with command=$command and slicename=$slicename"
 
 function start () {
-  (echo Starting test initscript: $stamp on slicename $slicename ; date) >> $stampfile
-  echo "This is the stdout of the sliver $slicename initscript $command (exp. start) pid=$$" 
-  echo "This is the stderr of the sliver $slicename initscript $command (exp. start) pid=$$" 1>&2
+  (echo $date Starting test initscript: $stamp on slicename $slicename ; date) >> $stampfile
+  echo $date "This is the stdout of the sliver $slicename initscript $command (exp. start) pid=$$"
+  echo $date "This is the stderr of the sliver $slicename initscript $command (exp. start) pid=$$" 1>&2
 }
 function stop () {
-  echo "Removing stamp $stampfile"
+  echo $date "Removing stamp $stampfile"
   rm -f $stampfile
 }
 function restart () {
@@ -376,8 +377,10 @@ def initscripts(options,index):
                                        }},
              ]
 
-# always return 2 slices
-# one has an initscript code, the other one an initscript name
+# returns 3 slices
+# 1 has an initscript code
+# 2 has an initscript name
+# 3 is an omf-friendly slice
 def slices (options,index):
     def theslice (i):
         slice_spec = { 'slice_fields': {'name':'%s_sl%d'%(login_base(index),i),
@@ -391,16 +394,23 @@ def slices (options,index):
                        'sitename' : login_base(index),
                        'owner' : 'pi',
                        }
-        # odd one has an initscript_code
-        if i%2==1:
+        # 1st one has an initscript_code
+        if i%3==1:
             slice_spec['initscriptcode']=initscript_by_code
             slice_spec['initscriptstamp']='the_script_code'
-        # even one has an initscript (name)
-        else:
+        # 2nd one has an initscript (name)
+        elif i%3==2:
             slice_spec['initscriptname']='the_script_name'
             slice_spec['initscriptstamp']='the_script_name'
+        # 3rd one is omf-friendly
+        else:
+            slice_spec ['omf-friendly'] = True
         return slice_spec
-    return [ theslice(i) for i in range (2*index-1,2*index+1) ]
+    # usual index is 1, additional plc's then get 2...
+    # so index=1 -> 1 - 2 - 3
+    #    index=2 -> 4 - 5 - 6
+    # 3 * (index-1) + 1 = 3*index-2  .. same+3 = 3*index+1
+    return [ theslice(i) for i in range (3*index-2,3*index+1) ]
 
 def all_slicenames (options,index):
     return [ slice['slice_fields']['name'] for slice in slices(options,index)]
@@ -415,6 +425,15 @@ def tcp_specs (options,index):
     # 
     slice1='%s_sl1'%login_base(1)
     slice2='%s_sl2'%login_base(1)
+    # with the addition of omf-friendly slices..
+    slice3='%s_sl4'%login_base(2)
+    slice4='%s_sl5'%login_base(2)
+# 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,
+                                  'client_node': 'node1', 'client_slice': slice1,
+                                  'client_connect' : 'localhost',
+                                  'port': 10000}
     same_node_same_slice =      { 'server_node': 'node1', 'server_slice': slice1,
                                   'client_node': 'node1', 'client_slice': slice1,
                                   'port': 10001}
@@ -423,13 +442,16 @@ def tcp_specs (options,index):
                                   'client_node': 'node1', 'client_slice': slice2,
                                   'port': 10002}
     two_nodes_same_slice =      { 'server_node': 'node1', 'server_slice': slice1,
-                                  'client_node': 'node2', 'client_slice': slice1,
+                                  'client_node': 'node2', 'client_slice': slice3,
                                   'port': 10003}
     two_nodes_2_slices =        { 'server_node': 'node1', 'server_slice': slice1,
-                                  'client_node': 'node2', 'client_slice': slice2,
+                                  'client_node': 'node2', 'client_slice': slice4,
                                   'port': 10004}
-#    specs = [ same_node_same_slice, same_node_2_slices ]
-    specs = [ same_node_same_slice ]
+    specs = []
+#    specs += [ same_node_same_slice_lo ]
+    specs += [ same_node_same_slice ]
+# worth another try
+    specs += [ same_node_2_slices ]
     if options.size >1 :
         specs += [ two_nodes_same_slice, two_nodes_2_slices ]
     return specs
@@ -462,6 +484,7 @@ def plc (options,index) :
         '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',
@@ -473,6 +496,8 @@ def plc (options,index) :
         '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, ',
+        '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',
@@ -483,6 +508,9 @@ def plc (options,index) :
         'tcp_specs' : tcp_specs(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
@@ -562,6 +590,7 @@ def test_auth_sfa_spec (options,index,rspec_style):
 
 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))
     return result