I am often catching error related with that stoped VM has ID = -1.
1. If I create/define VM with existing ID of stoped VM. Creation failed, but error message is wrong. Detection is fixed. 2. Dominfo command may show info about some another VM. And report error that can't get autostart state.
Current patch shoud fix problems.
Index: src/openvz_driver.c =================================================================== RCS file: /data/cvs/libvirt/src/openvz_driver.c,v retrieving revision 1.31 diff -u -p -r1.31 openvz_driver.c --- src/openvz_driver.c 16 Jul 2008 20:42:38 -0000 1.31 +++ src/openvz_driver.c 18 Jul 2008 14:41:44 -0000 @@ -289,7 +289,7 @@ static int openvzDomainGetInfo(virDomain static int openvzDomainShutdown(virDomainPtr dom) { struct openvz_driver *driver = (struct openvz_driver *)dom->conn->privateData; - struct openvz_vm *vm = openvzFindVMByID(driver, dom->id); + struct openvz_vm *vm = openvzFindVMByUUID(driver, dom->uuid); const char *prog[] = {VZCTL, "--quiet", "stop", vm->vmdef->name, NULL}; if (!vm) { @@ -321,7 +321,7 @@ static int openvzDomainShutdown(virDomai static int openvzDomainReboot(virDomainPtr dom, unsigned int flags ATTRIBUTE_UNUSED) { struct openvz_driver *driver = (struct openvz_driver *)dom->conn->privateData; - struct openvz_vm *vm = openvzFindVMByID(driver, dom->id); + struct openvz_vm *vm = openvzFindVMByUUID(driver, dom->uuid); const char *prog[] = {VZCTL, "--quiet", "restart", vm->vmdef->name, NULL}; if (!vm) { @@ -358,7 +358,7 @@ openvzDomainDefineXML(virConnectPtr conn if ((vmdef = openvzParseVMDef(conn, xml, NULL)) == NULL) return NULL; - vm = openvzFindVMByID(driver, strtoI(vmdef->name)); + vm = openvzFindVMByName(driver, vmdef->name); if (vm) { openvzLog(OPENVZ_ERR, _("Already an OPENVZ VM active with the id '%s'"), vmdef->name); @@ -404,7 +404,7 @@ openvzDomainCreateLinux(virConnectPtr co if (!(vmdef = openvzParseVMDef(conn, xml, NULL))) return NULL; - vm = openvzFindVMByID(driver, strtoI(vmdef->name)); + vm = openvzFindVMByName(driver, vmdef->name); if (vm) { openvzFreeVMDef(vmdef); openvzLog(OPENVZ_ERR, @@ -547,7 +547,7 @@ openvzDomainGetAutostart(virDomainPtr do return -1; } - if (openvzReadConfigParam(vm->vpsid , "ONBOOT", value, sizeof(value)) < 0) { + if (openvzReadConfigParam(strtoI(vm->vmdef->name), "ONBOOT", value, sizeof(value)) < 0) { openvzError(conn, VIR_ERR_INTERNAL_ERROR, _("Cound not read container config")); return -1; }
-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list