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