]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Add object store architecture overview picture
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 1 Sep 2011 01:20:53 +0000 (18:20 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 1 Sep 2011 01:09:52 +0000 (18:09 -0700)
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>
.gitignore
admin/build-doc
doc/architecture.rst
doc/object_store.dot [new file with mode: 0644]

index 99560459d1e8ae49488a9f135eefdb2996e601ef..73a8d86bd14ef6f76473346b793a7c8dfda1fc86 100644 (file)
@@ -53,3 +53,4 @@ core
 .project
 .cproject
 /build-doc
+/doc/object_store.png
index aee1a48345c76880c9d441195385f1877df8d634..347e7cbb1f4d80bb0a7a819b0fadd019a8eaa587 100755 (executable)
@@ -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
index f66cf3cd9b717a48367f4a8a575bf679f71cfa2e..fb7a1ea15eeee1014920beaa9472b60c198401b4 100644 (file)
 
 .. 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 (file)
index 0000000..eda3eb6
--- /dev/null
@@ -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"
+}