Adding reboot <domain> function for pHyp driver. --- src/phyp/phyp_driver.c | 35 ++++++++++++++++++++++++++++++++++- 1 files changed, 34 insertions(+), 1 deletions(-) diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c index bb0e0ac..228751d 100644 --- a/src/phyp/phyp_driver.c +++ b/src/phyp/phyp_driver.c @@ -3384,6 +3384,39 @@ cleanup: } static int +phypDomainReboot(virDomainPtr dom) +{ + int result = -1; + ConnectionData *connection_data = dom->conn->networkPrivateData; + virConnectPtr conn = dom->conn; + LIBSSH2_SESSION *session = connection_data->session; + phyp_driverPtr phyp_driver = conn->privateData; + int system_type = phyp_driver->system_type; + char *managed_system = phyp_driver->managed_system; + int exit_status = 0; + char *ret = NULL; + virBuffer buf = VIR_BUFFER_INITIALIZER; + + virBufferAddLit(&buf, "chsysstate"); + if (system_type == HMC) + virBufferVSprintf(&buf, " -m %s", managed_system); + virBufferVSprintf(&buf, + " -r lpar -o shutdown --id %d --immed --restart", + dom->id); + ret = phypExecBuffer(session, &buf, &exit_status, dom->conn, false); + + if (exit_status < 0) + goto cleanup; + + result = 0; + + cleanup: + VIR_FREE(ret); + + return result; +} + +static int phypDomainShutdown(virDomainPtr dom) { int result = -1; @@ -3707,7 +3740,7 @@ static virDriver phypDriver = { NULL, /* domainSuspend */ phypDomainResume, /* domainResume */ phypDomainShutdown, /* domainShutdown */ - NULL, /* domainReboot */ + phypDomainReboot, /* domainReboot */ phypDomainDestroy, /* domainDestroy */ NULL, /* domainGetOSType */ NULL, /* domainGetMaxMemory */ -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list