Jim Meyering wrote: > Cole Robinson wrote: >> We aren't setting the persistent bit when a network is defined, so >> 'destroy' makes them disappear (though they will reappear later since >> their persistent config is never removed). >> >> Attached patch fixes this. > > Hi Cole, > > Looks like you're on the right track. > My reflex was to test for it... > What before/after behavior change should I see? > I tried this: > > cat <<EOF > net.xml > <network> > <name>N</name> > <ip address="192.168.199.1" netmask="255.255.255.0"></ip> > </network> > EOF > qemud/libvirtd & > src/virsh 'net-define net.xml; net-destroy N; net-list' Here's the test I've just written for this fix. Before the fix, it fails. After it, the test passes. But note, if I define another network, (all as a regular user), the test fails because that other network shows up in this tests "net-list --all" output. Hence my suggestion to add a single new prefix config string, or many more per-attribute-and-driver config variables. >From 638710cd9ab0a98ff142f221899bf7bd9845ad53 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon, 2 Mar 2009 14:46:20 +0100 Subject: [PATCH 1/2] virsh: tweak a format string to avoid emitting trailing space * src/virsh.c (cmdNetworkList): Change format not to right-pad with spaces, as that would have required a trailing blank in an expected output file. --- src/virsh.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/virsh.c b/src/virsh.c index 298dde0..4ba3fe0 100644 --- a/src/virsh.c +++ b/src/virsh.c @@ -2596,7 +2596,7 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) qsort(&inactiveNames[0], maxinactive, sizeof(char*), namesorter); } } - vshPrintExtra(ctl, "%-20s %-10s %-10s\n", _("Name"), _("State"), _("Autostart")); + vshPrintExtra(ctl, "%-20s %-10s %s\n", _("Name"), _("State"), _("Autostart")); vshPrintExtra(ctl, "-----------------------------------------\n"); for (i = 0; i < maxactive; i++) { -- 1.6.2.rc1.285.gc5f54 >From e9b60de9fd07fda9b6c5c703bd79c56c28804046 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@xxxxxxxxxx> Date: Mon, 2 Mar 2009 14:32:59 +0100 Subject: [PATCH 2/2] tests: test for a recent fix * tests/libvirtd-net-persist: New file. Test for the "Mark defined networks as persistent" fix. * tests/Makefile.am (test_scripts): Add it. --- tests/Makefile.am | 1 + tests/libvirtd-net-persist | 54 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 0 deletions(-) create mode 100755 tests/libvirtd-net-persist diff --git a/tests/Makefile.am b/tests/Makefile.am index bec4f60..7479e03 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -81,6 +81,7 @@ test_scripts += \ daemon-conf \ define-dev-segfault \ int-overflow \ + libvirtd-net-persist \ read-bufsiz \ read-non-seekable \ start \ diff --git a/tests/libvirtd-net-persist b/tests/libvirtd-net-persist new file mode 100755 index 0000000..72f2bb8 --- /dev/null +++ b/tests/libvirtd-net-persist @@ -0,0 +1,54 @@ +#!/bin/sh +# ensure that net-destroy doesn't make network disappear (persistence-related) + +if test "$VERBOSE" = yes; then + set -x + libvirtd --version + virsh --version +fi + +test -z "$srcdir" && srcdir=$(pwd) +test -z "$abs_top_srcdir" && abs_top_srcdir=$(pwd)/.. +. "$srcdir/test-lib.sh" + +fail=0 + +pwd=$(pwd) || fail=1 +sock_dir="$pwd" +cat > conf <<EOF || fail=1 +unix_sock_dir = "$sock_dir" +log_outputs = "3:file:$pwd/log" +EOF + +cat > net.xml <<EOF || fail=1 +<network> + <name>N</name> + <ip address="192.168.199.1" netmask="255.255.255.0"></ip> +</network> +EOF + +cat > exp <<EOF || fail=1 +Network N defined from net.xml + +Network N destroyed + +Name State Autostart +----------------------------------------- +N inactive no + +EOF + +libvirtd --config=conf > libvirtd-log 2>&1 & pid=$! +sleep 1 + +url="qemu:///session?socket=@$sock_dir/libvirt-sock" +virsh -c "$url" \ + 'net-define net.xml; net-destroy N; net-list --all' > out 2>&1 \ + || fail=1 + +compare exp out || fail=1 + +printf "Shutting down network 'N'\n" > log-exp +compare log-exp libvirtd-log || fail=1 + +exit $fail -- 1.6.2.rc1.285.gc5f54 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list