On Fri, Apr 13, 2018 at 6:54 PM, fsoyer <fsoyer@systea.fr> wrote:
This task is listed (since 2 days) in the GUI / up right "tasks" icon. It is visibly freezed as no OVA file has been created, but no errors in GUI, just... it runs. Or : it loops :)
This (test) vm is one on which I have extended the disk (50 -> 100G). Before being stopped and trying to export it to OVA, it works fine. All other vms around can be well exported but not this one. I've tried to restart engine, change SPM, restart one by one each node, but the task is always here. I could even restart the vm today without error and it works fine ! But... the task runs...
Today also, I tried to clone the vm : same thing, now I have 2 tasks running indefinitly :( 

Strange bug, where no timeout stopped the tasks in error. I can't see any revelant things in engine.log or vdsm.log, but probably I've not seen them in all the messages.
No problem to remove this (test) vm and try on another (test) one (extend disk to see if this is the reason of the problem). But before I want to kill this tasks !

Please don't remove that VM yet.
It would be appreciated if you could file a bug and share the engine log that covers the attempt to export this VM to OVA + the ansible log of that operation.



Le Vendredi, Avril 13, 2018 16:24 CEST, Arik Hadas <ahadas@redhat.com> a écrit:
On Fri, Apr 13, 2018 at 11:14 AM, fsoyer <fsoyer@systea.fr> wrote:
Hi all,
I can't find any exhaustive doc for new vdsm-client. My problem actually is a task (export a vm to OVA) blocked.
I'm afraid you won't find any task in VDSM for 'export a VM to OVA'.
Expoting a VM to OVA is comprised of three steps:
1. Creating temporary cloned disks - you'll find a task of copy-image-group for each disk.
2. Creating the OVA file - that's done by a python script executed by ansible, there is no task for that in VDSM.
3. Removing the temporary cloned disks - you'll find a task of remove-image for each disk.
Can you please elaborate on the problem you're having - where do you see that task and how can you see that it's blocked?
I found that I can interact with
vdsm-client Task getInfo taskID=<uuid>, and replace getInfo by "stop", BUT : how can I find this UUID ???
Old "vdsClient -s 0 getAllTasksStatuses" has no equivalent ??

Does someone knows if a complete doc exists dot vdsm-client ?


Le Mercredi, Janvier 25, 2017 12:30 CET, Irit Goihman <igoihman@redhat.com> a écrit:
Hi All,
vdsClient will be removed from master branch today.
It is using XMLRPC protocol which has been deprecated and replaced by JSON-RPC.
A new client for vdsm was introduced in 4.1: vdsm-client.
This is a simple client that uses JSON-RPC protocol which was introduced in ovirt 3.5.
The client is not aware of the available methods and parameters, and you should consult 
the schema [1] in order to construct the desired command.
Future version should parse the schema and provide online help.
If you're using vdsClient, we will be happy to assist you in migrating to the new vdsm client.
vdsm-client usage:
vdsm-client [-h] [-a ADDRESS] [-p PORT] [--unsecure] [--timeout TIMEOUT]
                   [-f FILE] namespace method [name=value [name=value] ...]
Invoking simple methods:
# vdsm-client Host getVMList
For invoking methods with many or complex parameters, you can read the parameters from a JSON format file:
# vdsm-client Lease info -f lease.json
where lease.json file content is:
          "lease": {                                                               
              "sd_id": "75ab40e3-06b1-4a54-a825-2df7a40b93b2",                     
              "lease_id": "b3f6fa00-b315-4ad4-8108-f73da817b5c5"                   
It is also possible to read parameters from standard input, creating complex parameters interactively:
# cat <<EOF | vdsm-client Lease info -f -                                    
         "lease": {                                                               
             "sd_id": "75ab40e3-06b1-4a54-a825-2df7a40b93b2",                     
             "lease_id": "b3f6fa00-b315-4ad4-8108-f73da817b5c5"                   
Constructing a command from vdsm schema:
Let's take VM.getStats as an example.
This is the entry in the schema:
    added: '3.1'                                                                
    description: Get statistics about a running virtual machine.                
    -   description: The UUID of the VM                                         
        name: vmID                                                              
        type: *UUID                                                             
        description: An array containing a single VmStats record                
        - *VmStats                                                              
namespace: VM
method name: getStats
params: vmID
The vdsm-client command is:
# vdsm-client VM getStats vmID=b3f6fa00-b315-4ad4-8108-f73da817b5c5
Invoking getVdsCaps command:
# vdsm-client Host getCapabilities
Please consult vdsm-client help and man page for further details and options.
Irit Goihman
Software Engineer
Red Hat Israel Ltd.

Users mailing list