Dave Voutila <[email protected]> writes:

> Mike Larkin <[email protected]> writes:
>
>> On Mon, Aug 10, 2026 at 12:56:02PM +0200, ptr wrote:
>>> Hello,
>>>
>>> vmd in running but vmctl status is returning exit 1 if there are no
>>> VMs configured while vmd -n returns 0 and configuration OK (same on
>>> snapshot and 7.9). Is this intentional?
>>>
>>> Regards,PT
>>>
>>
>> probably really old code.
>>
>> dv, what do you think?
>
> `vmctl status` with no VMs defined in vm.conf or running doesn't make
> sense resulting in a non-zero exit. I'll take a look.

The question is what the correct behavior should be.  In its current
state, with no VMs configured it does:

7542 > vmctl status 
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER    STATE NAME
7543 > echo $?
1
7544 > vmctl status foo
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER    STATE NAME
7545 > echo $?          
1

But, with a VM configured

7548 > vmctl status                             
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER    STATE NAME
    1     -     1    1.0G       -       -         root  stopped scratchpad
7549 > echo $?
0
7550 > vmctl status foo
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER    STATE NAME
7551 > echo $?          
0
7552 > vmctl status scratchpad
   ID   PID VCPUS  MAXMEM  CURMEM     TTY        OWNER    STATE NAME
    1     -     1    1.0G       -       -         root  stopped scratchpad
7553 > echo $?                 
0

I have a fix ready for "no VMs configured", but the question is what the
return code should be when the name or ID doesn't exist.

With no VMs configured it returns 1 for a name or ID that doesn't exist.
But with VMs configured it appears to return 0 for all cases.

Correct, to me, seems: return 0 if nothing is configured, but 1 if
asking the status of a name or ID that doesn't exist.

Reply via email to