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