Graduate fileutils to oslo.utils and oslo.policy
Create a specification for graduating fileutils and it's tests to oslo.utils and oslo.policy. Change-Id: I52424202285c28c672651cb6f17256f6aa609b58
This commit is contained in:
parent
c3d46b37e2
commit
a64151fd55
170
specs/liberty/graduate-fileutils.rst
Normal file
170
specs/liberty/graduate-fileutils.rst
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
..
|
||||||
|
This template should be in ReSTructured text. For help with syntax,
|
||||||
|
see http://sphinx-doc.org/rest.html
|
||||||
|
|
||||||
|
To test out your formatting, build the docs using tox, or see:
|
||||||
|
http://rst.ninjs.org
|
||||||
|
|
||||||
|
The filename in the git repository should match the launchpad URL,
|
||||||
|
for example a URL of
|
||||||
|
https://blueprints.launchpad.net/oslo?searchtext=awesome-thing should be
|
||||||
|
named awesome-thing.rst.
|
||||||
|
|
||||||
|
Wrap text at 79 columns.
|
||||||
|
|
||||||
|
Do not delete any of the sections in this template. If you have
|
||||||
|
nothing to say for a whole section, just write: None
|
||||||
|
|
||||||
|
If you would like to provide a diagram with your spec, ascii diagrams are
|
||||||
|
required. http://asciiflow.com/ is a very nice tool to assist with making
|
||||||
|
ascii diagrams. The reason for this is that the tool used to review specs is
|
||||||
|
based purely on plain text. Plain text will allow review to proceed without
|
||||||
|
having to look at additional files which can not be viewed in gerrit. It
|
||||||
|
will also allow inline feedback on the diagram itself.
|
||||||
|
|
||||||
|
======================
|
||||||
|
Graduating fileutils
|
||||||
|
======================
|
||||||
|
|
||||||
|
blueprint: https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-oslo-io
|
||||||
|
|
||||||
|
summary: move the fileutils code (and associated tests) into oslo.utils
|
||||||
|
|
||||||
|
Library Name
|
||||||
|
============
|
||||||
|
|
||||||
|
oslo.utils and oslo.policy
|
||||||
|
|
||||||
|
Contents
|
||||||
|
========
|
||||||
|
|
||||||
|
* openstack/common/fileutils.py
|
||||||
|
* tests/unit/test_fileutils.py
|
||||||
|
|
||||||
|
Early Adopters
|
||||||
|
==============
|
||||||
|
|
||||||
|
* keystone
|
||||||
|
|
||||||
|
Public API
|
||||||
|
==========
|
||||||
|
|
||||||
|
fileutils.py has only 7 functions and 1 global. Their usage, and
|
||||||
|
graduation plan will be broken down below.
|
||||||
|
|
||||||
|
1. ensure_tree()
|
||||||
|
|
||||||
|
* used by nova/cinder/ironic
|
||||||
|
* to be added to oslo.utils
|
||||||
|
|
||||||
|
2. delete_if_exists()
|
||||||
|
|
||||||
|
* used extensively in nova and cinder and a bit in neutron
|
||||||
|
* to be added to oslo.utils
|
||||||
|
|
||||||
|
3. remove_path_on_error()
|
||||||
|
|
||||||
|
* used by nova/cinder/ironic
|
||||||
|
* to be added to oslo.utils
|
||||||
|
|
||||||
|
4. write_to_tempfile()
|
||||||
|
|
||||||
|
* used sparingly in keystone and ceilometer (tests only)
|
||||||
|
* consider deprecation
|
||||||
|
|
||||||
|
5. file_open
|
||||||
|
|
||||||
|
* used extensively in cinder
|
||||||
|
* can be replaced with just an open() call
|
||||||
|
* consider deprecation
|
||||||
|
|
||||||
|
6. read_cached_file()
|
||||||
|
|
||||||
|
* used only by nova's policy engine, and by oslo.policy
|
||||||
|
* can push both of these into oslo.policy and when/if nova switches to
|
||||||
|
oslo.policy, they will no longer require these functions.
|
||||||
|
|
||||||
|
7. delete_cached_file()
|
||||||
|
|
||||||
|
* same as above.
|
||||||
|
|
||||||
|
8. DEFAULT_MODE
|
||||||
|
|
||||||
|
* not being referred to, can be marked as private.
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Primary assignee:
|
||||||
|
Steve Martinelli (stevemar)
|
||||||
|
|
||||||
|
Primary Maintainer
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Primary Maintainer:
|
||||||
|
Steve Martinelli (stevemar)
|
||||||
|
|
||||||
|
Security Contact
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Security Contact:
|
||||||
|
Doug Hellmann (doug-hellmann)
|
||||||
|
|
||||||
|
Milestones
|
||||||
|
----------
|
||||||
|
|
||||||
|
Liberty-1
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
* https://wiki.openstack.org/wiki/Oslo/CreatingANewLibrary#Checklist
|
||||||
|
|
||||||
|
Adoption Notes
|
||||||
|
==============
|
||||||
|
|
||||||
|
Projects currently importing::
|
||||||
|
|
||||||
|
from openstack.common import fileutils
|
||||||
|
|
||||||
|
would have to switch to importing::
|
||||||
|
|
||||||
|
from oslo_utils import fileutils
|
||||||
|
|
||||||
|
if using::
|
||||||
|
|
||||||
|
fileutils.file_open()
|
||||||
|
|
||||||
|
switch to::
|
||||||
|
|
||||||
|
open()
|
||||||
|
|
||||||
|
if using::
|
||||||
|
|
||||||
|
fileutils.read_cached_file()
|
||||||
|
|
||||||
|
switch to::
|
||||||
|
|
||||||
|
oslo_policy
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
* https://etherpad.openstack.org/p/kilo-oslo-library-proposals
|
||||||
|
* WIP patch https://review.openstack.org/#/c/154975/
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0
|
||||||
|
Unported License.
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
Loading…
Reference in New Issue
Block a user