Skip to contentSkip to conversation

network tests: help script to run commands on remote host

LTP Alexey Kodanev 2 participants 3 messages Feb 26, 2014 – Mar 24, 2014 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

Hi!
There are some network tests which need to run various commands on the remote host. So is it a good idea to add a help script which does that according to chosen network protocol: rsh or ssh?

If yes, we can have a script like tst_rhost_run (or tst_run_rcmd...) in the ltp/tools, or somewhere else.

I did something similar in the submitted tcp_fastopen test, so the script could be as follows:

if [ "$use_ssh" -eq 1 ]; then

	ssh -n -f $user_name@$RHOST "sh -c 'nohup $rcmd &'" > /dev/null 2>&1
else
	rsh -n -l $user_name $RHOST "sh -c 'nohup $rcmd &'" > /dev/null 2>&1

fi

if [ $? -ne 0 ]; then
tst_brkm TBROK NULL "No route to host $RHOST" exit 2
fi

Any suggestions, ideas?

Best regards,
Alexey

------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool. Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer Customize your own dashboards, set traffic alerts and generate reports. Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#1 lore raw

Hi!

Quoted 14 lines

There are some network tests which need to run various commands on the remote host. So is it a good idea to add a help script which does that according to chosen network protocol: rsh or ssh?

If yes, we can have a script like tst_rhost_run (or tst_run_rcmd...) in the ltp/tools, or somewhere else.

I did something similar in the submitted tcp_fastopen test, so the script could be as follows:

if [ "$use_ssh" -eq 1 ]; then

	ssh -n -f $user_name@$RHOST "sh -c 'nohup $rcmd &'" > /dev/null 2>&1
else
	rsh -n -l $user_name $RHOST "sh -c 'nohup $rcmd &'" > /dev/null 2>&1
Quoted 6 lines

fi

if [ $? -ne 0 ]; then
tst_brkm TBROK NULL "No route to host $RHOST" exit 2
fi

Sounds good to me. The location for the file could be testcases/lib/.

One problem with the code above is that the error message can be misleading, there is much more that could go wrong. One that comes to my mind is when LTP is not installed on the remote machine.

And ideally we should use the new test.sh library. I would go for exporting an TST_LIB_LOADED=1 variable in the test.sh and checking in all sublibs that the variable exists to force the test to source the test.sh first.

Signature · 13 lines
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

Hi!

Quoted 36 lines
Quoted 22 lines
Quoted 14 lines

There are some network tests which need to run various commands on the remote host. So is it a good idea to add a help script which does that according to chosen network protocol: rsh or ssh?

If yes, we can have a script like tst_rhost_run (or tst_run_rcmd...) in the ltp/tools, or somewhere else.

I did something similar in the submitted tcp_fastopen test, so the script could be as follows:

if [ "$use_ssh" -eq 1 ]; then

	ssh -n -f $user_name@$RHOST "sh -c 'nohup $rcmd &'" > /dev/null 2>&1
else
	rsh -n -l $user_name $RHOST "sh -c 'nohup $rcmd &'" > /dev/null 2>&1
Quoted 6 lines

fi

if [ $? -ne 0 ]; then
tst_brkm TBROK NULL "No route to host $RHOST" exit 2
fi

Sounds good to me. The location for the file could be testcases/lib/.

Quoted 9 lines

One problem with the code above is that the error message can be misleading, there is much more that could go wrong. One that comes to my mind is when LTP is not installed on the remote machine.

And ideally we should use the new test.sh library. I would go for exporting an TST_LIB_LOADED=1 variable in the test.sh and checking in all sublibs that the variable exists to force the test to source the test.sh first.

OK, there is a question regarding different options for the command, e.g. we can have:

(quoted diff) +0 -3
-b  run in background
-s  safe option, if something goes wrong, will exit with TBROK
-c  command
Quoted 1 line

Is this acceptable or I missed something?

Sounds reasonable to me.

We may find a need for more options later. I tend to add these at the time it's actually needed rather than overegieneer libraries by adding all bits that someone may possibly need.

Signature · 13 lines
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list