On reload, the libxl driver calls virDomainObjListLoadAllConfigs to load
all configs from /etc/libvirt/libxl/ but incorrectly passes 'true' for
the liveStatus parameter, resulting in error messages such as
libvirtd[21053]: XML error: unexpected root element <domain>, expecting <domstatus>
libvirtd[21053]: Failed to load config for domain 'sles15sp3'
Fix by not requesting live status when re-reading the persistent VM config
files.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
---
src/libxl/libxl_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 6a3938ead4..c5dbcaafa5 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -821,7 +821,7 @@ libxlStateReload(void)
virDomainObjListLoadAllConfigs(libxl_driver->domains,
cfg->configDir,
cfg->autostartDir,
- true,
+ false,
libxl_driver->xmlopt,
NULL, libxl_driver);
--
2.33.0
On 9/14/21 12:10 AM, Jim Fehlig wrote: > On reload, the libxl driver calls virDomainObjListLoadAllConfigs to load > all configs from /etc/libvirt/libxl/ but incorrectly passes 'true' for > the liveStatus parameter, resulting in error messages such as > > libvirtd[21053]: XML error: unexpected root element <domain>, expecting <domstatus> > libvirtd[21053]: Failed to load config for domain 'sles15sp3' > > Fix by not requesting live status when re-reading the persistent VM config > files. > > Signed-off-by: Jim Fehlig <jfehlig@suse.com> > --- > src/libxl/libxl_driver.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c > index 6a3938ead4..c5dbcaafa5 100644 > --- a/src/libxl/libxl_driver.c > +++ b/src/libxl/libxl_driver.c > @@ -821,7 +821,7 @@ libxlStateReload(void) > virDomainObjListLoadAllConfigs(libxl_driver->domains, > cfg->configDir, > cfg->autostartDir, > - true, > + false, > libxl_driver->xmlopt, > NULL, libxl_driver); > > Reviewed-by: Michal Privoznik <mprivozn@redhat.com> But I've noticed that on reload, below this hunk is a line that autostarts domains. This is a deviation from other drivers - should we autostart domains on daemon reload? Michal
On 9/14/21 04:23, Michal Prívozník wrote: > On 9/14/21 12:10 AM, Jim Fehlig wrote: >> On reload, the libxl driver calls virDomainObjListLoadAllConfigs to load >> all configs from /etc/libvirt/libxl/ but incorrectly passes 'true' for >> the liveStatus parameter, resulting in error messages such as >> >> libvirtd[21053]: XML error: unexpected root element <domain>, expecting <domstatus> >> libvirtd[21053]: Failed to load config for domain 'sles15sp3' >> >> Fix by not requesting live status when re-reading the persistent VM config >> files. >> >> Signed-off-by: Jim Fehlig <jfehlig@suse.com> >> --- >> src/libxl/libxl_driver.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c >> index 6a3938ead4..c5dbcaafa5 100644 >> --- a/src/libxl/libxl_driver.c >> +++ b/src/libxl/libxl_driver.c >> @@ -821,7 +821,7 @@ libxlStateReload(void) >> virDomainObjListLoadAllConfigs(libxl_driver->domains, >> cfg->configDir, >> cfg->autostartDir, >> - true, >> + false, >> libxl_driver->xmlopt, >> NULL, libxl_driver); >> >> > > Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Thanks! > But I've noticed that on reload, below this hunk is a line that > autostarts domains. This is a deviation from other drivers - should we > autostart domains on daemon reload? No, we shouldn't. It appears to be mistakenly added when libxlAutostartDomain was introduced in commit fb92307f0d. I'll send a followup patch to remove it. Regards, Jim
© 2016 - 2024 Red Hat, Inc.