1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-11 09:17:52 +03:00

parallels: apply config after VM creation

New VM will have default values for all parameters, like
cpu number, we have to change its configuration as provided
by xml definition, given to parallelsDomainDefineXML.

Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
This commit is contained in:
Dmitry Guryanov 2012-12-04 17:43:12 +04:00 committed by Daniel Veillard
parent b4f0c19eed
commit d5c4783c64

View File

@ -2013,20 +2013,6 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
if (dupVM == 1) {
olddom = virDomainFindByUUID(&privconn->domains, def->uuid);
if (parallelsApplyChanges(conn, olddom, def) < 0) {
virDomainObjUnlock(olddom);
goto cleanup;
}
virDomainObjUnlock(olddom);
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Can't allocate domobj"));
goto cleanup;
}
def = NULL;
} else {
if (STREQ(def->os.type, "hvm")) {
if (parallelsCreateVm(conn, def))
@ -2041,8 +2027,8 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
}
if (parallelsLoadDomains(privconn, def->name))
goto cleanup;
dom = virDomainFindByName(&privconn->domains, def->name);
if (!dom) {
olddom = virDomainFindByName(&privconn->domains, def->name);
if (!olddom) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Domain for '%s' is not defined after creation"),
def->name ? def->name : _("(unnamed)"));
@ -2050,6 +2036,21 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
}
}
if (parallelsApplyChanges(conn, olddom, def) < 0) {
virDomainObjUnlock(olddom);
goto cleanup;
}
virDomainObjUnlock(olddom);
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Can't allocate domobj"));
goto cleanup;
}
def = NULL;
ret = virGetDomain(conn, dom->def->name, dom->def->uuid);
if (ret)
ret->id = dom->def->id;