Change in vdsm[master]: vdsm: Reboot capability for VM
abaron at redhat.com
abaron at redhat.com
Mon Nov 11 12:09:27 UTC 2013
Ayal Baron has posted comments on this change.
Change subject: vdsm: Reboot capability for VM
......................................................................
Patch Set 28:
(8 comments)
....................................................
File vdsm/vm.py
Line 1734:
Line 1735: graceful_timeout = int(timeout)
Line 1736: agent_user_delay = int(delay)
Line 1737:
Line 1738: def checkSuccesfulShutdown():
why are all these methods internal to these method and not at class level? (you've already defined a separate class for this purpose, that sounds like a reason for moving these methods out
Line 1739: return vm.lastStatus == 'Down'
Line 1740:
Line 1741: def checkSuccesfulReboot():
Line 1742: return vm._rebootPerformed
Line 1743:
Line 1744: # Callbacks for Callback Chain
Line 1745:
Line 1746: def guestAgentShutdown(delay, message):
Line 1747: vm.guestAgent.desktopShutdown(delay, message, False)
if desktopShutdown fails immediately there is no point in proceeding
Line 1748: time.sleep(graceful_timeout + agent_user_delay)
Line 1749: return checkSuccesfulShutdown()
Line 1750:
Line 1751: def guestAgentReboot(delay, message):
Line 1744: # Callbacks for Callback Chain
Line 1745:
Line 1746: def guestAgentShutdown(delay, message):
Line 1747: vm.guestAgent.desktopShutdown(delay, message, False)
Line 1748: time.sleep(graceful_timeout + agent_user_delay)
s/time.sleep/utils.retry/
if you actually want to wait graceful_timeout then split this into:
time.sleep(graceful_timeout)
utils.retry(checkSuccessfulShutdown, timeout=agent_user_delay)
Line 1749: return checkSuccesfulShutdown()
Line 1750:
Line 1751: def guestAgentReboot(delay, message):
Line 1752: vm.guestAgent.desktopShutdown(delay, message, True)
Line 1749: return checkSuccesfulShutdown()
Line 1750:
Line 1751: def guestAgentReboot(delay, message):
Line 1752: vm.guestAgent.desktopShutdown(delay, message, True)
Line 1753: time.sleep(graceful_timeout + agent_user_delay)
same
Line 1754: return checkSuccesfulReboot()
Line 1755:
Line 1756: def qemuAgentShutdown():
Line 1757: try:
Line 1755:
Line 1756: def qemuAgentShutdown():
Line 1757: try:
Line 1758: vm._dom.shutdownFlags(libvirt.VIR_DOMAIN_SHUTDOWN_GUEST_AGENT)
Line 1759: time.sleep(graceful_timeout)
We should not support shutdown from 2 different guest agents. Choose one and support only it and get rid of the code of the other one.
Line 1760: except libvirt.libvirtError:
Line 1761: pass
Line 1762: return checkSuccesfulShutdown()
Line 1763:
Line 1763:
Line 1764: def qemuAgentReboot():
Line 1765: try:
Line 1766: vm._dom.reboot(libvirt.VIR_DOMAIN_REBOOT_GUEST_AGENT)
Line 1767: time.sleep(graceful_timeout)
same
Line 1768: except libvirt.libvirtError:
Line 1769: pass
Line 1770: return checkSuccesfulReboot()
Line 1771:
Line 1770: return checkSuccesfulReboot()
Line 1771:
Line 1772: def acpiShutdown():
Line 1773: vm._dom.shutdownFlags(libvirt.VIR_DOMAIN_SHUTDOWN_ACPI_POWER_BTN)
Line 1774: time.sleep(graceful_timeout)
same.
also graceful_timeout is wrong here (not applicable)
Line 1775: return checkSuccesfulShutdown()
Line 1776:
Line 1777: def acpiReboot():
Line 1778: vm._dom.reboot(libvirt.VIR_DOMAIN_REBOOT_ACPI_POWER_BTN)
Line 1775: return checkSuccesfulShutdown()
Line 1776:
Line 1777: def acpiReboot():
Line 1778: vm._dom.reboot(libvirt.VIR_DOMAIN_REBOOT_ACPI_POWER_BTN)
Line 1779: time.sleep(graceful_timeout)
same
Line 1780: return checkSuccesfulReboot()
Line 1781:
Line 1782: # End Callbacks
Line 1783:
--
To view, visit http://gerrit.ovirt.org/15829
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I12737e363a80679ffb1db55f14eaee158312d7da
Gerrit-PatchSet: 28
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Martin Betak <mbetak at redhat.com>
Gerrit-Reviewer: Antoni Segura Puimedon <asegurap at redhat.com>
Gerrit-Reviewer: Ayal Baron <abaron at redhat.com>
Gerrit-Reviewer: Better Saggi <bettersaggi at gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce at redhat.com>
Gerrit-Reviewer: Giuseppe Vallarelli <gvallare at redhat.com>
Gerrit-Reviewer: Martin Betak <mbetak at redhat.com>
Gerrit-Reviewer: Martin Polednik <mpoledni at redhat.com>
Gerrit-Reviewer: Martin Sivák <msivak at redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek at redhat.com>
Gerrit-Reviewer: Omer Frenkel <ofrenkel at redhat.com>
Gerrit-Reviewer: Peter V. Saveliev <peet at redhat.com>
Gerrit-Reviewer: Saggi Mizrahi <smizrahi at redhat.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeenstr at redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
More information about the vdsm-patches
mailing list