Ask Your Question
0

new vm request handling

asked 2019-03-22 10:22:15 -0500

sanjay khuntia gravatar image

updated 2019-03-25 08:59:21 -0500

Hi All, Anyone please give some pointers where the new vm/instance creation request is processed after initiated from Horizon UI in Nova? I want to modify the request queue based on my logic if it works. Please let me know where in source files it is processed.

thanks for your reply

Thank you Bernd Bausch for your reply. I was going through this link (may be not updated for current nova openstack version, but it gives overall call flows) https://www.linuxtechi.com/step-by-step-instance-creation-flow-in-openstack/ where in step 6 it mentions nova-scheduler picks the request from queue for allocating host for the new instance before doing the filtering and weighing functions.

I want to check the portion of that code where scheduler receives this request and then handles it for further processing like filtering, weighting etc. Whether this request comes to scheduler sequentially from nova-api through any request queue (which I assume now since I am not much familiar with openstack code base)?

Can you please point out those portion of source files in nova. (I might be wrong - whether it is nova/scheduler/ host_manager.py or manager.py)

Thank you for your valuable replies.

edit retag flag offensive close merge delete

Comments

I moved your clarification from an answer to your question and updated my answer.

Bernd Bausch gravatar imageBernd Bausch ( 2019-03-25 08:59:29 -0500 )edit

1 answer

Sort by » oldest newest most voted
0

answered 2019-03-23 03:55:17 -0500

updated 2019-03-25 20:25:49 -0500

Horizon makes an API request, which is received by the nova-api server. Instance creation in the nova-api server starts here: https://git.openstack.org/cgit/openst... (Rocky release).

“queue” is the message queue that all OpenStack services use for internal communication. All Nova components, like api, scheduler, compute, communicate via an AMQP message system. Same for all Cinder components, Neutron components etc. The most popular AMQP implementation in OpenStack is RabbitMQ, but there are alternatives.

I suggest you first obtain a better idea of the OpenStack and the Nova architecture. A few resources:

Unfortunately I don’t know the location in the scheduler’s source where it picks messages from the queue and don’t have the time to find out. Generally though, VM creation is handled by the conductor, which communicates with the scheduler, compute, Neutron and optionally Cinder to get the instance off the ground. It’s a complex process.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2019-03-22 10:22:15 -0500

Seen: 66 times

Last updated: Mar 25