diff options
author | Colin Patrick McCabe <cmccabe@alumni.cmu.edu> | 2011-08-31 18:20:53 -0700 |
---|---|---|
committer | Colin Patrick McCabe <cmccabe@alumni.cmu.edu> | 2011-08-31 18:09:52 -0700 |
commit | 2e63eace850dce3e4ab0337f111027bcde5cdea3 (patch) | |
tree | feeae012361d9b4a8f52a83b829668083fdd6aea | |
parent | d9eacb61048a43c191164f58f8498eeae1411a7f (diff) | |
download | ceph-2e63eace850dce3e4ab0337f111027bcde5cdea3.tar.gz |
Add object store architecture overview picture
It requires graphviz / dot to be installed. It generates a nice graph
of the dependencies between classes in the object store.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | admin/build-doc | 2 | ||||
-rw-r--r-- | doc/architecture.rst | 7 | ||||
-rw-r--r-- | doc/object_store.dot | 61 |
4 files changed, 71 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 99560459d1e..73a8d86bd14 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ core .project .cproject /build-doc +/doc/object_store.png diff --git a/admin/build-doc b/admin/build-doc index aee1a48345c..347e7cbb1f4 100755 --- a/admin/build-doc +++ b/admin/build-doc @@ -10,6 +10,8 @@ if [ ! -e build-doc/doxygen/xml ]; then fi dia --filter=png-libart --export=doc/overview.png.tmp doc/overview.dia +dot -Tpng < doc/object_store.dot > doc/object_store.png + mv -- doc/overview.png.tmp doc/overview.png cd build-doc diff --git a/doc/architecture.rst b/doc/architecture.rst index f66cf3cd9b7..fb7a1ea15ee 100644 --- a/doc/architecture.rst +++ b/doc/architecture.rst @@ -25,6 +25,13 @@ .. todo:: write me +==================================== + Object Store Architecture Overview +==================================== +.. image:: object_store.png + +.. todo:: write more here + ================================= Library architecture ================================= diff --git a/doc/object_store.dot b/doc/object_store.dot new file mode 100644 index 00000000000..eda3eb68f23 --- /dev/null +++ b/doc/object_store.dot @@ -0,0 +1,61 @@ +/* + * Rough outline of object store module dependencies + * + * build with + * dot -Tpng < ./object_store.dot > object_store.png + */ + +digraph object_store { + size="16,16"; + node [color=lightblue2, style=filled, fontname="Serif"]; + + "testrados" -> "librados" + "testradospp" -> "librados" + + "rbd" -> "librados" + + "radostool" -> "librados" + + "radosgw_admin" -> "rgw" + + "rgw" -> "librados" + + "radosacl" -> "librados" + + "librados" -> "objecter" + + "ObjectCacher" -> "Filer" + + "dumpjournal" -> "Journaler" + + "Journaler" -> "Filer" + + "SyntheticClient" -> "Filer" + "SyntheticClient" -> "objecter" + + "Filer" -> "objecter" + + "objecter" -> "OSDMap" + + "cosd" -> "PG" + "cosd" -> "ObjectStore" + + "crushtool" -> "CrushWrapper" + + "OSDMap" -> "CrushWrapper" + + "OSDMapTool" -> "OSDMap" + + "PG" -> "ReplicatedPG" + "PG" -> "ObjectStore" + "PG" -> "OSDMap" + + "ReplicatedPG" -> "ObjectStore" + "ReplicatedPG" -> "OSDMap" + + "ObjectStore" -> "FileStore" + + "FileStore" -> "ext3" + "FileStore" -> "ext4" + "FileStore" -> "btrfs" +} |