diff --git a/octane/tests/timeline_manager.sh b/octane/tests/timeline_manager.sh new file mode 100644 index 00000000..6a6fb544 --- /dev/null +++ b/octane/tests/timeline_manager.sh @@ -0,0 +1,95 @@ +#!/bin/sh +set -e + +export SSH_ARGS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=QUIET" +#echo 'select floating_ip_address from floatingips;' | mysql -s neutron | xargs -P5 -I% sh -c "sshpass -p'cubswin:)' scp cirros_timeline* $SSH_ARGS cirros@% id || :" + +floating_ip=`echo "select floating_ip_address from floatingips where status = 'ACTIVE';" | mysql -s neutron | tr "\n" " "` + +WRAPPER_SCRIPT="cirros_timeline_wrapper.sh" +P=10 + +show_help() { + cat< +Actions: + start + stop + show + restart +EOF + +} + +test -f ${WRAPPER_SCRIPT}0 || { +cat < $WRAPPER_SCRIPT +#!/bin/sh +case \$1 in + start) + sh \$0 status >/dev/null + if [ \$? -ne 0 ]; then + echo Already started + exit 1 + fi + sh /home/cirros/cirros_timeline.sh $floating_ip > /home/cirros/output.txt 2>&1 & + sh \$0 status + ;; + stop) + kill \`ps auxw|grep -i timeline.sh | grep -v grep | awk '{print \$1}'\` >/dev/null 2>&1 + sleep 3 + sh \$0 status + ;; + show) + cat /home/cirros/output.txt | egrep '^[0-9]' + ;; + status) + out=\`ps auxw|grep -i timeline.sh | grep -v grep\` + echo -n "status " + if [ -z "\$out" ]; then + echo "stopped" + exit 0 + else + echo "started" + exit 1 + fi + ;; + restart) + sh \$0 status && sh \$0 stop + sh \$0 start + ;; + *) + echo "Unknown option $1" + exit 2 + ;; +esac +EOF +chmod +x $WRAPPER_SCRIPT +} + + +case $1 in + start) + ;; + stop) + ;; + restart) + ;; + status) + ;; + show) + P=1 + ;; + help) + show_help + exit 0 + ;; + *) + show_help + exit 1 + ;; +esac + +echo -n $floating_ip | xargs -d" " -P${P} -I% sh -c "sshpass -p'cubswin:)' scp $SSH_ARGS cirros_timeline* cirros@%: | sed 's/^/% /'" +echo -n $floating_ip | xargs -d" " -P${P} -I% sh -c "sshpass -p'cubswin:)' ssh $SSH_ARGS cirros@% sh ./cirros_timeline_wrapper.sh $1 | sed 's/^/% /'" + +