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

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!
主站蜘蛛池模板: 田东县| 深州市| 滨海县| 漠河县| 宾川县| 公安县| 廊坊市| 蒙山县| 乐陵市| 唐山市| 信宜市| 固镇县| 尉犁县| 沂水县| 准格尔旗| 赞皇县| 海阳市| 墨竹工卡县| 宁南县| 大城县| 鄂尔多斯市| 保靖县| 陆川县| 德格县| 宁乡县| 南部县| 六枝特区| 武安市| 南皮县| 叶城县| 城固县| 沐川县| 保康县| 开封市| 荔浦县| 建水县| 修武县| 泰兴市| 河间市| 定襄县| 嘉峪关市|