Oslo updates

Registered by Sean Roberts

--

Blueprint information

Status:
Complete
Approver:
Sean Roberts
Priority:
Essential
Drafter:
Sean Roberts
Direction:
Approved
Assignee:
Adam Gandelman
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 7.0.0
Started by
Sean Roberts
Completed by
Sean Roberts

Related branches

Sprints

Whiteboard

A breakdown of current things we use from the old oslo-incubator that need to be migrated:

api/akanda_client.py:from akanda.rug.openstack.common import jsonutils
api/rug.py:from akanda.rug.openstack.common import log as logging
api/configuration.py:from akanda.rug.openstack.common import jsonutils
api/neutron.py:from akanda.rug.openstack.common import importutils
api/neutron.py:from akanda.rug.openstack.common import context
api/neutron.py:from akanda.rug.openstack.common.rpc import proxy
api/neutron.py:from akanda.rug.openstack.common import log as logging
common/linux/ovs_lib.py:from akanda.rug.openstack.common.gettextutils import _
common/linux/ovs_lib.py:from akanda.rug.openstack.common import log as logging
common/linux/interface.py:from akanda.rug.openstack.common.gettextutils import _
common/linux/interface.py:from akanda.rug.openstack.common import log as logging
common/linux/utils.py:from akanda.rug.openstack.common.gettextutils import _
common/linux/utils.py:from akanda.rug.openstack.common import log as logging
common/linux/ip_lib.py:from akanda.rug.openstack.common.gettextutils import _
main.py:from akanda.rug.openstack.common import log
main.py: 'akanda.rug.openstack.common.rpc.amqp=INFO',
metadata.py:from akanda.rug.openstack.common import log as logging
notifications.py:from akanda.rug.openstack.common import context
notifications.py:from akanda.rug.openstack.common.rpc import common as rpc_common
notifications.py: # openstack.common.rpc.amqp.pack_context(). Since we always
notifications.py: # Do the work of openstack.common.rpc.amqp._add_unique_id()
notifications.py: # openstack.common.rpc.amqp.pack_context()
service.py:from akanda.rug.openstack.common.gettextutils import _
service.py:from akanda.rug.openstack.common import log
service.py:from akanda.rug.openstack.common.rpc import service as rpc_service
service.py:from akanda.rug.openstack.common import service
tenant.py:from akanda.rug.openstack.common import timeutils
test/unit/api/test_rug_api.py:from akanda.rug.openstack.common import log as logging
test/unit/api/test_configuration.py: with mock.patch('akanda.rug.openstack.common.jsonutils.load') as load:

This makes up 6 categories of work:

jsonutils -> oslo.serialization
logging -> oslo.log
importutils -> oslo.utils
context -> oslo.context
rpc.proxy -> oslo.messaging ?
gettextutils -> oslo.i18n

There are some dependencies here that block certain migrations from happening first, ie: we can't migrate akanda.rug to oslo.logging without first migrating to oslo.messaging, because openstack.common.rpc imports openstack.common.log. There are probably other sticky things like this.

Additionally, akanda-rug has its own in-tree library built for executing external commands (akanda.rug.common.linux.utils:execute()) which should be replaced with process_utils from oslo.concurrency. This'll enable easy usage of rootwrap helpers and definition of rootwrap policy files.

Gerrit topic: https://review.openstack.org/#/q/topic:akanda/oslo_migration,n,z

(?)

Work Items

Work items:
* Migrate from openstack.common.jsonutils -> oslo.serialization: DONE
* Migrate from openstack.common.log -> oslo.log: INPROGRESS
* Migrate from openstack.common.importutils -> oslo.utils: INPROGRESS
* Migrate from openstack.common.context -> oslo.context: DONE
* Migrate from openstack.common.rpc -> oslo.messaging: INPROGRESS
* Migrate from openstack.common.gettextutils -> oslo.i18n: INPROGRESS
* Migrate away from akanda.common.linux.utils:execute() -> oslo.concurrency: TODO

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.