On 17.03.22 13:16, Daniel Tschlatscher wrote:
> Signed-off-by: Daniel Tschlatscher <d.tschlatsc...@proxmox.com>
> ---
> Fixed indentation and trailing whitespace
>  src/PVE/API2/LXC/Status.pm | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PVE/API2/LXC/Status.pm b/src/PVE/API2/LXC/Status.pm
> index f7e3128..d4e0b66 100644
> --- a/src/PVE/API2/LXC/Status.pm
> +++ b/src/PVE/API2/LXC/Status.pm
> @@ -238,7 +238,11 @@ __PACKAGE__->register_method({
>       raise_param_exc({ skiplock => "Only root may use this option." })
>           if $skiplock && $authuser ne 'root@pam';
>  
> -     die "CT $vmid not running\n" if !PVE::LXC::check_running($vmid);
> +     # Containers that are already stopped should exit with code 0, like VMs 
> do
> +     if (!PVE::LXC::check_running($vmid)) {
> +         print "CT $vmid not running\n";
> +         exit 0;

for the record (just talked off-list): this is the API code path that the CLI
handler only reuses, and while for the CLI use case a print STDOUT + exit can
be OK, it means a broken connection and existing an API worker process
potentially impacting other API requests that said worker process could handle
concurrently.

FYI, qemu-server does actually the same (die "already running") but there it
happens inside the worker there, which for the CLI means basically above 
behavior
while the API gets a error task result.

> +     }
>  
>       if (PVE::HA::Config::vm_is_ha_managed($vmid) && $rpcenv->{type} ne 
> 'ha') {
>  



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to