官术网_书友最值得收藏!

OpenStack API communication

While the OpenStack service daemons rely on AMQP for communication among daemons within their specific service, the APIs are used both by OpenStack users wishing to create virtual resources and for service-to-service communication.

Figure 1.8: An example of API communication amongst OpenStack services

Envision a user sending a request to nova-api to boot an instance. In order to boot that server, quite a few internal API calls would need to take place. Let's look at an example sequence of API calls that would take place when booting a virtual machine instance.

An OpenStack user would first send a POST API call to the nova-api daemon with details about what sort of virtual machine they'd like. That message would get put on the AMQP message bus and consumed by the nova-scheduler daemon. The nova-scheduler daemon would then choose the best fit for the virtual machine using its scheduling algorithm. The nova-compute daemon residing on the compute node consumes this message. Before the server can be boot, the following must occur (see Figure 1.8):

  • (1): The nova-compute daemon sends an API request to Keystone to retrieve a scoped token.
  • (2): nova-compute gets back a 200 HTTP response along with a scoped token. Now nova-compute has a scoped token and can freely communicate with other OpenStack services.
  • (3): nova-compute now sends a request to neutron-server to verify whether the specified virtual network on which to boot the instance is available.
  • (4): nova-compute receives a response that the network is available and capable of attaching to the instance.
  • (5): nova-compute must then send an API call to glance-api to retrieve the operating system image.
  • (6): The glance-api responds back with the image that will reside on the compute node.

Now our instance will be booted! That was a lot of work!

Don't worry! You don't need to understand all the magic occurring behind the scenes in OpenStack to be successful on the exam. This is for educational purposes only!
主站蜘蛛池模板: 拜泉县| 滕州市| 百色市| 西吉县| 海兴县| 游戏| 肥城市| 博爱县| 万宁市| 宜章县| 绥宁县| 新丰县| 永丰县| 仙游县| 吉木乃县| 台南市| 林州市| 区。| 达尔| 易门县| 襄汾县| 山东省| 明溪县| 旬阳县| 宜春市| 波密县| 微博| 忻城县| 清水河县| 项城市| 古交市| 灵石县| 银川市| 日照市| 九寨沟县| 衡阳县| 广宗县| 尼木县| 高青县| 舞钢市| 蓬莱市|