Sie sind auf Seite 1von 2

Openstack instance creation workflow

Have you ever thought what might be happening in back end when we
create instance using CLI or Horizon dashboard ? From what components
the request pass through ? Or How it pass the data ? Here are basic 16
steps which openstack does when you create an instance.

1. End user using Horizon Dashboard or Openstack CLI get user


credentials and get authenticated by identity management service i.e.
Keystone via REST api.
2. Keystone authenticate user’s credentials and generate a auth-token.
And send auth-token back to client i.e. Dashboard or CLI. They save
this auth-token in cache and use it to for future api requests of
openstack components.
3. Now client convert instance creation request to REST API request
and send it to nova-api.
4. Nova-api service fetch the auth-token and get it validated from
keystone. It checks expiry of token and access permissions of user.
5. Once authenticated nova-api service checks conflict for entry in
nova-database. If no conflict it add a new entry in nova-database for
the instance. At this movement instance state is “build” state.
6. Now nova-api put the request in the queue for nova-scheduler.
7. nova-scheduler pick up the request from queue. It does its due
diligence to fetch hypervisor for instance according to resource
availability.
8. It update instance entry in nova-database with appropriate
hypervisor and hostname.
9. Now nova-scheduler sends the rpc.cast request to nova compute for
launching an instance on the appropriate host via queue.
10. nova-compute service on particular compute node get that
request from queue. And it send rpc.call request to nova-conductor
for instance details such as CPU, RAM, DISK, etc.
11. nova-conductor interact with nova-database to get details of
instance and send it back to nova-compute
12. After that nova-compute service interact with glance, neutron
and cinder api to get information about image, network and volume
respectively. It sends api request to glance-api to get image
information. Glance-api validate auth-token in request with keystone
and send image URI back to nova-compute.
13. It sends api request to neutron-api to get network information
and ip address for instance. Neutron-api validate auth-token in
request with keystone and send network information, ip address for
instance back to nova-compute.
14. it sends api request to cinder-api to get the volume
information. Cinder-api again validate auth-token and sends required
volume information back to nova-compute.
15. Now nova-compute generate request for hypervisor with all
the data gathered.
16. And finally instance is created on hypervisor. Once instance is
created on hypervisor instance state in database updated to active.
We can also see instance running in Horizon dashboard or using
nova list command from CLI.

Das könnte Ihnen auch gefallen