All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wido den Hollander <wido@42on.com>
To: ceph-devel <ceph-devel@vger.kernel.org>
Subject: Java bindings for RADOS and RBD
Date: Mon, 06 May 2013 17:21:34 +0200	[thread overview]
Message-ID: <5187CA7E.2050508@42on.com> (raw)

Hi all,

For the Apache CloudStack project I'm working on implementing the 
snapshotting and cloning features for RBD.

We (the project) want to stay away from invoking binaries like 'rbd' or 
'qemu-img' in the background since parsing the output and handling exit 
statuses can be hard to deal with.

So work around this I started working on Java JNA [0] bindings for 
librados and librbd [1]

The reason to use JNA is that it allows us to simply drop the bindings 
and run them without having them compiled against the librados or librbd 
headers.

The bindings are currently aimed at providing the functionality which 
CloudStack needs, which is mainly focused at RBD, but I've also 
implemented multiple RADOS operations.

I've chosen to implement both RADOS and RBD into the same package and 
using com.ceph.rados and com.ceph.rbd for as the package name. It could 
be splitted into different projects, but I think that won't benefit 
anybody. Having it all in one package seem easy, since RBD needs a RADOS 
IoCTX to work anyway.

I'd like to get some feedback on the bindings about the way they are 
now. They are still work-in-progress, but my Unit Testing shows me they 
are in a reasonable shape already.

Once the bindings reach a more mature state (which probably isn't that 
far away) I'd like to donate them to the Ceph project so they can live 
on Ceph's Github page instead of my personal one.

Getting them into Maven Central [2] won't be that easy, so I'd like to 
request space for that on ceph.com, for example ceph.com/download/maven 
and users will have to manually add that to their pom.xml configuration.

The request for a Maven repository is a bit selfish, since CloudStack 
uses Maven to build and during building it will need some place where it 
can fetch the artifacts.

So that's it for now, feedback and suggestions are more then welcome! 
(Patches / pull requests ditto!)

Related issues in the tracker:
- #4231
- #4232

[0]: https://github.com/twall/jna
[1]: https://github.com/wido/rados-java
[2]: 
http://maven.apache.org/guides/mini/guide-central-repository-upload.html

-- 
Wido den Hollander
42on B.V.

Phone: +31 (0)20 700 9902
Skype: contact42on

             reply	other threads:[~2013-05-06 15:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-06 15:21 Wido den Hollander [this message]
     [not found] ` <CA+Hcz5_6Z2fwHmkKSMOPugh8B5Osu=m7FM1eQkVmvwrn1E4TZg@mail.gmail.com>
2013-05-30 20:01   ` Fwd: Java bindings for RADOS and RBD Noah Watkins
2013-05-31  0:06     ` edison su

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5187CA7E.2050508@42on.com \
    --to=wido@42on.com \
    --cc=ceph-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.