On Wed, Jul 03, 2024 at 09:44:47AM +0200, Michal Prívozník wrote:
>> LIVE is not supported and thus shouldn't be in list of
supported flags.
>
> I was a bit unclear on the test hypervisor case - in a sense everything is both
> LIVE *and* CONFIG :)
I see what you mean, but no. The fact that libvirt doesn't really store
XMLs on disk for inactive domains doesn't necessarily mean there's no
distinction. The aim of test driver is to mimic real life scenarios as
closely as possible, so that when somebody is developing an app on top
of libvirt they can use the test driver instead of spawning real VMs and
thus test their app quickly. Therefore, the distinction between inactive
and live XMLs must be preserved.
I get the rationale, but now we're inconsistent with our previous contribution:
10247 static int
10248 testDomainAttachDeviceLiveAndConfig(virDomainObj *vm,
10249 testDriver *driver,
10250 const char *xml,
10251 unsigned int flags)
10252 {
10253 g_autoptr(virDomainDeviceDef) devLive = NULL;
10254 unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE |
10255 VIR_DOMAIN_DEF_PARSE_ABI_UPDATE;
10256
10257 virCheckFlags(VIR_DOMAIN_AFFECT_LIVE, -1);
Given that the test driver does not and cannot have a persisted configuration
(there is only the in-process ->vmdef), I'm confused why you made the new code
be:
10399 virCheckFlags(VIR_DOMAIN_AFFECT_CONFIG, -1);
in testDomainUpdateDeviceFlags().
For our application we actually do want to pass the LIVE flag - we never want to
modify any persistent configuration. We'd prefer not to have to carry a patch on
top for this.
regards
john