[PATCH] Ensure libvirt_lxc process loads the live XML config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Daniel P. Berrange" <berrange@xxxxxxxxxx>

Currently the libvirt_lxc process uses VIR_DOMAIN_XML_INACTIVE
when loading the XML for the container. This means it looses
any dynamic data such as the, just allocated, SELinux label.

Further there is an inconsistency in the libvirt LXC driver
whereby it saves the live config XML and then later overwrites
the file with the live status XML instead. Add a comment about
this for future reference.

* src/lxc/lxc_controller.c: Remove VIR_DOMAIN_XML_INACTIVE
  when loading XML
* src/lxc/lxc_driver.c: Add comment about inconsistent
  config file formats

Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
 src/lxc/lxc_controller.c |    2 +-
 src/lxc/lxc_driver.c     |   14 ++++++--------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 2617423..1e3ec30 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -1781,7 +1781,7 @@ int main(int argc, char *argv[])
 
     if ((def = virDomainDefParseFile(caps, configFile,
                                      1 << VIR_DOMAIN_VIRT_LXC,
-                                     VIR_DOMAIN_XML_INACTIVE)) == NULL)
+                                     0)) == NULL)
         goto cleanup;
 
     if (def->nnets != nveths) {
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 7e7affd..ffdd4ac 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -1955,17 +1955,15 @@ static int lxcVmStart(virConnectPtr conn,
         lxcProcessAutoDestroyAdd(driver, vm, conn) < 0)
         goto error;
 
-    /*
-     * Again, need to save the live configuration, because the function
-     * requires vm->def->id != -1 to save tty info surely.
-     */
-    if (virDomainSaveConfig(driver->stateDir, vm->def) < 0)
-        goto error;
-
     if (virDomainObjSetDefTransient(driver->caps, vm, false) < 0)
         goto error;
 
-    /* Write domain status to disk. */
+    /* Write domain status to disk.
+     *
+     * XXX: Earlier we wrote the plain "live" domain XML to this
+     * location for the benefit of libvirt_lxc. We're now overwriting
+     * it with the live status XML instead. This is a (currently
+     * harmless) inconsistency we should fix one day */
     if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0)
         goto error;
 
-- 
1.7.10

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]