Creation of a python-freezerclient repo

Registered by Fausto Marzi

==========================================
 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) Add the code to extract the information from the object media in case the freezer api are not avaialble (most probably a separated item).

Blueprint information

Status:
Complete
Approver:
Fabrizio Fresco
Priority:
High
Drafter:
Fausto Marzi
Direction:
Approved
Assignee:
Fausto Marzi
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-3
Started by
Fausto Marzi
Completed by
Saad Zaher

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/specs,n,z

Addressed by: https://review.openstack.org/263776
    Blueprint specs for python-freezerclient repo

Gerrit topic: https://review.openstack.org/#q,topic:bp/freezerclient,n,z

Addressed by: https://review.openstack.org/356653
    Remove internal apiclient in favor of python-freezerclient

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.