On 2014年04月21日 14:22, shaohef(a)linux.vnet.ibm.com wrote:
From: ShaoHe Feng <shaohef(a)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.
Signed-off-by: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
Signed-off-by: Royce Lv <lvroyce(a)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':