public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH common/qemu-server/manager v4] fix #3502: VM start timeout config parameter
Date: Thu,  5 Jan 2023 11:08:31 +0100	[thread overview]
Message-ID: <20230105100837.195520-1-d.tschlatscher@proxmox.com> (raw)

This patch series adds a an option to specify a timeout value in the
config for starting VMs.
The minimum is 0 seconds, which disables the timeout completely. The
maximum is 86400 seconds, equivalent to 1 day.

The timeout value can also be passed via the CLI, which always
overrides the setting. If no value for timeout is passed, the timeout
will either be read from the config, or if unavailable, chosen
heuristically like before, with a default of 30 seconds in most cases.

For this, a new property string called "startoptions" is added.
Currently only the VM start timeout is configurable with it.


Changes from v3
* Minor code cleanup
* Addressed an edge case concerning the killing of a lingering VM to
  not accidentally kill an unrelated process

Thanks to Fabian for the review and suggestions!


pve-common:

Daniel Tschlatscher (1):
  VM start timeout config parameter

 src/PVE/JSONSchema.pm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

qemu-server:

Daniel Tschlatscher (4):
  expose VM start timeout config setting in API
  await and kill lingering KVM thread when VM start reaches timeout
  re-check if VM is running and PID for KILL after timeout
  make the timeout value editable when the VM is locked

 PVE/API2/Qemu.pm          | 27 ++++++++++++++++++++++++++
 PVE/QemuServer.pm         | 41 +++++++++++++++++++++++++++++++--------
 PVE/QemuServer/Helpers.pm |  4 ++++
 3 files changed, 64 insertions(+), 8 deletions(-)

pve-manager:

Daniel Tschlatscher (1):
  VM start Timeout "Options" parameter in the GUI

 www/manager6/qemu/Options.js | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

-- 
2.30.2





             reply	other threads:[~2023-01-05 10:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-05 10:08 Daniel Tschlatscher [this message]
2023-01-05 10:08 ` [pve-devel] [PATCH common v4 1/6] VM start timeout config parameter in backend Daniel Tschlatscher
2023-01-16 15:38   ` Thomas Lamprecht
2023-01-05 10:08 ` [pve-devel] [PATCH qemu-server v4 2/6] expose VM start timeout config setting in API Daniel Tschlatscher
2023-01-05 10:08 ` [pve-devel] [PATCH qemu-server v4 3/6] await and kill lingering KVM thread when VM start reaches timeout Daniel Tschlatscher
2023-01-05 10:08 ` [pve-devel] [PATCH qemu-server v4 4/6] re-check if VM is running and PID for KILL after timeout Daniel Tschlatscher
2023-01-05 10:08 ` [pve-devel] [PATCH qemu-server v4 5/6] make the timeout value editable when the VM is locked Daniel Tschlatscher
2023-01-05 10:08 ` [pve-devel] [PATCH manager v4 6/6] VM start Timeout "Options" parameter in the GUI Daniel Tschlatscher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230105100837.195520-1-d.tschlatscher@proxmox.com \
    --to=d.tschlatscher@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal