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

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


On 04/22/2014 01:42 PM, Aline Manera wrote:
> 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

Sheldon, as you will need to update this patch according to my comments, 
could you also update lookup()?

>
>>>>
>>>> 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
>
> _______________________________________________
> 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