Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/move toolcut into python api dso #367

Merged
merged 20 commits into from
Nov 7, 2017

Conversation

redlicha
Copy link
Member

@redlicha redlicha commented Nov 6, 2017

Addresses #365 by moving the ToolCut functionality into the Python API DSO (storagerouterclient) and making it available under _debug.
This requires some auxiliary changes such as making the internal interfaces resilient towards multiple registrations of converters (the alternative would be making sure a converter is only ever registered once) otherwise importing the module would fail at runtime.
ToolCut is hollowed out by moving the actual bindings to volumedriver/python and only leaving a thin wrapper in place that is used to still build the existing DSO. The bindings in volumedriver/python are also used when building the storagerouterclient DSO.

TBD (in a subsequent PR?): streamline the filesystem-python-client directory in a similar fashion, i.e. move the actual adapters to filesystem/python (some should be moved to volumedriver/python) and only pick the relevant pieces from there to build storagerouterclient.

Arne Redlich added 20 commits October 30, 2017 15:26
python/LoggingAdapter (nee LoggerToolCut) provides the same functionality.

Loosely related to #365
youtils::python::BuildInfoAdapter provides the same functionality.

Loosely related to #365
…lvolumedriver

The ToolCut helpers themselves should be revisited at a later point as
there's potential for cleanups / removal of wrappers in favour of
binding the wrapped types directly.

Part of #365
This moves the remaining functionality (Python bindings) out of the
ToolCut module definition in the ToolCut DSO so it can be reused in
the storagerouterclient DSO.

Part of #365
Previously this was done in each module before registering the
LoggingAdapter which could lead to logging being switched off again
after being configured.

Part of #365
This factors out the SCO binding from volumedriverfs::python::MDSClient
and replaces SCOToolCut with it.

Part of #365
This factors out the ClusterLocation binding from
volumedriverfs::python::MDSClient and replaces ClusterLocationToolCut
with it.

Part of #365
This factors out the ClusterLocationAndHash binding from
volumedriverfs::python::MDSClient.

Part of #365
…ects

These were wrappers that retrieved objects from the backend to a tmp
file and then constructed from the latter, which can be reimplemented
purely in Python.

Part of #365
@redlicha redlicha merged commit b7ad101 into dev Nov 7, 2017
@redlicha redlicha deleted the feature/move-toolcut-into-python-api-dso branch November 10, 2017 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants