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.
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.