Implements blueprint: freezerclient Change-Id: If769508199c6ab368e9a83cdde24bfa3a7ae72f6
2.6 KiB
Creation of the python-freezerclient repo
Include the URL of your launchpad blueprint:
Freezer needs to align to the other Openstack projects and have a dedicated repo/client to communicate with the API and the storage media.
Problem description
Currently the related freezer code to talk to the API and query the storage media is hosted in the openstack/freezer repo.
We would like to follow the same convention/organization as other OpenStack projects and place the code on a dedicated repo, hoping also to reduce complexity and increase readability.
Proposed change
Split the code and placing it in a new dedicated repo. Currently some code related code (i.e. list backups, registered clients, etc) is located in the scheduler code in the openstack/freezer repo. The following code most likely needs to be moved to the new openstack/python-freezerclient repo:
- freezer/freezer/apiclient
- apiclient needs to be renamed to freezerclient
- apiclient is used by the scheduler (freezer/freezer/scheduler) and by the web ui
-
We need to make sure the namespace change, module import and dependancies are reflected also in the scheduler and the web ui
python-freezerclient responsibilities
- Retrieve and display nicely metadata information, metrics and stats, from the freezer-api
- Retrieve and display nicely metadata information, metrics and stats from the storage media (i.e. swift)
- Perform basic maintenance instruction like remove old backups
Projects
List the projects that this spec effects. (for now only Freezer) For example:
- openstack/freezer
- openstack/freezer-web-ui
- openstack/freezer-api
- openstack/python-freezerclient
Implementation
Milestones
- Target Milestone for completion:
-
Mitaka-2
Work Items
- Create the python-freezerclient repo on openstack-infra/project-config
- Move freezer/freezer/apiclient to the python-freezerclient repo
- Change the naming convention and imports from apiclient to freezerclient within the apiclient
- Change the naming convention, import and deps on the freezer-scheduler and freezer-web-ui
- Create a pypi packge called python-freezerclient
- Add the code to extract the information from the object media in case the freezer api are not avaialble (most probably a separated item).