Crate ceph[][src]

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;

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.

error
json
rados
status
utils

Structs

CephClient

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

MonCommand

Enums

CephVersion

Type Definitions

JsonData
JsonValue