[libvirt] [test-API][PATCH 2/2] Update cases with libvirtd restart problem

Guannan Ren gren at redhat.com
Thu Aug 23 07:41:31 UTC 2012


On 08/16/2012 05:00 PM, Wayne Sun wrote:
>    Restart libvirtd during test will break conn from framework. Update
>    cases with:
>    * Add notes in case description
>    * Using get_conn to reconnect in cases
>
> Signed-off-by: Wayne Sun <gsun at redhat.com>
> ---
>   repos/domain/ownership_test.py  |    6 ++++--
>   repos/libvirtd/qemu_hang.py     |    1 -
>   repos/libvirtd/restart.py       |    3 +++
>   repos/libvirtd/upstart.py       |    3 +++
>   repos/sVirt/domain_nfs_start.py |   11 ++++++++---
>   5 files changed, 18 insertions(+), 6 deletions(-)
>
> diff --git a/repos/domain/ownership_test.py b/repos/domain/ownership_test.py
> index b479708..33b57e2 100644
> --- a/repos/domain/ownership_test.py
> +++ b/repos/domain/ownership_test.py
> @@ -3,6 +3,9 @@
>   # check the ownership of saved domain file. Test could
>   # be on local or root_squash nfs. The default owner of
>   # the saved domain file is qemu:qemu in this case.
> +#
> +# NOTES: Libvirtd will be restarted during test, better run this
> +# case alone.
>   
>   import os
>   import re
> @@ -11,7 +14,6 @@ import sys
>   import libvirt
>   from libvirt import libvirtError
>   
> -from src import sharedmod
>   from utils import utils
>   
>   required_params = ('guestname', 'dynamic_ownership', 'use_nfs',)
> @@ -180,7 +182,7 @@ def ownership_test(params):
>           logger.error("failed to prepare the environment")
>           return 1
>   
> -    conn = sharedmod.libvirtobj['conn']
> +    conn = utils.get_conn()
>   
>       # save domain to the file
>       logger.info("save domain %s to the file %s" % (guestname, SAVE_FILE))
> diff --git a/repos/libvirtd/qemu_hang.py b/repos/libvirtd/qemu_hang.py
> index 7a58f50..9127ed6 100644
> --- a/repos/libvirtd/qemu_hang.py
> +++ b/repos/libvirtd/qemu_hang.py
> @@ -17,7 +17,6 @@ required_params = ('guestname',)
>   optional_params = {}
>   
>   VIRSH_LIST = "virsh list --all"
> -RESTART_CMD = "service libvirtd restart"
>   
>   def check_domain_running(conn, guestname, logger):
>       """ check if the domain exists, may or may not be active """
> diff --git a/repos/libvirtd/restart.py b/repos/libvirtd/restart.py
> index 803fa2e..e66f30a 100644
> --- a/repos/libvirtd/restart.py
> +++ b/repos/libvirtd/restart.py
> @@ -2,6 +2,9 @@
>   # Restart libvirtd testing. A running guest is required in
>   # this test. During libvirtd restart, the guest remains
>   # running and not affected by libvirtd restart.
> +#
> +# NOTES: Libvirtd will be restarted during test, better run this
> +# case alone.
>   
>   import os
>   import re
> diff --git a/repos/libvirtd/upstart.py b/repos/libvirtd/upstart.py
> index 13cb349..c57ba1c 100644
> --- a/repos/libvirtd/upstart.py
> +++ b/repos/libvirtd/upstart.py
> @@ -1,5 +1,8 @@
>   #!/usr/bin/env python
>   # Upstart libvirtd testing
> +#
> +# NOTES: Libvirtd will be restarted during test, better run this
> +# case alone.
>   
>   import os
>   import re
> diff --git a/repos/sVirt/domain_nfs_start.py b/repos/sVirt/domain_nfs_start.py
> index 88d349c..5ce9a7a 100644
> --- a/repos/sVirt/domain_nfs_start.py
> +++ b/repos/sVirt/domain_nfs_start.py
> @@ -5,6 +5,9 @@
>   # check whether the guest can be started or not. The nfs could
>   # be root_squash or no_root_squash. SElinux should be enabled
>   # and enforcing on host.
> +#
> +# NOTES: Libvirtd will be restarted during test, better run this
> +# case alone.
>   
>   import os
>   import re
> @@ -12,7 +15,6 @@ import sys
>   
>   import libvirt
>   from libvirt import libvirtError
> -
>   from src import sharedmod
>   from utils import utils
>   from shutil import copy
> @@ -171,6 +173,9 @@ def domain_nfs_start(params):
>           logger.error("failed to prepare the environment")
>           return 1
>   
> +    # reconnect libvirt
> +    conn = utils.get_conn()
> +
>       domobj = conn.lookupByName(guestname)
>   
>       logger.info("begin to test start domain from nfs storage")
> @@ -283,7 +288,7 @@ def domain_nfs_start(params):
>           logger.error("Error: fail to get domain %s state" % guestname)
>           return 1
>   
> -    if state != "shutoff":
> +    if state != libvirt.VIR_DOMAIN_SHUTOFF:
>           logger.info("shut down the domain %s" % guestname)
>           try:
>               domobj.destroy()
> @@ -407,7 +412,7 @@ def domain_nfs_start_clean(params):
>   
>   
>       # Connect to local hypervisor connection URI
> -    conn = sharedmod.libvirtobj['conn']
> +    conn = utils.get_conn()
>       domobj = conn.lookupByName(guestname)
>   
>       if domobj.info()[0] != libvirt.VIR_DOMAIN_SHUTOFF:

       ACK





More information about the libvir-list mailing list