Bug 915348

Summary: invalid domain pointer error occurs when use domain object from snapshot object 's getdomain method
Product: Red Hat Enterprise Linux 6 Reporter: Chris Pelland <cpelland>
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.4CC: acathrow, ajia, dallan, dyasny, dyuan, gsun, honzhang, jdenemar, mzhan, pm-eus, rwu
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.10.2-18.el6_4.1 Doc Type: Bug Fix
Doc Text:
Cause: Python bindings for libvirt contained incorrect implementation of getDomain() and getConnect() methods in virDomainSnapshot class. Consequence: An application using these methods may fail or crash. Fix: Python bindings now provide proper domain() and connect() accessors that fetch python objects stored internally within virDomainSnapshot instance. For backward compatibility, getDomain() and getConnect() methods call these accessors. Result: An application using either of these methods works as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-21 13:44:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 895882    
Bug Blocks:    

Description Chris Pelland 2013-02-25 15:03:58 UTC
This bug has been copied from bug #895882 and has been proposed
to be backported to 6.4 z-stream (EUS).

Comment 6 hongming 2013-03-18 08:01:40 UTC
Verify it as follows. The result is expected. Move its status to VERIFIED.

versions
libvirt-python-0.10.2-18.el6_4.1.x86_64
libvirt-0.10.2-18.el6_4.1.x86_64


# virsh snapshot-list rhel63
 Name                 Creation Time             State
------------------------------------------------------------
 1363592813           2013-03-18 03:46:53 -0400 running
 1363592825           2013-03-18 03:47:05 -0400 running


# cat  snapshot.py
import libvirt

def snapshot():
    con = libvirt.open('')
    dom = con.lookupByName('rhel63')
    snapshot_list = dom.listAllSnapshots(0)
    for snapshot_item in snapshot_list:
	domain = snapshot_item.getDomain()
        print "domain name: %s " % domain.name()
        conn = snapshot_item.getConnect()
        print "conn uri: %s " % conn.getURI()
        
if __name__=='__main__':
   snapshot()


# python snapshot.py
domain name: rhel63 
conn uri: qemu:///system 
domain name: rhel63 
conn uri: qemu:///system

Comment 8 errata-xmlrpc 2013-03-21 13:44:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0664.html