blob: a0605bf83eb5942eeac27111af5e6b9873a5a83f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
This branch is a copy of Neil's RADOS VOL connector branch.
Very few changes have been made to the branch so it stays
as a 'known good' version of the connector.
This is based off the ancient 'vol' branch and is wildy
out of sync with develop. You will not be able to move
the RADOS VOL connector built here to HDF5 1.12.0 without
a lot of surgery. The rados_vol branch in this repository
is kept in sync with develop and is probably the one
you want for that.
Note that this is a dead branch, so no effort has been
made to keep the MANIFEST sane, etc.
************
* BUILDING *
************
RADOS:
The code for the RADOS VOL connector lies entirely in
the H5VLrados* files in the src directory. The connector
is built as a static part of the library.
I build this branch on Ubuntu, with the system default
librados-dev package and its dependencies installed. I use
the autotools and the only thing I have to specify is the
linker flags:
LDFLAGS="-L/path/to/librados -lrados"
YMMV, but the autotools do no librados hunting so you may
need to specify things it can't figure out on its own.
MOBJECT:
You'll need to be able to find the headers and libs for
mobject-store. You do not need the RADOS libraries.
On jelly (THG), this will work:
export SPACK_ROOT=/mnt/hdf/jsoumagne/spack
source $SPACK_ROOT/share/spack/setup-env.sh
module load GCC
source <(spack module tcl loads --dependencies mobject)
You will also need to define HDF5_USE_MOBJECT in CPPFLAGS.
This switches between the RADOS and mobject headers.
***********
* TESTING *
***********
There are no tests for the RADOS VOL connector in the main
library, so running 'make check' won't provide much
information.
RADOS:
Once the library has been built, you can run some smoke
checks by running 'make install' and going to the
share/hdf5_examples/c/ directory and running the
run_rados_examples.sh script found there. That will
create a small pool (or clear it out if it exists)
and run all the example scripts in a sane order.
*** YOU WILL NEED TO COPY YOUR ceph.conf FILE
*** INTO THIS DIRECTORY FIRST!!!
In case it's not obvious, you'll need an active Ceph
cluster to run the tests :)
MOBJECT:
Same as above, only the script's name is run_mobject_examples.sh.
You can probably ignore any sdskv_put warnings as long as the
examples pass.
The tests are hard-coded to use /tmp/mobject-clust-test.gid and
this can be changed in h5rados_example.h.
So to start mobject-server:
mobject-server-daemon na+sm /tmp/mobject-cluster-test.gid
|