From 7f94b698ee61962874ccb22df5bb4e0a9c4e7eb2 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 8 Apr 2008 14:46:23 +0000 Subject: [PATCH] fix check_tcp - display iptables before running qemu - get test specs in build summary --- system/TestMapper.py | 2 +- system/TestSliver.py | 10 ++++++---- system/template-qemu/iptables.py | 7 ++++--- system/template-qemu/qemu-bridge-init | 3 +++ system/utils.py | 28 +++++++++++++-------------- 5 files changed, 28 insertions(+), 22 deletions(-) diff --git a/system/TestMapper.py b/system/TestMapper.py index f7933ba..d60cf05 100644 --- a/system/TestMapper.py +++ b/system/TestMapper.py @@ -47,7 +47,7 @@ class TestMapper: # apply formatting if '%s' found in the value if v.find('%s')>=0: v=v%obj[k] - utils.header("TestMapper, rewriting %s: %s into %s"%(name,k,v)) + print("TestMapper, rewriting %s: %s into %s"%(name,k,v)) o[step]=v # only apply first rule return diff --git a/system/TestSliver.py b/system/TestSliver.py index f4d4be6..9dcda2b 100644 --- a/system/TestSliver.py +++ b/system/TestSliver.py @@ -38,12 +38,14 @@ class TestSliver: return self.test_ssh.run("ls -l /tmp/%s.stamp"%initscript)==0 def run_tcp_server (self,port,timeout=10): - server_command = "tcptest.py server -p %d -t %d"%(port,timeout) - return self.test_ssh.copy("tcptest.py")==0 and self.test_ssh.run(server_command)==0 + server_command = "./tcptest.py server -p %d -t %d"%(port,timeout) + return self.test_ssh.copy("tcptest.py")==0 and \ + self.test_ssh.run(server_command,background=True)==0 def run_tcp_client (self,servername,port): - client_command="tcptest.py client -a %s -p %d"%(servername,port) - return self.test_ssh.copy("tcptest.py")==0 and self.test_ssh.run(client_command)==0 + client_command="./tcptest.py client -a %s -p %d"%(servername,port) + return self.test_ssh.copy("tcptest.py")==0 and \ + self.test_ssh.run(client_command,background=True)==0 def tar_var_logs (self): return self.test_ssh.actual_command("sudo tar -C /var/log -cf - .") diff --git a/system/template-qemu/iptables.py b/system/template-qemu/iptables.py index bd0b087..5fbde9a 100755 --- a/system/template-qemu/iptables.py +++ b/system/template-qemu/iptables.py @@ -10,14 +10,15 @@ def main (): found=False lo_matcher=re.compile("\A(?P.+)\s+-i\s+lo\s+-j\s+ACCEPT") - ip_matcher=re.compile("--(source|destination) %s"%ip) + # what comes out of iptables-save has short-options syntax + ip_matcher=re.compile("-(s|d) %s"%ip) for line in fin.readlines(): attempt=lo_matcher.match(line) if attempt: fou.write(line) # open-up for this IP - fou.write("%s --source %s -j ACCEPT\n"%(attempt.group('left'),ip)) - fou.write("%s --destination %s -j ACCEPT\n"%(attempt.group('left'),ip)) + fou.write("%s -s %s -j ACCEPT\n"%(attempt.group('left'),ip)) + fou.write("%s -d %s -j ACCEPT\n"%(attempt.group('left'),ip)) found=True else: attempt = ip_matcher.match(line) diff --git a/system/template-qemu/qemu-bridge-init b/system/template-qemu/qemu-bridge-init index d8844ff..170946a 100755 --- a/system/template-qemu/qemu-bridge-init +++ b/system/template-qemu/qemu-bridge-init @@ -107,6 +107,9 @@ add () { # rewrite a new config - quick and dirty ./iptables.py iptables.pre iptables.post $IP iptables-restore < iptables.post + + echo "Installed iptables" + iptables-save } diff --git a/system/utils.py b/system/utils.py index 7aa670f..b4001b2 100644 --- a/system/utils.py +++ b/system/utils.py @@ -32,59 +32,59 @@ def show_options (message,options): print " ",k,":",getattr(options,k) def show_site_spec (site): - print '======== site',site['site_fields']['name'] + print '* ======== site',site['site_fields']['name'] for (k,v) in site.iteritems(): if k=='nodes': if v: - print '\t\t','nodes : ', + print '* \t\t','nodes : ', for node in v: print node['node_fields']['hostname'],'', print '' elif k=='users': if v: - print '\t\tusers : ', + print '* \t\tusers : ', for user in v: print user['name'],'', print '' elif k == 'site_fields': - print '\t\tlogin_base',':',v['login_base'] + print '* \t\tlogin_base',':',v['login_base'] elif k == 'address_fields': pass else: - print '\t\t',k, + print '* \t\t',k, PrettyPrinter(indent=8,depth=2).pprint(v) def show_initscript_spec (initscript): - print '======== initscript',initscript['initscript_fields']['name'] + print '* ======== initscript',initscript['initscript_fields']['name'] def show_key_spec (key): - print '======== key',key['name'] + print '* ======== key',key['name'] def show_slice_spec (slice): - print '======== slice',slice['slice_fields']['name'] + print '* ======== slice',slice['slice_fields']['name'] for (k,v) in slice.iteritems(): if k=='nodenames': if v: - print '\t\tnodes : ', + print '* \t\tnodes : ', for nodename in v: print nodename,'', print '' elif k=='usernames': if v: - print '\t\tusers : ', + print '* \t\tusers : ', for username in v: print username,'', print '' elif k=='slice_fields': - print '\t\tfields',':', + print '* \t\tfields',':', print 'max_nodes=',v['max_nodes'], print '' else: - print '\t\t',k,v + print '* \t\t',k,v def show_test_spec (message,all_plc_specs): now=time.strftime("%H:%M:%S", time.localtime()) - print ">",now,"--",message + print "*",now,"--",message for plc_spec in all_plc_specs: show_test_spec_pass (plc_spec,1) show_test_spec_pass (plc_spec,2) @@ -106,7 +106,7 @@ def show_test_spec_pass (plc_spec,passno): show_key_spec (key) elif passno == 1: if key not in ['sites','initscripts','slices','keys']: - print '\t',key,':',val + print '* \t',key,':',val def system(command,background=False): now=time.strftime("%H:%M:%S", time.localtime()) -- 2.47.0