Crate ceph_async

Source
Expand description

Ceph-rust is a thin layer over the librados C interface. A little higher abstraction layer will be coming next that will encapsulate all of the “C” specific features so that only pure Rust will be needed.

Only works on Linux The documentation for librados can be found: http://docs.ceph.com/docs/master/rados/api/librados/

By default Ceph names librados as the following for the given platforms: Hammer release: RHEL/CentOS: /usr/lib64/librados.so.2.0.0

Ubuntu: /usr/lib/librados.so.2.0.0

You will need to do a symlink of the above link to the following: RHEL/CentOS: sudo ln -s /usr/lib64/librados.so.2.0.0 /usr/lib64/librados.so

Ubuntu: sudo ln -s /usr/lib/librados.so.2.0.0 /usr/lib/librados.so

NOTE: If someone know of another way for Rust to find the librados file then please issue a PR for it. Thanks!

See the /examples/ceph.rs for how to use the library.

Re-exports§

pub use crate::cmd::OsdOption;
pub use crate::cmd::PoolOption;
pub use crate::mon_command::MonCommand;

Modules§

admin_sockets
ceph
ceph_volume
cmd
Ceph has a command system defined in https://github.com/ceph/ceph/blob/master/src/mon/MonCommands.h The cli commands mostly use this json based system. This allows you to make the exact same calls without having to shell out with std::process::Command. Many of the commands defined in this file have a simulate parameter to allow you to test without actually calling Ceph.
completion
error
json
list_stream
mon_command
rados
read_stream
status
utils
write_sink

Structs§

CephClient
A CephClient is a struct that handles communicating with Ceph in a nicer, Rustier way

Enums§

CephVersion

Type Aliases§

JsonData
JsonValue