nova-compute
service
A worker daemon that creates and terminates virtual machine instances through hypervisor APIs. For example:
-
XenAPI for XenServer/XCP
-
libvirt for KVM or QEMU
-
VMwareAPI for VMware
Processing is fairly complex. Basically, the daemon accepts actions from the queue and performs a series of system commands such as launching a KVM instance and updating its state in the database.
The queue
A central hub for passing messages between daemons. Usually implemented with RabbitMQ, but can be implemented with an AMQP message queue, such as Apache Qpid or Zero MQ.