From d509f9f5dab37ef120a5ded768b60ab9070fc5ec Mon Sep 17 00:00:00 2001 From: Noah Watkins Date: Sat, 30 Aug 2014 18:36:50 -0700 Subject: [PATCH] doc: update README with examples Signed-off-by: Noah Watkins --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8c3a1b0..db1c35f 100644 --- a/README.md +++ b/README.md @@ -11,18 +11,56 @@ The native RADOS library and development headers are expected to be installed. Detailed documentation is available at . -## Example +### Connecting to a cluster -Connect to a cluster and list the pools: +Connect to a Ceph cluster using a configuration file located in the default +search paths. ```go conn, _ := rados.NewConn() conn.ReadDefaultConfigFile() conn.Connect() -pools, _ := conn.ListPools() -fmt.Println(len(pools), pools) ``` -will print: +A connection can be shutdown by calling the `Shutdown` method on the +connection object (e.g. `conn.Shutdown()`). There are also other methods for +configuring the connection. Specific configuration options can be set: - 3 [data metadata rbd] +```go +conn.SetConfigOption("log_file", "/dev/null") +``` + +and command line options can also be used using the `ParseCmdLineArgs` method. + +```go +args := []string{ "--mon-host", "1.1.1.1" } +err := conn.ParseCmdLineArgs(args) +``` + +For other configuration options see the full documentation. + +### Pool maintenance + +The list of pools in a cluster can be retreived using the `ListPools` method +on the connection object. On a new cluster the following code snippet: + +```go +pools, _ := conn.ListPools() +fmt.Println(pools) +``` + +will produce the output `[data metadata rbd]`, along with any other pools that +might exist in your cluster. Pools can also be created and destroyed. The +following creates a new, empty pool with default settings. + +```go +conn.MakePool("new_pool") +``` + +Deleting a pool is also easy. Call `DeletePool(name string)` on a connection object to +delete a pool with the given name. The following will delete the pool named +`new_pool` and remove all of the pool's data. + +```go +conn.DeletePool("new_pool") +```