Search code examples
virtual-machineopenstackopenstack-swiftopenstack-cinder

Interaction between components in OpenStack


i am quite noobie about OpenStack components and role, and i am having trouble understanding how each component works and when they operate; Suppose that i have a certain image in my openStack storage and a client uses it and complete some operation(like saving files); how is the interaction between the components to perform this operation?( i would like to know how and which conponents work from the creation of volumes to the changements saved; Thank you very much.


Solution

  • Openstack follows Service Oriented Architecture. It uses WSGI and django framework. So, every component exposes few REST APIs.

    You can find these APIs in api folder. For example (https://github.com/openstack/cinder/tree/master/cinder/api).

    Internally, these API calls make call to manager. manager.py is the file which handles main logic. (https://github.com/openstack/cinder/blob/master/cinder/volume/manager.py).

    It calls underlying driver classes and co-ordinate with other openstack services through their APIs.