Request Flow for Provisioning Instance in Openstack – popsuper1982, openstack hypervisor.#Openstack #hypervisor


DC/OS 数据中心操作系统

Openstack hypervisor

One of the most important use-case in any cloud is provisioning a VM . In this article we shall do a walk through about an instance(VM) being provisioned in a Openstack based cloud. This article deals with the request flow and the component interaction of various projects under Openstack. The end result will be booting up a VM.

Provisioning a new instance involves the interaction between multiple components inside OpenStack :

  • CLI Command Line Interpreter for submitting commands to OpenStack Compute.
  • Dashboard (“Horizon”) provides the interface for all the OpenStack services.
  • Compute (“Nova”) retrieves virtual disks images(“Glance”) , attach flavor and associated metadata and transforms end user API requests into running instances.
  • Network (“Quantum”) provides virtual networking for Compute which allows users to create their own networks and then link them to the instances.
  • Block Storage (“Cinder”) provides persistent storage volumes for Compute instances.
  • Image (“Glance”) can store the actual virtual disk files in the Image Store.
  • Identity (“Keystone”) provides authentication and authorization for all OpenStack services.
  • Message Queue(“RabbitMQ”) handles the internal communication within Openstack components such as Nova , Quantum and Cinder.

The request flow for provisioning an Instance goes like this:

  1. Dashboard or CLI gets the user credential and does the REST call to Keystone for authentication.
  2. Keystone authenticate the credentials and generate send back auth-token which will be used for sending request to other Components through REST-call.
  3. Dashboard or CLI convert the new instance request specified in ‘launch instance’ or ‘nova-boot’ form to REST API request and send it to nova-api.
  4. nova-api receive the request and sends the request for validation auth-token and access permission to keystone.
  5. Keystone validates the token and sends updated auth headers with roles and permissions.
  6. nova-api interacts with nova-database.
  7. Creates initial db entry for new instance.
  8. nova-api sends the request to nova-scheduler excepting to get updated instance entry with host ID specified.
  9. nova-scheduler picks the request from the queue.
  10. nova-scheduler interacts with nova-database to find an appropriate host via filtering and weighing.
  11. Returns the updated instance entry with appropriate host ID after filtering and weighing.
  12. nova-scheduler sends the rpc.cast request to nova-compute for ‘launching instance’ on appropriate host .
  13. nova-compute picks the request from the queue.
  14. nova-compute send the request to nova-conductor to fetch the instance information such as host ID and flavor( Ram , CPU ,Disk).
  15. nova-conductor picks the request from the queue.
  16. nova-conductor interacts with nova-database.
  17. Return the instance information.
  18. nova-compute picks the instance information from the queue.
  19. nova-compute does the REST call by passing auth-token to glance-api to get the Image URI by Image ID from glance and upload image from image storage.
  20. glance-api validates the auth-token with keystone.
  21. nova-compute get the image metadata.
  22. nova-compute does the REST-call by passing auth-token to Network API to allocate and configure the network such that instance gets the IP address.
  23. quantum-server validates the auth-token with keystone.
  24. nova-compute get the network info.
  25. nova-compute does the REST call by passing auth-token to Volume API to attach volumes to instance.
  26. cinder-api validates the auth-token with keystone.
  27. nova-compute gets the block storage info.
  28. nova-compute generates data for hypervisor driver and executes request on Hypervisor( via libvirt or api).

The table represents the Instance state at various steps during the provisioning :

Openstack hypervisor

Formation Private Cloud, mise en oeuvre avec OpenStack #private #cloud #openstack


Formation Cloud Computing

Formation Private Cloud, mise en oeuvre avec OpenStack

Ce cours vous permettra de dпїЅcouvrir le concept de Cloud privпїЅ et de le mettre en oeuvre пїЅ travers la solution libre OpenStack. A la fin du cours, vous connaпїЅtrez les diffпїЅrentes briques d’OpenStack et serez пїЅ mпїЅme d’installer et d’administrer le Cloud, notamment le stockage, la redondance et le rпїЅseau virtuel.

Objectifs pпїЅdagogiques

  • Comprendre les concepts clпїЅs et las bases techniques d’un Cloud privпїЅ
  • Concevoir un Cloud privпїЅ avec OpenStack
  • MaпїЅtriser les mпїЅthodes d’installation d’un Cloud privпїЅ
  • Savoir administrer un cloud privпїЅ


Conception d’un Cloud OpenStack

  • Apports et spпїЅcificitпїЅs d’un Cloud. Type de Clouds. Saas, Paas, Iaas, publics, privпїЅs.
  • Le projet OpenStack. Organisation et structure.
  • Architecture de la plateforme. Vue d’ensemble des diffпїЅrentes briques.
  • MпїЅthodes d’installation.

Travaux pratiques
Comparaison et sпїЅlection d’une mпїЅthode d’installation et installation.

Gestion des machines virtuelles

  • PrпїЅsentation de la brique Nova. Mise en oeuvre et configuration.
  • Gestion des images et des instances. Gestion du rпїЅseau virtuel.
  • Gestion d’hyperviseurs multiples (Hyper-V, ESXi, KVM).

Travaux pratiques
CrпїЅation d’une machine virtuelle depuis Nova.

Gestion du stockage

  • Vue d’ensemble de Swift.
  • Mise en oeuvre et configuration.
  • Gestion des pools de stockage.
  • Mise en oeuvre du stockage en mode bloc avec Cinder.
  • Backend supportпїЅs par Cinder.

Travaux pratiques
Gestion du stockage avec Cinder.

Gestion des images

  • Qu’est-ce qu’une image ?
  • La brique de gestion des images Glance.
  • CrпїЅation de la base de donnпїЅes. Mise en oeuvre et configuration.
  • Gestion du stockage des images. La gestion des images EC2 (AMI).

Travaux pratiques
CrпїЅer et configurer des images.

Gestion du rпїЅseau

  • Vue d’ensemble de la brique Quantum.
  • Switchs virtuels avec Openvswitch.
  • Topologies de rпїЅseau Cloud.
  • Daemon de routage (L3).
  • Mise en oeuvre et configuration.

Travaux pratiques
CrпїЅer et configurer un rпїЅseau virtuel.

Authentification et autorisations

  • PrпїЅsentation de la brique Keystone.
  • PrпїЅparation de la base SQL.
  • CrпїЅation des utilisateurs, projets et rпїЅles.
  • Mise en oeuvre et configuration.
  • Configuration des utilisateurs, projets et rпїЅles.

Travaux pratiques
Gestion des utilisateurs et des services.

Administration du Cloud

  • Vue d’ensemble du client Web Horizon.
  • Automatisation avec l’API REST.
  • PrпїЅsentation des API Amazon EC2et S3.
  • Automatisation du Cloud avec Cloud-init et Puppet.

Travaux pratiques
Administration d’OpenStack depuis Horizon. Utilisation de Cloud-init et Puppet.