Hi all,

in the last few days i have worked on improving the uWSGI plugin for rados
(its first version was released a year ago, but was buggy and little
integrated with the whole project).

http://uwsgi-docs.readthedocs.org/en/latest/Rados.html

(for those who do not know uWSGI, it is a platform/library for building
application servers)

you currently need to clone the github repository (2.0.6 will be released
next week). In the uwsgi-2.1 branch the plugin includes support for some
additional webdav methods (like PROPFIND) thanks to the new (still work in
progress) uWSGI webdav api.

To build the plugin (or the monolithic binary) you need gcc/clang, pcre
development headers (to use the internal routing support), openssl (if you
need https) and librados. A working python/python3 executable is required
to run the build system.

The sources are here:

https://github.com/unbit/uwsgi/blob/master/plugins/rados/

(docs source is at https://github.com/unbit/uwsgi-docs/blob/master/Rados.rst)

the only "complex" part is async support, as we need pipes and mutexes to
synchronize aio functions with the non-blocking (stack-switching) uWSGI
core. (but you can obviously use it in classic multiprocess/multithread 
blocking mode)

Currently i have started stress testing it with seven nodes (each node has
a mon, a osd and uWSGI instance [sorry, i know it is not the best
approach]) behind a nginx proxy. (uWSGI caching is not enabled as i want
to get statistics of the rados response times)

Planned new features are:

- improving webdav coverage in 2.1 branch (using xattr as dav properties,
and implementing locking on top of rados locks)
- adding support for watch/notify (could be useful for auto-cache
invalidation and for signaling)
- integration with uWSGI alarm subsystem (for triggering events on failed
rados pings and so on)

Hope it will be useful for someone

Every report will be wellcomed.

Thanks
-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to