[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