OpenStack client packages have a long history. It begins in November 2009 when Rackspace Cloud Servers package started. It provided a Python API (the cloudservers module) and a command-line script (cloudservers). Initially, the script was just a stub, but it became a useful CLI utility able to launch, stop, and resize virtual machines.
cloudservers package introduced a library architecture that is used till now. All entities can be split into five groups.
- Resources, e.g., a flavor, a server, or an image. Technically, a resource is a Python object and its class is a descendant of the
Resource
class. - Managers – they provide operations on resources, for example, “list all flavors” or “delete an image”. So, we have a flavor manager, an image manager, and so on. As you may guess, manager’s classes are descendants of the
Manager
class. - HTTP client provides a convenient interface for managers that send…
View original post 895 more words