Bug 611824
| Summary: | RFE: Expose 'virDomainMemoryPeek' and 'virDomainBlockPeek' in python bindings | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Daniel Berrangé <berrange> |
| Component: | libvirt | Assignee: | Osier Yang <jyang> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.0 | CC: | ajia, berrange, bsarathy, dallan, eblake, gsun, hbrock, llim, mzhan, rwu, snagar, virt-maint, xen-maint |
| Target Milestone: | rc | Keywords: | AutoVerified, FutureFeature |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-0.9.9-1.el6 | Doc Type: | Enhancement |
| Doc Text: |
No documentation needed.
|
Story Points: | --- |
| Clone Of: | 492683 | Environment: | |
| Last Closed: | 2012-06-20 06:23:45 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: | |||
| Bug Blocks: | 655920 | ||
|
Comment 8
Osier Yang
2011-05-25 12:47:07 UTC
Test with libvirt-0.9.4-23.el6.x86_64, doesn't find this two methods 'virDomainMemoryPeek' and 'virDomainBlockPeek'. # nm -a -D /usr/lib64/python2.6/site-packages/libvirtmod.so | grep Peek # nm -a -D /usr/lib64/python2.6/site-packages/libvirtmod_qemu.so | grep Peek patch committed to upstream.
commit d758e0cb64e4a02a2f51de892fca4159952ac027
Author: Osier Yang <jyang>
Date: Thu Dec 15 21:01:33 2011 +0800
python: Expose blockPeek and memoryPeek in Python binding
A simple example to show how to use it:
\#! /usr/bin/python
import os
import sys
import libvirt
disk = "/var/lib/libvirt/images/test.img"
conn = libvirt.open(None)
dom = conn.lookupByName('test')
mem_contents = dom.memoryPeek(0, 32, libvirt.VIR_MEMORY_VIRTUAL);
sys.stdout.write(mem_contents)
% python test.py | hexdump
0000000 1660 0209 0000 0000 0000 0000 0000 0000
0000010 0000 0000 0000 0000 d3a0 01d0 0000 0000
0000020
# rpm -q libvirt libvirt-python
libvirt-0.9.9-1.el6.x86_64
libvirt-python-0.9.9-1.el6.x86_64
# nm -a -D /usr/lib64/python2.6/site-packages/libvirtmod.so | grep MemoryPeek
U virDomainMemoryPeek
1. start a domain
# virsh list
Id Name State
----------------------------------
53 rhel6u2 running
2. check
# python
Python 2.6.6 (r266:84292, Sep 12 2011, 14:03:14)
[GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import libvirt
>>> conn = libvirt.open(None)
>>> dom = conn.lookupByName('rhel6u2')
>>> dom.memoryPeek(0, 32, libvirt.VIR_MEMORY_VIRTUAL)
'\xd0\x93\xb6\xbb9\x7f\x00\x00\r\x00\x00\x00\x00\x00\x00\x00x\x01\x00\x00\x00\x00\x00\x00\xb0\x93\xb6\xbb9\x7f\x00\x00'
>>> dom.memoryPeek(0, 32, libvirt.VIR_MEMORY_PHYSICAL)
'S\xff\x00\xf0S\xff\x00\xf0\xc3\xe2\x00\xf0S\xff\x00\xf0S\xff\x00\xf0S\xff\x00\xf0S\xff\x00\xf0S\xff\x00\xf0'
>>>
so, this is fixed
(In reply to comment #13) > # rpm -q libvirt libvirt-python > libvirt-0.9.9-1.el6.x86_64 > libvirt-python-0.9.9-1.el6.x86_64 > > # nm -a -D /usr/lib64/python2.6/site-packages/libvirtmod.so | grep MemoryPeek > U virDomainMemoryPeek > > 1. start a domain > # virsh list > Id Name State > ---------------------------------- > 53 rhel6u2 running > > 2. check > # python > Python 2.6.6 (r266:84292, Sep 12 2011, 14:03:14) > [GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import libvirt > >>> conn = libvirt.open(None) > >>> dom = conn.lookupByName('rhel6u2') > >>> dom.memoryPeek(0, 32, libvirt.VIR_MEMORY_VIRTUAL) > '\xd0\x93\xb6\xbb9\x7f\x00\x00\r\x00\x00\x00\x00\x00\x00\x00x\x01\x00\x00\x00\x00\x00\x00\xb0\x93\xb6\xbb9\x7f\x00\x00' > >>> dom.memoryPeek(0, 32, libvirt.VIR_MEMORY_PHYSICAL) > 'S\xff\x00\xf0S\xff\x00\xf0\xc3\xe2\x00\xf0S\xff\x00\xf0S\xff\x00\xf0S\xff\x00\xf0S\xff\x00\xf0S\xff\x00\xf0' > >>> > for blockPeek: # nm -a -D /usr/lib64/python2.6/site-packages/libvirtmod.so | grep BlockPeek U virDomainBlockPeek >>> dom.blockPeek('hda', 0, 10, 0) '\xfa\xb8\x00\x10\x8e\xd0\xbc\x00\xb0\xb8' >>> dom.blockPeek('hda', 10, 10, 0) '\x00\x00\x8e\xd8\x8e\xc0\xfb\xbe\x00|' > so, this is fixed
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
No documentation needed.
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/RHSA-2012-0748.html |