Remove Copies of Incubated Oslo Code¶
The Oslo team has moved all previously incubated code from the
openstack/oslo-incubator
repository into separate library
repositories and released those libraries to the Python Package
Index. Many of our official project teams are still using the old,
unsupported, incubated versions of the code. The Oslo team has been
working to remove that incubated code from projects, and the time has
come to finish that work.
Gerrit Topic¶
To facilitate tracking, commits related to this goal should use the gerrit topic:
goal-remove-incubated-oslo-code
Completion Criteria¶
For all projects:
The project correctly declares dependencies for all Oslo libraries replacing the incubated version of older Oslo code.
The project no longer contains copies of the graduated code.
Any
openstack/common
directories are removed.
For projects using the apiclient
module, which was deprecated by
the Oslo team:
The copy of
apiclient
from theopenstack/common
module has been moved to a new location within the code base so thatopenstack/common
can be deleted.
References¶
Reference documentation for the existing Oslo libraries: http://docs.openstack.org/developer/openstack-projects.html
Links to the Oslo specs covering graduation for various modules (useful for identifying which library a module moved to, and for finding “porting notes” written at the time of graduation): http://specs.openstack.org/openstack/oslo-specs/
Current State / Anticipated Impact¶
On 5 Aug 2016 a review of git repositories owned by official projects showed:
$ for r in $(list-repos ); do
[ -d ~/repos/$r ] &&
(cd ~/repos/$r; [ -d */openstack/common ] &&
(echo $r; ls */openstack/common; echo )
); done
openstack-dev/heat-cfnclient
exception.py
gettextutils.py
importutils.py
__init__.py
jsonutils.py
local.py
log.py
timeutils.py
openstack-infra/python-storyboardclient
apiclient
_i18n.py
__init__.py
local.py
log.py
uuidutils.py
openstack-infra/storyboard
fileutils.py
fixture
gettextutils.py
__init__.py
jsonutils.py
local.py
lockutils.py
processutils.py
py3kcompat
openstack/castellan
fileutils.py
_i18n.py
__init__.py
local.py
openstack/designate
__init__.py
memorycache.py
openstack/heat
crypto
_i18n.py
__init__.py
README
openstack/python-ceilometerclient
apiclient
_i18n.py
__init__.py
openstack/python-cinderclient
apiclient
__init__.py
openstack/python-cloudkittyclient
apiclient
cliutils.py
__init__.py
openstack/python-congressclient
apiclient
gettextutils.py
__init__.py
openstack/python-glanceclient
apiclient
_i18n.py
__init__.py
openstack/python-heatclient
apiclient
cliutils.py
_i18n.py
__init__.py
openstack/python-manilaclient
apiclient
cliutils.py
_i18n.py
__init__.py
uuidutils.py
openstack/python-mistralclient
apiclient
cliutils.py
gettextutils.py
importutils.py
__init__.py
strutils.py
uuidutils.py
openstack/python-monascaclient
apiclient
gettextutils.py
__init__.py
py3kcompat
openstack/python-muranoclient
apiclient
__init__.py
openstack/python-saharaclient
apiclient
cliutils.py
_i18n.py
__init__.py
openstack/python-searchlightclient
apiclient
cliutils.py
_i18n.py
__init__.py
openstack/python-smaugclient
apiclient
__init__.py
openstack/python-solumclient
apiclient
cliutils.py
gettextutils.py
importutils.py
__init__.py
strutils.py
uuidutils.py
openstack/python-troveclient
apiclient
__init__.py
openstack/solum
excutils.py
fileutils.py
fixture
gettextutils.py
importutils.py
__init__.py
local.py
lockutils.py
log.py
strutils.py
uuidutils.py
openstack/solum-infra-guestagent
config
gettextutils.py
importutils.py
__init__.py
jsonutils.py
local.py
log.py
strutils.py
timeutils.py
Project Teams¶
Chef OpenStack¶
The Chef cookbooks do not use any Python code directly, they consume upstream packages, and thus are not affected by this goal.
Planning Artifacts:
None
Completion Artifacts:
None
Community App Catalog¶
The Community App Catalog does not rely on oslo-incubator or openstack/common.
Planning Artifacts:
None
Completion Artifacts:
None
Documentation¶
Planning Artifacts:
The Documentation tools do not use anymore Oslo libraries. We had one references to openstack/common, cleaned up by the patch listed below.
Completion Artifacts:
I18n¶
OpenStack I18n does not use oslo-incubator or any openstack/common modules.
Planning Artifacts:
None
Completion Artifacts:
None
Infrastructure¶
OpenStack Charms¶
Planning Artifacts:
Completion Artifacts:
OpenStack UX¶
OpenStack UX does not use oslo-incubator or any openstack/common modules.
Planning Artifacts:
None
Completion Artifacts:
None
OpenStack client¶
OpenStackClient does not use oslo-incubator or any openstack/common modules.
Planning Artifacts:
None
Completion Artifacts:
None
OpenStackAnsible¶
Planning Artifacts:
OpenStack-Ansible is a downstream consumer, as a result OpenStack-Ansible does not carry or consume Oslo Incubator code directly. No work required.
Completion Artifacts:
N/A
OpenStackSalt¶
Planning Artifacts:
Completion Artifacts:
Packaging-deb¶
Planning Artifacts:
Completion Artifacts:
Packaging-rpm¶
Planning Artifacts:
Completion Artifacts:
Puppet OpenStack¶
The puppet modules do not rely on oslo-incubator or openstack/common.
Planning Artifacts:
None
Completion Artifacts:
None
Quality Assurance¶
Quality Assurance does not use oslo-incubator or any openstack/common modules.
Planning Artifacts:
None
Completion Artifacts:
None
RefStack¶
Planning Artifacts:
Completion Artifacts:
Release Management¶
Planning Artifacts:
The release tools do not use Oslo libraries. We have a few references to openstack/common, cleaned up by the patches listed below.
Completion Artifacts:
Security¶
Planning Artifacts:
Completion Artifacts:
Anchor: No incubated oslo code
Bandit: No incubated oslo code
Syntribos: No incubated oslo code
Stable branch maintenance¶
Planning Artifacts:
The stable team doesn’t have any code repositories and therefore has nothing to do. It could be argued that the stable team is responsible for the stable branches of all projects but nature of the stable projects precludes code refactors.
Completion Artifacts:
Not Applicable
Telemetry¶
Planning Artifacts:
Completion Artifacts:
barbican¶
Planning Artifacts:
Completion Artifacts:
cinder¶
Planning Artifacts:
Completion Artifacts:
cinder: NA os-brick: NA python-cinderclient: https://review.opendev.org/#/c/393610/ python-brick-cinderclient-ext: NA
cloudkitty¶
Planning Artifacts:
Completion Artifacts: cloudkitty: NA python-cloudkittyclient: https://review.opendev.org/#/c/391885
congress¶
Planning Artifacts:
Completion Artifacts:
designate¶
Planning Artifacts:
Completion Artifacts:
dragonflow¶
The Dragonflow project does not use oslo-incubator or any openstack/common modules. There was one references to openstack/common, cleaned up by the patch listed below.
Planning Artifacts: None
Completion Artifacts:
ec2-api¶
This work is already done.
Planning Artifacts:
Completion Artifacts:
freezer¶
Freezer repos do not rely on oslo-incubator and use oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
fuel¶
Planning Artifacts:
Completion Artifacts:
glance¶
Planning Artifacts:
Completion Artifacts:
heat¶
Planning Artifacts:
None
Completion Artifacts:
Already removed from heat and heat-cfnclient.
python-heatclient: https://review.opendev.org/#/q/project:openstack/python-heatclient+topic:goal-remove-incubated-oslo-code
horizon¶
The Horizon repos does not rely on oslo-incubator and consumes the oslo.* libraries.
Planning Artifacts: None
Completion Artifacts: None
ironic¶
This work is already done.
Planning Artifacts: None
Completion Artifacts: None
karbor¶
This work is already done.
Planning Artifacts:
None
Completion Artifacts:
keystone¶
The keystone repos does not rely on oslo-incubator and consumed the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
kolla¶
The kolla repos does not rely on oslo-incubator and consumed the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
kuryr¶
Planning Artifacts:
Completion Artifacts:
magnum¶
This work is already done.
Planning Artifacts: None
Completion Artifacts: None
manila¶
This work is already done.
mistral¶
This work is already done.
Completion Artifacts:
python-mistralclient: https://review.opendev.org/#/c/393076/ https://review.opendev.org/#/c/393084/ https://review.opendev.org/#/c/395055/ https://review.opendev.org/#/c/395082/
monasca¶
Monasca no longer uses oslo-incubated code. We had a few references to openstack/common, that were cleaned up by the patches listed below.
Planning Artifacts:
None
Completion Artifacts:
murano¶
Planning Artifacts:
Completion Artifacts:
neutron¶
The neutron repos do not rely on oslo-incubator. They consume the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
nova¶
Planning Artifacts:
None
Completion Artifacts:
octavia¶
The octavia project does not use oslo incubator and the last references were removed in the patch listed below. Technically this was done while we were part of neutron, but documenting here for clarity.
Planning Artifacts:
None
Completion Artifacts:
oslo¶
History:
Planning Artifacts:
Completion Artifacts:
https://github.com/openstack/oslo-specs/blob/master/specs/policy/incubator.rst#revision-history (delete graduating modules immediately after the library is released)
http://lists.openstack.org/pipermail/openstack-dev/2016-June/097228.html (the closing/shutdown of the oslo-incubator, what’s leftover is now just a set of tools for PTL or other community folks in oslo.tools)
https://review.opendev.org/#/c/323706/ and https://review.opendev.org/#/c/320680/ (farewell reviews)
rally¶
Planning Artifacts:
None
Completion Artifacts:
sahara¶
Planning Artifacts: None
Completion Artifacts:
searchlight¶
Planning Artifacts:
Completion Artifacts:
senlin¶
The Senlin repos don’t rely on oslo-incubator and are consuming the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
solum¶
Solum repos do not rely on oslo-incubator and are consuming oslo.* libraries
Planning Artifacts:
None
Completion Artifacts:
swift¶
The swift repos do not rely on oslo-incubator.
Planning Artifacts: None
Completion Artifacts: None
tacker¶
The Tacker repos do not rely on oslo-incubator. They consume the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
tricircle¶
Tricircle doesn’t rely on oslo-incubator or any openstack/common modules, it is consuming the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
tripleo¶
Planning Artifacts: https://bugs.launchpad.net/tripleo/+bug/1636767
Completion Artifacts: https://review.opendev.org/390808
trove¶
Planning Artifacts:
Completion Artifacts:
vitrage¶
The Vitrage repos do not rely on oslo-incubator. They consume the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
watcher¶
The Watcher repos don’t rely on oslo-incubator and are consuming the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None
winstackers¶
The Winstackers repos does not rely on oslo-incubator and consumes the oslo.* libraries.
Planning Artifacts: None
Completion Artifacts:
zaqar¶
The Zaqar repo doesn’t rely on oslo-incubator and are consuming the oslo.* libraries.
Planning Artifacts:
Completion Artifacts:
zun¶
The zun repos does not rely on oslo-incubator and consumed the oslo.* libraries.
Planning Artifacts:
None
Completion Artifacts:
None