.. This work is licensed under a Creative Commons Attribution 3.0 Unported License. https://creativecommons.org/licenses/by/3.0/legalcode .. ========================================== Creation of the python-freezerclient repo ========================================== Include the URL of your launchpad blueprint: * https://blueprints.launchpad.net/freezer/+spec/freezerclient 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 ---------- 1) Create the python-freezerclient repo on openstack-infra/project-config 2) Move freezer/freezer/apiclient to the python-freezerclient repo 3) Change the naming convention and imports from apiclient to freezerclient within the apiclient 4) Change the naming convention, import and deps on the freezer-scheduler and freezer-web-ui 5) Create a pypi packge called python-freezerclient 6) Add the code to extract the information from the object media in case the freezer api are not avaialble (most probably a separated item).