[Kimchi-devel] [PATCH] bug fix: from persistent xml get user and group

Aline Manera alinefm at linux.vnet.ibm.com
Tue Apr 22 16:42:47 UTC 2014


On 04/22/2014 01:39 PM, Aline Manera wrote:
> On 04/21/2014 03:58 AM, Royce Lv wrote:
>> On 2014年04月21日 14:22, shaohef at linux.vnet.ibm.com wrote:
>>> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>>>
>>> define domain just edit the persistent xml.
>>> So we should get user and group from persistent xml instead of live xml
>>> when domain is living.
>> Sheldon found this bug: when we set kimchi metadata when vm is 
>> running, we cannot read corresponding info,
>> the root cause is what we set is in persistent configuration, but 
>> what we read from is the live xml.
>> His patch fix this inconsistency by just manipulating(read/write) the 
>> persistent one.
>
> Royce, I made some tests and even with this patch when I updated 
> users/groups in a running VM the changes
> only take effect in next boot
>

I found the problem. To fix it we also need to do:

+        xml = dom.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE)

in lookup()

I will adjust that before applying

>>>
>>> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>>> Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
>>> ---
>>>   src/kimchi/model/vms.py | 6 ++++--
>>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/kimchi/model/vms.py b/src/kimchi/model/vms.py
>>> index 90e9537..2b9bf56 100644
>>> --- a/src/kimchi/model/vms.py
>>> +++ b/src/kimchi/model/vms.py
>>> @@ -258,9 +258,11 @@ class VMModel(object):
>>>
>>>           old_xml = new_xml = dom.XMLDesc(0)
>>>
>>> +        meta_xml = (dom.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE)
>>> +                    if dom.isPersistent() else old_xml)
>>>           metadata_xpath = "/domain/metadata/kimchi/access/%s"
>>> -        users = xpath_get_text(old_xml, metadata_xpath % "user")
>>> -        groups = xpath_get_text(old_xml, metadata_xpath % "group")
>>> +        users = xpath_get_text(meta_xml, metadata_xpath % "user")
>>> +        groups = xpath_get_text(meta_xml, metadata_xpath % "group")
>>>
>>>           for key, val in params.items():
>>>               if key == 'users':
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel




More information about the Kimchi-devel mailing list