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 - .")
found=False
lo_matcher=re.compile("\A(?P<left>.+)\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)
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)
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())