Feature #6114
open
Complete python binding interfaces for librados
Added by Haomai Wang over 10 years ago.
Updated almost 6 years ago.
Component(RADOS):
librados
Description
Now python binding for librados only supports basic operations like read, write. A lot of interfaces librados.h implemented hasn't showed in librados.py. I hope we can add more supports on this and users can make use of rados by python.
- Assignee set to Alfredo Deza
Haomai, can you take a look at wip-5900 ? I am working on getting the Python bindings properly packaged.
I am at the stage where the make file needs to call the bootstrap script that creates a virtualenv to install them for development.
- Tracker changed from Bug to Feature
It went stale as I couldn't keep up with the changes to the modules themselves as the modifications where significant: most single python files where now modules with their own setup.py files.
It also meant that changes where needed to the build, specifically one where the process would add these files to the python path which was no longer possible due
to them being converted to directories.
One of the most useful missing parts is multi-operation requests, which includes omap operations as well.
- Assignee deleted (
Alfredo Deza)
I went through the C and python bindings. All the multi-operation-related methods need bindings. In addition, these other methods lack python bindings:
Erasure coded pool I/O requirements¶
- rados_ioctx_pool_requires_alignment()
- rados_ioctx_pool_required_alignment()
Pool name/id¶
- rados_ioctx_create2()
- rados_get_instance_id()
- rados_ioctx_get_pool_name()
- rados_ioctx_get_id()
Snapshot functions¶
- rados_ioctx_snap_rollback()
- rados_ioctx_snap_set_read()
- rados_ioctx_selfmanaged_snap_create()
- rados_ioctx_selfmanaged_snap_remove()
- rados_ioctx_selfmanaged_snap_rollback()
- rados_ioctx_selfmanaged_snap_set_write_ctx()
OSD class methods¶
Locking¶
- rados_list_lockers()
- rados_break_lock()
rados config copying¶
- rados_create_with_context()
- rados_cct()
- rados_ioctx_cct()
A few aio methods¶
- rados_aio_flush_async()
- rados_aio_stat()
- rados_aio_cancel()
Watch/Notify¶
- rados_watch2()
- rados_watch_check()
- rados_unwatch2()
- rados_notify2()
- rados_notify_ack()
- rados_watch_flush()
Allocation hints¶
- rados_set_alloc_hint() - this one seems unnecessary since you'd probably be sending this in a multi-op write operation instead of alone
- Project changed from Ceph to RADOS
- Category deleted (
librados)
- Component(RADOS) librados added
Also available in: Atom
PDF