The OpenStack project is an open source cloud computing platform, which is simple to use and has all the useful features. The Manila project is one of the OpenStack projects. It is the shared file system service, that provides services to manage shared file systems in the multi-project cloud environment. It is used by enterprises and research institutes. Developers from around the world participate in developing this project. Each OpenStack project has its own mascot. Manila project’s mascot is zorilla.
With manila you can create a shared file system. For example, file shares can be created let’s say for Finance, Marketing and Operations. And let’s say there are 5 virtual machines, numbered from one to five. With manila, it is possible to give access to the virtual machine number 1 to Finance, 2 to Marketing and 3, 4, 5 to Operations file shares. So users didn’t have to login each time separately for Finance, separately for Marketing and Operations shares. So, manila is useful in a way, that it is possible to easily manage file shares in one place. Also, manage properties, controlling it’s visibilbility, whether it is visible to all projects and which projects can access the file shares, set limits, customize the shares, delete and edit.
Manila is a self-service project. It offers tools to customize and manage file shares. It can be managed through the command line (CLI) or dashboard (Manila UI). I’m working on the Manila UI component of the manila project. It is a more user friendly interface.
Manila has the functionality to extend and shrink sizes of file shares. But this feature is implemented on the Manila UI partially. It allows only to extend file shares, but not shrink. I’m working on a full share resize feature. I decided to rework current extend code and implemented logic, that if the new size provided by the user is greater then original size it share size will extend, if opposite share will shrink. And tested on DevStack, this development environment for OpenStack projects. I have a post on how to install and start working on it.
While working on this project I learned how manila components interact with each other. Also, learned more about different Openstack Projects, specifically more about Horizon. It is a web-based graphical interface that cloud administrators and users can access to manage OpenStack services. Also, while researching the code and thinking about how to implement the resize feature I learned the ways to code, coding practices and debugging the code.
Some useful links for beginning contributors: