Abrupt restart or unlock-in of child EE does not always work.

virDomainReset() does not always work.

Use virDomainDestroy() and virDomainCreate() instead.
---
 src/plm/plmd/plms_virt.cc | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/plm/plmd/plms_virt.cc b/src/plm/plmd/plms_virt.cc
index 2fd735ac0..0bf11e5a8 100644
--- a/src/plm/plmd/plms_virt.cc
+++ b/src/plm/plmd/plms_virt.cc
@@ -922,8 +922,20 @@ int PlmsVm::instantiate(virDomainPtr domain) {
 }
 
 int PlmsVm::restart(virDomainPtr domain) {
-  TRACE("calling virDomainReset to restart vm");
-  return virDomainReset(domain, 0);
+  TRACE("calling virDomainDestroy and virDomainCreate to restart vm");
+  int rc(-1);
+
+  do {
+    rc = virDomainDestroy(domain);
+
+    if (rc < 0) break;
+
+    rc = virDomainCreate(domain);
+
+    if (rc < 0) break;
+  } while (false);
+
+  return rc;
 }
 
 int PlmsVm::isolate(virDomainPtr domain) {
-- 
2.13.6


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to