[libvirt] [TCK][PATCH] nwfilter: implement support for --force flag

Stefan Berger stefanb at linux.vnet.ibm.com
Thu Oct 7 13:14:44 UTC 2010


  On 10/06/2010 09:09 AM, Daniel P. Berrange wrote:
> On Mon, Oct 04, 2010 at 09:41:50AM -0400, Stefan Berger wrote:
>>   Implement support for the --force command line option to delete
>> existing VMs and nwfilters starting with 'tck'. Fix how the --no-attach
>> flag is handled.
>>
>> Signed-off-by: Stefan Berger<stefanb at us.ibm.com>
>>
>> diff --git a/scripts/nwfilter/nwfilter2vmtest.sh
>> b/scripts/nwfilter/nwfilter2vmtest.sh
>> index b527ee8..496c220 100644
>> --- a/scripts/nwfilter/nwfilter2vmtest.sh
>> +++ b/scripts/nwfilter/nwfilter2vmtest.sh
>> @@ -23,6 +23,7 @@ FLAG_ATTACH="$((1<<1))"
>>   FLAG_VERBOSE="$((1<<2))"
>>   FLAG_LIBVIRT_TEST="$((1<<3))"
>>   FLAG_TAP_TEST="$((1<<4))"
>> +FLAG_FORCE_CLEAN="$((1<<5))"
>>
>>   failctr=0
>>   passctr=0
>> @@ -47,6 +48,8 @@ Options:
>>    --verbose      : Verbose output
>>    --libvirt-test : Use the libvirt test output format
>>    --tap-test     : TAP format output
>> + --force        : Allow the automatic cleaning of VMs and nwfilters
>> +                  previously created by the TCK test suite
>>
>>   This test will create two virtual machines. The one virtual machine
>>   will use a filter called '${TESTFILTERNAME}', and reference the filter
>> @@ -498,11 +501,12 @@ function main() {
>>     while [ $# -ne 0 ]; do
>>       case "$1" in
>>       --help|-h|-\?) usage ${prgname}; exit 0;;
>> -    --noattach)     ((flags ^= FLAG_ATTACH  ));;
>> +    --noattach)     ((flags&= ~FLAG_ATTACH ));;
>>       --wait)         ((flags |= FLAG_WAIT    ));;
>>       --verbose)      ((flags |= FLAG_VERBOSE ));;
>>       --libvirt-test) ((flags |= FLAG_LIBVIRT_TEST ));;
>>       --tap-test)     ((flags |= FLAG_TAP_TEST ));;
>> +    --force)        ((flags |= FLAG_FORCE_CLEAN ));;
>>       *) usage ${prgname}; exit 1;;
>>       esac
>>       shift 1
>> @@ -523,12 +527,14 @@ function main() {
>>           exit 0
>>       fi
>>
>> -    for name in `virsh nwfilter-list | awk '{print $2}'`
>> +    for name in `virsh list | awk '{print $2}'`
>>       do
>>         case ${name} in
>>         tck*)
>> -        if [ "x${LIBVIRT_TCK_AUTOCLEAN}" == "x1" ]; then
>> -          res=$(virsh nwfilter-undefine ${name} 2>&1)
>> +        if [ "x${LIBVIRT_TCK_AUTOCLEAN}" == "x1" -o \
>> +             $((flags&  FLAG_FORCE_CLEAN)) -ne 0 ]; then
>> +          res=$(virsh destroy  ${name} 2>&1)
>> +          res=$(virsh undefine ${name} 2>&1)
>>             if [ $? -ne 0 ]; then
>>               echo "Bail out! Could not undefine nwfiler ${name}: ${res}"
>>               exit 0
>> @@ -544,8 +550,9 @@ function main() {
>>       do
>>         case ${name} in
>>         tck*)
>> -        if [ "x${LIBVIRT_TCK_AUTOCLEAN}" == "x1" ]; then
>> -          res=$(virsh undefine ${name} 2>&1)
>> +        if [ "x${LIBVIRT_TCK_AUTOCLEAN}" == "x1" -o \
>> +             $((flags&  FLAG_FORCE_CLEAN)) -ne 0 ]; then
>> +          res=$(virsh nwfilter-undefine ${name} 2>&1)
>>             if [ $? -ne 0 ]; then
>>               echo "Bail out! Could not undefine domain ${name}: ${res}"
>>               exit 1
> ACK
>
> Daniel
Pushed.

    Stefan




More information about the libvir-list mailing list