Darryl L. Pierce
2009-Jul-21 16:13 UTC
[Ovirt-devel] [PATCH node-image] Moved all temporary files into a single work directory to clean up.
All temporary files are kept in a single directory. At the end of the
autotests that one directory is deleted.
Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
---
autotest.sh | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/autotest.sh b/autotest.sh
index c9f8a2d..d658cf3 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -40,6 +40,7 @@
# an ISO file.
ME=$(basename "$0")
+WORKDIR=$(mktemp -d)
warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
die() { warn "$*"; exit 1; }
debug() { if $debugging; then log "[DEBUG] %s" "$*"; fi }
@@ -140,7 +141,7 @@ start_dnsmasq () {
--dhcp-boot=tftpboot/pxelinux.0
--enable-tftp
--tftp-root=${tftproot}
- --log-facility=/tmp/dnsmasq-${nodename}.log
+ --log-facility=$WORKDIR/dnsmasq-${nodename}.log
--log-queries
--log-dhcp
--pid-file=${pidfile}"
@@ -180,7 +181,7 @@ start_networking () {
local workdir=$5
local definition=""
local network=$NETWORK
- local xmlfile=$(mktemp)
+ local xmlfile=$WORKDIR/$nodename-$ifacename.xml
debug "start_networking ()"
for var in nodename ifacename use_dhcp start_dnsmasq workdir network
xmlfile; do
@@ -363,7 +364,7 @@ configure_node () {
local hdfile=""
local cdfile=$5
local args=$6
- local nodefile=$(mktemp)
+ local nodefile=$WORKDIR/$nodename.xml
if [ -z "${boot_device}" ]; then boot_device="hd"; fi
if [ -z "${memory}" ]; then memory="524288"; fi
@@ -375,7 +376,7 @@ configure_node () {
# create the hard disk file
if [ -n "${hdsize}" ]; then
- hdfile=$(mktemp)
+ hdfile=$WORKDIR/$nodename-hd.img
create_hard_disk $hdfile $hdsize
fi
@@ -457,7 +458,7 @@ substitute_boot_device () {
local nodename=$1
local old_device=$2
local new_device=$3
- local new_node_file=$(mktemp)
+ local new_node_file=$WORKDIR/$nodename-new.xml
if [ -n "${nodename}" ]; then
local xml=$(sudo virsh dumpxml $nodename | sed "s/boot
dev='"${old_device}"'/boot
dev='"${new_device}"'/")
@@ -471,7 +472,7 @@ substitute_boot_device () {
add_test "test_stateless_pxe"
test_stateless_pxe () {
local nodename="${vm_prefix}-stateless-pxe"
- local workdir=$(mktemp -d)
+ local workdir=$WORKDIR
start_networking $nodename $IFACE_NAME false true $workdir
@@ -513,7 +514,7 @@ exit 3'
add_test "test_stateless_pxe_with_nohd"
test_stateless_pxe_with_nohd () {
local nodename="${vm_prefix}-stateless-pxe-nohd"
- local workdir=$(mktemp -d)
+ local workdir=$WORKDIR
start_networking $nodename $IFACE_NAME false true $workdir
@@ -556,7 +557,7 @@ exit 3'
add_test "test_stateful_pxe"
test_stateful_pxe () {
local nodename="${vm_prefix}-stateful-pxe"
- local workdir=$(mktemp -d)
+ local workdir=$WORKDIR
local ipaddress=${NODE_ADDRESS}
for var in nodename workdir ipaddress; do
@@ -683,6 +684,7 @@ cleanup_after_testing () {
destroy_node $vm
done
stop_networking
+ rm -rf $WORKDIR
}
# check commandline options
@@ -715,7 +717,7 @@ set +u
if [ $# -gt 0 -a -n "$1" ]; then RESULTS=$1; else
RESULTS=autotest.log; fi
set -u
-result_file=$(mktemp)
+result_file=$WORKDIR/results.log
debug "result_file=${result_file}"
log "Logging results to file: ${RESULTS}"
--
1.6.2.5
Mike Burns
2009-Jul-21 17:39 UTC
[Ovirt-devel] [PATCH node-image] Moved all temporary files into a single work directory to clean up.
On Tue, Jul 21, 2009 at 12:13:19PM -0400, Darryl L. Pierce wrote:> All temporary files are kept in a single directory. At the end of the > autotests that one directory is deleted. > > Signed-off-by: Darryl L. Pierce <dpierce at redhat.com> > --- > autotest.sh | 20 +++++++++++--------- > 1 files changed, 11 insertions(+), 9 deletions(-) > > diff --git a/autotest.sh b/autotest.sh > index c9f8a2d..d658cf3 100755 > --- a/autotest.sh > +++ b/autotest.sh > @@ -40,6 +40,7 @@ > # an ISO file. > > ME=$(basename "$0") > +WORKDIR=$(mktemp -d) > warn() { printf '%s: %s\n' "$ME" "$*" >&2; } > die() { warn "$*"; exit 1; } > debug() { if $debugging; then log "[DEBUG] %s" "$*"; fi } > @@ -140,7 +141,7 @@ start_dnsmasq () { > --dhcp-boot=tftpboot/pxelinux.0 > --enable-tftp > --tftp-root=${tftproot} > - --log-facility=/tmp/dnsmasq-${nodename}.log > + --log-facility=$WORKDIR/dnsmasq-${nodename}.log > --log-queries > --log-dhcp > --pid-file=${pidfile}" > @@ -180,7 +181,7 @@ start_networking () { > local workdir=$5 > local definition="" > local network=$NETWORK > - local xmlfile=$(mktemp) > + local xmlfile=$WORKDIR/$nodename-$ifacename.xml > > debug "start_networking ()" > for var in nodename ifacename use_dhcp start_dnsmasq workdir network xmlfile; do > @@ -363,7 +364,7 @@ configure_node () { > local hdfile="" > local cdfile=$5 > local args=$6 > - local nodefile=$(mktemp) > + local nodefile=$WORKDIR/$nodename.xml > > if [ -z "${boot_device}" ]; then boot_device="hd"; fi > if [ -z "${memory}" ]; then memory="524288"; fi > @@ -375,7 +376,7 @@ configure_node () { > > # create the hard disk file > if [ -n "${hdsize}" ]; then > - hdfile=$(mktemp) > + hdfile=$WORKDIR/$nodename-hd.img > create_hard_disk $hdfile $hdsize > fi > > @@ -457,7 +458,7 @@ substitute_boot_device () { > local nodename=$1 > local old_device=$2 > local new_device=$3 > - local new_node_file=$(mktemp) > + local new_node_file=$WORKDIR/$nodename-new.xml > > if [ -n "${nodename}" ]; then > local xml=$(sudo virsh dumpxml $nodename | sed "s/boot dev='"${old_device}"'/boot dev='"${new_device}"'/") > @@ -471,7 +472,7 @@ substitute_boot_device () { > add_test "test_stateless_pxe" > test_stateless_pxe () { > local nodename="${vm_prefix}-stateless-pxe" > - local workdir=$(mktemp -d) > + local workdir=$WORKDIR > > start_networking $nodename $IFACE_NAME false true $workdir > > @@ -513,7 +514,7 @@ exit 3' > add_test "test_stateless_pxe_with_nohd" > test_stateless_pxe_with_nohd () { > local nodename="${vm_prefix}-stateless-pxe-nohd" > - local workdir=$(mktemp -d) > + local workdir=$WORKDIR > > start_networking $nodename $IFACE_NAME false true $workdir > > @@ -556,7 +557,7 @@ exit 3' > add_test "test_stateful_pxe" > test_stateful_pxe () { > local nodename="${vm_prefix}-stateful-pxe" > - local workdir=$(mktemp -d) > + local workdir=$WORKDIR > local ipaddress=${NODE_ADDRESS} > > for var in nodename workdir ipaddress; do > @@ -683,6 +684,7 @@ cleanup_after_testing () { > destroy_node $vm > done > stop_networking > + rm -rf $WORKDIR > } > > # check commandline options > @@ -715,7 +717,7 @@ set +u > if [ $# -gt 0 -a -n "$1" ]; then RESULTS=$1; else RESULTS=autotest.log; fi > set -u > > -result_file=$(mktemp) > +result_file=$WORKDIR/results.log > debug "result_file=${result_file}" > > log "Logging results to file: ${RESULTS}" > -- > 1.6.2.5 > > _______________________________________________ > Ovirt-devel mailing list > Ovirt-devel at redhat.com > https://www.redhat.com/mailman/listinfo/ovirt-devel >Only comment is that you might want to report as a debug statement where the working directory is located in the setup_for_testing function. Other than that, ACK Mike
Reasonably Related Threads
- [PATCH node] Update autobuild and autotest scripts for new build structure
- [PATCH node-image] Fixing the autotest script.
- [PATCH node-image] Removes the explicit setting of the emulator for testing.
- Incomplete patch
- passing parameters to link_to OR better way to do this?