[libvirt] [PATCH perl-Sys-Virt] Don't die if snapshots are unsupported
Daniel P. Berrange
berrange at redhat.com
Tue Apr 22 10:35:31 UTC 2014
On Mon, Apr 21, 2014 at 02:19:12PM -0600, Mike Latimer wrote:
> Many libvirt-tck tests do not explicitly cleanup test domains before exiting.
> In this case Sys::Virt::TCK->cleanup is triggered, and the environment is
> reset automatically. During this reset, any existing snapshots are found for
> deletion through Sys::Virt::Domain->list_snapshots. If the underlying
> connection driver does not support snapshot functions (such as lxc or libxl),
> the process dies with the following error:
>
> libvirt error code: 3, message: this function is not supported by the
> connection driver: virDomainSnapshotListNames
>
> The best resolution would be to add snapshot support to the driver(s), but as
> this requires a long term effort, it is better to catch the error and return
> an empty list of snapshots to the calling function. In the case of
> libvirt-tck, this allows the cleanup to succeed and subsequent testing to
> continue normally.
>
> ---
> Domain.pm | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> --- a/lib/Sys/Virt/Domain.pm 2014-04-07 04:35:31.000000000 -0600
> +++ b/lib/Sys/Virt/Domain.pm 2014-04-21 13:48:22.868956838 -0600
> @@ -1416,7 +1416,10 @@ recommended as a more efficient alternat
> sub list_snapshots {
> my $self = shift;
>
> - my $nnames = $self->num_of_snapshots();
> + # If snapshots are not supported by the driver (lxc, libxl...), catch the
> + # function not supported error and simply return as there are no snapshots
> + my $nnames = eval { $self->num_of_snapshots() };
> + return if($@ =~ /function is not supported/);
> my @names = $self->list_snapshot_names($nnames);
Unfortunately this is a change in API behaviour that affects more
than just the TCK. You need todo the equivalent change to the TCK
code instead really.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list