how rhev-m talks to vdsm ?

Latest response


Can somebody help me understand how the command flow (say for VM shutdown) is from "web browser" of  rhev-m to vdsm of the hypervisor ?

Is it

web browser <--> Java App <--> REST-API <--> TCP -54321 <--> vdsm <--> libvirt ??


When RHEV mentions RHEV-API, does it refer to REST API only ?


RHEVM-M exposes the web portals and the API for the users to access. Users can perform actions in those portals and in the API.

When an action is requested, RHEV-M will decide whether it needs to be done on a host, determine on which host it can be done, and talk to that host's vdsm daemon, requesting this action is performed. 

Then RHEV-M polls the host for the task status, until the action is finished, and updates the status in the GUI/API


Thanks Dan.

You said "When an action is requested,......" , I want to know is this action is the REST API ? or it is just a request to vdsm, and vdsm uses API to perform the task ?

you, as a user can ask RHEV-M to perform an "action". That can mean creating a storage domain, starting a VM, putting a host in maintenance mode... anything really.


You can request this "action" by pressing the right buttong in the webadmin GUI, or via the REST-API using a script - it's really the same thing.


When RHEV-M receives such a request from the user via the GUI or API, it will contact vdsm on the hosts and order them to do whatever is tasked



The REST API is an interface for the user to use to talk to RHEV-M.  RHEV-M will talk to VDSM using XML RPC over port 54321.


The general architecture can be seen in the upstream oVirt Engine presenations.  A recent one is linked here:


Slide 5 has a nice diagram of how it works.  



Thanks Mike and Dan.