Andrei Perietanu
2016-Feb-19 12:33 UTC
Re: [libvirt-users] problem cloning storage pool volume
On Fri, Feb 19, 2016 at 12:12 PM, Martin Kletzander <mkletzan@redhat.com> wrote:> On Fri, Feb 19, 2016 at 11:12:32AM +0000, Andrei Perietanu wrote: > >> I'm trying to clone a volume in a storage pool and I'm following the steps >> described here: >> >> http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/html/libvirt_application_development_guide_using_python-Storage_Pools-Cloning.html >> >> My code looks like: >> >> destXML = """ >> <volume> >> <name>"""+newDiskName+""".qcow2</name> >> <target> >> >> <path>/jffs2/disk0/"""+poolName+'/'+newDiskName+""".qcow2</path> >> <format type='qcow2'/> >> <permissions> >> <owner>-1</owner> >> <group>-1</group> >> <mode>0644</mode> >> <label>virt_image_t</label> >> </permissions> >> </target> >> </volume>""" >> >> srcDisk = tmpPool.storageVolLookupByName(vDisk) >> newVol = sp.createXMLFrom(destXML,srcDisk, 0) >> >> According to the steps described in the link, this should be it; but I >> can't start any VM that are using this volume. >> >> Also comparing the volume XML files for src/dest it looks like the format >> is not copied over: >> source: >> <volume type='file'> >> <name>k.qcow2</name> >> <key>/jffs2/disk0/sp/vDisk.qcow2</key> >> <source> >> </source> >> <capacity unit='bytes'>3221225472</capacity> >> <allocation unit='bytes'>332075008</allocation> >> <target> >> <path>/jffs2/disk0/sp/vDisk.qcow2</path> >> *<format type='qcow2'/>* >> <permissions> >> <mode>0644</mode> >> <owner>0</owner> >> <group>0</group> >> </permissions> >> <timestamps> >> <atime>1455879195</atime> >> <mtime>1455879171</mtime> >> <ctime>1455879171</ctime> >> </timestamps> >> </target> >> >> >> dest: >> <volume type='file'> >> <name>newDiskName.qcow2</name> >> <key>/jffs2/disk0/sp/newDiskName.qcow2</key> >> <source> >> </source> >> <capacity unit='bytes'>3221225472</capacity> >> <allocation unit='bytes'>326868992</allocation> >> <target> >> <path>/jffs2/disk0/sp/newDiskName.qcow2</path> >> *<format type='raw'/>* >> > > > So there are two bugs here, probably. Does this go away if you refresh > the pool? >No, refreshing the pool does not help. The problem is not that I don't see the new volume, the problem is I get a "raw" file instead of "qcow2"> > The other thing is that it doesn't matter what's here, you should > explicitly specify the format in the domain XML anyway. Do you do that? >The tutorial I followed (libvirt.org) says: "Cloning a storage volume is similar to creating a new storage volume, except that an existing storage volume is used for most of the attributes. Only the name and permissions in the XML parameter are used for the new volume, everything else is inherited from the existing volume." So I don't specifically mention the file formal in the xml for the new volume.> > <permissions> >> <mode>0644</mode> >> <owner>0</owner> >> <group>0</group> >> </permissions> >> <timestamps> >> <atime>1455878686</atime> >> <mtime>1455878681</mtime> >> <ctime>1455878681</ctime> >> </timestamps> >> </target> >> </volume> >> >> I this a bug in libvirt->createXMLFrom ?? Or am I missing something? >> >> Thanks, >> Andrei >> >> -- >> >> >> The information transmitted is intended only for the person or entity to >> which it is addressed and may contain confidential and/or privileged >> material. Any review, retransmission, dissemination or other use of or >> taking of any action in reliance upon this information by persons or >> entities other than the intended recipient is prohibited. If you receive >> this in error please contact the sender and delete the material from any >> computer immediately. It is the policy of Klas Limited to disavow the >> sending of offensive material and should you consider that the material >> contained in the message is offensive you should contact the sender >> immediately and also your I.T. Manager. >> >> Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. >> NW, >> Washington, DC 20007. >> >> Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish >> Limited Liability Company, with its registered office at Fourth Floor, One >> Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland. >> > > _______________________________________________ >> libvirt-users mailing list >> libvirt-users@redhat.com >> https://www.redhat.com/mailman/listinfo/libvirt-users >> >-- The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you receive this in error please contact the sender and delete the material from any computer immediately. It is the policy of Klas Limited to disavow the sending of offensive material and should you consider that the material contained in the message is offensive you should contact the sender immediately and also your I.T. Manager. Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. NW, Washington, DC 20007. Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish Limited Liability Company, with its registered office at Fourth Floor, One Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland.
Martin Kletzander
2016-Feb-22 11:10 UTC
Re: [libvirt-users] problem cloning storage pool volume
On Fri, Feb 19, 2016 at 12:33:10PM +0000, Andrei Perietanu wrote:>On Fri, Feb 19, 2016 at 12:12 PM, Martin Kletzander <mkletzan@redhat.com> >wrote: > >> On Fri, Feb 19, 2016 at 11:12:32AM +0000, Andrei Perietanu wrote: >> >>> I'm trying to clone a volume in a storage pool and I'm following the steps >>> described here: >>> >>> http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/html/libvirt_application_development_guide_using_python-Storage_Pools-Cloning.html >>> >>> My code looks like: >>> >>> destXML = """ >>> <volume> >>> <name>"""+newDiskName+""".qcow2</name> >>> <target> >>> >>> <path>/jffs2/disk0/"""+poolName+'/'+newDiskName+""".qcow2</path> >>> <format type='qcow2'/> >>> <permissions> >>> <owner>-1</owner> >>> <group>-1</group> >>> <mode>0644</mode> >>> <label>virt_image_t</label> >>> </permissions> >>> </target> >>> </volume>""" >>> >>> srcDisk = tmpPool.storageVolLookupByName(vDisk) >>> newVol = sp.createXMLFrom(destXML,srcDisk, 0) >>> >>> According to the steps described in the link, this should be it; but I >>> can't start any VM that are using this volume. >>> >>> Also comparing the volume XML files for src/dest it looks like the format >>> is not copied over: >>> source: >>> <volume type='file'> >>> <name>k.qcow2</name> >>> <key>/jffs2/disk0/sp/vDisk.qcow2</key> >>> <source> >>> </source> >>> <capacity unit='bytes'>3221225472</capacity> >>> <allocation unit='bytes'>332075008</allocation> >>> <target> >>> <path>/jffs2/disk0/sp/vDisk.qcow2</path> >>> *<format type='qcow2'/>* >>> <permissions> >>> <mode>0644</mode> >>> <owner>0</owner> >>> <group>0</group> >>> </permissions> >>> <timestamps> >>> <atime>1455879195</atime> >>> <mtime>1455879171</mtime> >>> <ctime>1455879171</ctime> >>> </timestamps> >>> </target> >>> >>> >>> dest: >>> <volume type='file'> >>> <name>newDiskName.qcow2</name> >>> <key>/jffs2/disk0/sp/newDiskName.qcow2</key> >>> <source> >>> </source> >>> <capacity unit='bytes'>3221225472</capacity> >>> <allocation unit='bytes'>326868992</allocation> >>> <target> >>> <path>/jffs2/disk0/sp/newDiskName.qcow2</path> >>> *<format type='raw'/>* >>> >> >> >> So there are two bugs here, probably. Does this go away if you refresh >> the pool? >> > No, refreshing the pool does not help. The problem is not that I >don't see the new volume, the problem is I get a "raw" file instead of >"qcow2" >I know, I wanted to see whether that format changed. Are those files really cloned? I tried the same thing you did and I have the right format there. What libvirt version are you running?>> >> The other thing is that it doesn't matter what's here, you should >> explicitly specify the format in the domain XML anyway. Do you do that? >> > The tutorial I followed (libvirt.org) says: >"Cloning a storage volume is similar to creating a new storage volume, >except that an existing storage volume is used for most of the attributes. >Only the name and permissions in the XML parameter are used for the new >volume, everything else is inherited from the existing volume." >So I don't specifically mention the file formal in the xml for the new >volume. > >> >> <permissions> >>> <mode>0644</mode> >>> <owner>0</owner> >>> <group>0</group> >>> </permissions> >>> <timestamps> >>> <atime>1455878686</atime> >>> <mtime>1455878681</mtime> >>> <ctime>1455878681</ctime> >>> </timestamps> >>> </target> >>> </volume> >>> >>> I this a bug in libvirt->createXMLFrom ?? Or am I missing something? >>> >>> Thanks, >>> Andrei >>> >>> -- >>> >>> >>> The information transmitted is intended only for the person or entity to >>> which it is addressed and may contain confidential and/or privileged >>> material. Any review, retransmission, dissemination or other use of or >>> taking of any action in reliance upon this information by persons or >>> entities other than the intended recipient is prohibited. If you receive >>> this in error please contact the sender and delete the material from any >>> computer immediately. It is the policy of Klas Limited to disavow the >>> sending of offensive material and should you consider that the material >>> contained in the message is offensive you should contact the sender >>> immediately and also your I.T. Manager. >>> >>> Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. >>> NW, >>> Washington, DC 20007. >>> >>> Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish >>> Limited Liability Company, with its registered office at Fourth Floor, One >>> Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland. >>> >> >> _______________________________________________ >>> libvirt-users mailing list >>> libvirt-users@redhat.com >>> https://www.redhat.com/mailman/listinfo/libvirt-users >>> >> > >-- > > >The information transmitted is intended only for the person or entity to >which it is addressed and may contain confidential and/or privileged >material. Any review, retransmission, dissemination or other use of or >taking of any action in reliance upon this information by persons or >entities other than the intended recipient is prohibited. If you receive >this in error please contact the sender and delete the material from any >computer immediately. It is the policy of Klas Limited to disavow the >sending of offensive material and should you consider that the material >contained in the message is offensive you should contact the sender >immediately and also your I.T. Manager. > >Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. NW, >Washington, DC 20007. > >Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish >Limited Liability Company, with its registered office at Fourth Floor, One >Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland.
Andrei Perietanu
2016-Feb-24 09:10 UTC
Re: [libvirt-users] problem cloning storage pool volume
I'm using libvirt 1.2.20. Also I noticed that if I specify the file format
in the target xml the file is cloned correctly:
destXML = """
<volume>
<name>"""+name+""".qcow2</name>
<target>
<path>/jffs2/disk0/"""+poolName+'/'+name+""".qcow2</path>
*<format type='qcow2'/>*
<permissions>
<owner>-1</owner>
<group>-1</group>
<mode>0644</mode>
<label>virt_image_t</label>
</permissions>
</target>
</volume>"""
But it does not say anything about this part on libvirt.org. So it's either
a bug or the tutorial is not correct.
Andrei
On Mon, Feb 22, 2016 at 11:10 AM, Martin Kletzander <mkletzan@redhat.com>
wrote:
> On Fri, Feb 19, 2016 at 12:33:10PM +0000, Andrei Perietanu wrote:
>
>> On Fri, Feb 19, 2016 at 12:12 PM, Martin Kletzander
<mkletzan@redhat.com>
>> wrote:
>>
>> On Fri, Feb 19, 2016 at 11:12:32AM +0000, Andrei Perietanu wrote:
>>>
>>> I'm trying to clone a volume in a storage pool and I'm
following the
>>>> steps
>>>> described here:
>>>>
>>>>
>>>>
http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/html/libvirt_application_development_guide_using_python-Storage_Pools-Cloning.html
>>>>
>>>> My code looks like:
>>>>
>>>> destXML = """
>>>> <volume>
>>>>
<name>"""+newDiskName+""".qcow2</name>
>>>> <target>
>>>>
>>>>
<path>/jffs2/disk0/"""+poolName+'/'+newDiskName+""".qcow2</path>
>>>> <format type='qcow2'/>
>>>> <permissions>
>>>> <owner>-1</owner>
>>>> <group>-1</group>
>>>> <mode>0644</mode>
>>>> <label>virt_image_t</label>
>>>> </permissions>
>>>> </target>
>>>> </volume>"""
>>>>
>>>> srcDisk = tmpPool.storageVolLookupByName(vDisk)
>>>> newVol = sp.createXMLFrom(destXML,srcDisk, 0)
>>>>
>>>> According to the steps described in the link, this should be
it; but I
>>>> can't start any VM that are using this volume.
>>>>
>>>> Also comparing the volume XML files for src/dest it looks like
the
>>>> format
>>>> is not copied over:
>>>> source:
>>>> <volume type='file'>
>>>> <name>k.qcow2</name>
>>>> <key>/jffs2/disk0/sp/vDisk.qcow2</key>
>>>> <source>
>>>> </source>
>>>> <capacity
unit='bytes'>3221225472</capacity>
>>>> <allocation
unit='bytes'>332075008</allocation>
>>>> <target>
>>>> <path>/jffs2/disk0/sp/vDisk.qcow2</path>
>>>> *<format type='qcow2'/>*
>>>> <permissions>
>>>> <mode>0644</mode>
>>>> <owner>0</owner>
>>>> <group>0</group>
>>>> </permissions>
>>>> <timestamps>
>>>> <atime>1455879195</atime>
>>>> <mtime>1455879171</mtime>
>>>> <ctime>1455879171</ctime>
>>>> </timestamps>
>>>> </target>
>>>>
>>>>
>>>> dest:
>>>> <volume type='file'>
>>>> <name>newDiskName.qcow2</name>
>>>> <key>/jffs2/disk0/sp/newDiskName.qcow2</key>
>>>> <source>
>>>> </source>
>>>> <capacity
unit='bytes'>3221225472</capacity>
>>>> <allocation
unit='bytes'>326868992</allocation>
>>>> <target>
>>>> <path>/jffs2/disk0/sp/newDiskName.qcow2</path>
>>>> *<format type='raw'/>*
>>>>
>>>>
>>>
>>> So there are two bugs here, probably. Does this go away if you
refresh
>>> the pool?
>>>
>>> No, refreshing the pool does not help. The problem is not
that I
>> don't see the new volume, the problem is I get a "raw"
file instead of
>> "qcow2"
>>
>>
> I know, I wanted to see whether that format changed. Are those files
> really cloned? I tried the same thing you did and I have the right
> format there. What libvirt version are you running?
>
>
>
>>> The other thing is that it doesn't matter what's here, you
should
>>> explicitly specify the format in the domain XML anyway. Do you do
that?
>>>
>>> The tutorial I followed (libvirt.org) says:
>> "Cloning a storage volume is similar to creating a new storage
volume,
>> except that an existing storage volume is used for most of the
attributes.
>> Only the name and permissions in the XML parameter are used for the new
>> volume, everything else is inherited from the existing volume."
>> So I don't specifically mention the file formal in the xml for the
new
>> volume.
>>
>>
>>> <permissions>
>>>
>>>> <mode>0644</mode>
>>>> <owner>0</owner>
>>>> <group>0</group>
>>>> </permissions>
>>>> <timestamps>
>>>> <atime>1455878686</atime>
>>>> <mtime>1455878681</mtime>
>>>> <ctime>1455878681</ctime>
>>>> </timestamps>
>>>> </target>
>>>> </volume>
>>>>
>>>> I this a bug in libvirt->createXMLFrom ?? Or am I missing
something?
>>>>
>>>> Thanks,
>>>> Andrei
>>>>
>>>> --
>>>>
>>>>
>>>> The information transmitted is intended only for the person or
entity to
>>>> which it is addressed and may contain confidential and/or
privileged
>>>> material. Any review, retransmission, dissemination or other
use of or
>>>> taking of any action in reliance upon this information by
persons or
>>>> entities other than the intended recipient is prohibited. If
you receive
>>>> this in error please contact the sender and delete the material
from any
>>>> computer immediately. It is the policy of Klas Limited to
disavow the
>>>> sending of offensive material and should you consider that the
material
>>>> contained in the message is offensive you should contact the
sender
>>>> immediately and also your I.T. Manager.
>>>>
>>>> Klas Telecom Inc., a Virginia Corporation with offices at 1101
30th St.
>>>> NW,
>>>> Washington, DC 20007.
>>>>
>>>> Klas Limited (Company Number 163303) trading as Klas Telecom,
an Irish
>>>> Limited Liability Company, with its registered office at Fourth
Floor,
>>>> One
>>>> Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8,
Ireland.
>>>>
>>>>
>>> _______________________________________________
>>>
>>>> libvirt-users mailing list
>>>> libvirt-users@redhat.com
>>>> https://www.redhat.com/mailman/listinfo/libvirt-users
>>>>
>>>>
>>>
>> --
>>
>>
>> The information transmitted is intended only for the person or entity
to
>> which it is addressed and may contain confidential and/or privileged
>> material. Any review, retransmission, dissemination or other use of or
>> taking of any action in reliance upon this information by persons or
>> entities other than the intended recipient is prohibited. If you
receive
>> this in error please contact the sender and delete the material from
any
>> computer immediately. It is the policy of Klas Limited to disavow the
>> sending of offensive material and should you consider that the material
>> contained in the message is offensive you should contact the sender
>> immediately and also your I.T. Manager.
>>
>> Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St.
>> NW,
>> Washington, DC 20007.
>>
>> Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish
>> Limited Liability Company, with its registered office at Fourth Floor,
One
>> Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland.
>>
>
--
The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of or
taking of any action in reliance upon this information by persons or
entities other than the intended recipient is prohibited. If you receive
this in error please contact the sender and delete the material from any
computer immediately. It is the policy of Klas Limited to disavow the
sending of offensive material and should you consider that the material
contained in the message is offensive you should contact the sender
immediately and also your I.T. Manager.
Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. NW,
Washington, DC 20007.
Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish
Limited Liability Company, with its registered office at Fourth Floor, One
Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland.