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

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!
主站蜘蛛池模板: 东港市| 新竹市| 台中县| 德江县| 滨海县| 浏阳市| 石景山区| 永吉县| 郸城县| 长武县| 兴山县| 公安县| 贵港市| 日土县| 辉县市| 吉林市| 玛沁县| 揭西县| 沅江市| 桐柏县| 荥阳市| 平乡县| 普宁市| 汽车| 北海市| 勐海县| 长治市| 临高县| 伊金霍洛旗| 阳信县| 贵南县| 龙山县| 临泽县| 新余市| 大荔县| 吕梁市| 长岛县| 马关县| 梓潼县| 奎屯市| 桦甸市|