Openstack Nova Internals of instance launching


  • Api Server : Handle request from user and relays them to cloud controller
  • Cloud Controller : Handles the communication between the compute nodes,the networking controller , api sever and scheduler.
  • Scheduler : Select a host to run a command
  • Compute Worker : managing compute instances,launch or terminate instance, attach or detach volumes.
  • Network Controller : manages networking resources,allocated fix IP addresses, configure VLANs.


Flow of launching an Instance

  • Api Server receives a run_instance command from the user.
  • The Api server relays the message to the cloud controller.
  • Authentication is performed to make sure this user has required permissions.
  • If user is authenticated, cloud controller sends the message to the scheduler.
  • Scheduler cast the message to random host and ask him to run a new instance.
  • The compute worker on the host grabs the message.
  • The compute worker needs a fixed ip to launch a new instance  so it sends the message to network controller i.e. (5,6,7,8) steps


Compute

  • Compute worker receives the message and run_instance() method is called.
  • run_instance()  does the following things:
Check if instance is already running
allocate a fixed ip address
setup VLAN and bridge if not already setup
spawn the instance using virtualization driver.



Made with Slides.com