diff --git a/lib/ceph-ruby/cluster.rb b/lib/ceph-ruby/cluster.rb index e387464..99ab09c 100644 --- a/lib/ceph-ruby/cluster.rb +++ b/lib/ceph-ruby/cluster.rb @@ -2,15 +2,17 @@ module CephRuby class Cluster attr_accessor :handle - def initialize(config_path = "/etc/ceph/ceph.conf") + def initialize(options = {}) + options[:config_path] ||= "/etc/ceph/ceph.conf" + log("init lib rados #{Lib::Rados.version_string}, lib rbd #{Lib::Rbd.version_string}") handle_p = FFI::MemoryPointer.new(:pointer) - ret = Lib::Rados.rados_create(handle_p, nil) + ret = Lib::Rados.rados_create(handle_p, options[:username]) raise SystemCallError.new("open of cluster failed", -ret) if ret < 0 self.handle = handle_p.get_pointer(0) - setup_using_file(config_path) + setup_using_file(options[:config_path]) connect