-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CentOS 7 Issues #28
Comments
I setup a fresh CentOS7 VM and ran through the steps and hit the same issue. Pretty simple config. configurationVersion: '1' storages:
ios:
I get the same error when initializing the database, unless I change my storage module to file. [root@ceph-backups ~]# benji database-init |
To access RBD, you also need to compile the Ceph RBD python bindings (ideally from the Ceph version you have in use). I think these are sadly not packaged for CentOS 7 in a Python3 version. What we use, is:
|
Fantastic information and I appreciate it! Is there any distro that is better suited for benji? |
I'll leave that for others to answer, since we are also using CentOS 7 as it is so well supported by Ceph 😉 . |
Running into a issue missing the RBD development headers. [root@ceph-backups ~]# pip3.6 install git+https://github.com/ceph/ceph@v$CEPH_VERSION#subdirectory=src/pybind/rbd
|
Got around this by installing the following. yum install librados-devel librbd-devel Now I am seeing this. [root@ceph-backups ~]# pip3.6 install git+https://github.com/ceph/ceph@v$CEPH_VERSION#subdirectory=src/pybind/rbd Cython is indeed installed as well. [root@ceph-backups tmp]# rpm -qa | grep Cython |
That version of cython is not a python 3.6 version. It seems there is no Cython for Python 3.6 in EPEL. We are using a python 3.6 virtualenv in which we install cython, the rbd/rados libraries and Benji itself. |
Great input, got me a bit further. Decided to try out the python virtualenv but getting hung up still after getting the Ceph RBD python bindings in place. (benji) [root@ceph-backups ~]# pip install git+https://github.com/ceph/ceph@v$CEPH_VERSION#subdirectory=src/pybind/rbd Still results in the same error. (benji) [root@ceph-backups ~]# /usr/local/benji/bin/benji backup --snapshot-name 2019-03-18T14:38:53 --rbd-hints /tmp/vm-100-disk-0.diff rbd://Test/vm-100-disk-0@2019-03-18T14:38:53 vm-100-disk-0 No luck finding benji.io.rbd. (benji) [root@ceph-backups ~]# find / | grep benji.io.rbd |
Mhm - the path:
shoult contain the class and load fine. Here's the complete set of things we do (since we do it via puppet, I had to convert things a bit):
That being said - do you get any error if, inside the VirtualEnv, you run python and then type:
and hit "return"? |
Here is that output. (benji) [root@ceph-backups ~]# import benji.io.rbd One thing I want to mention. In order to get rados/rdb I had to install python-devel because it was looking for python-config. Shouldn't it be using python3.6-config which was installed. |
@adambmedent, CentOS 7 is fine, but, as @olifre already mentioned, is missing the Ceph Python modules for Python 3. The Docker images are also CentOS 7 based and compile the necessary modules themselves. Some workarounds are required as you've already noticed. Please have a look at the command sequence in https://github.com/elemental-lf/benji/blob/8446afbad81f36432a9c0dabf0be59f1ed42b238/images/benji/Dockerfile, lines 11 to 31. |
I think this might have answered my questions. RUN python3.6 -m venv $VENV_DIR && So I shouldn't install python-devel to get python-config. I should create a symbolic link. Thats gotta be my issue. I am going to start fresh right now and see what I end up with. I am not overly familiar with docker so I am hoping to just run our standard C7 load because we are C7 shop. |
The symbolic links got me further and I am no longer getting the same error. I now have benji.io.rbd. (benji) [root@linux151 benji]# find / | grep benji.io.rbd (benji) [root@linux151 bin]# benji database-init |
@adambmedent I just noticed: You can skip the |
Sorry, I overlooked this one:
Could you please run |
Ok I started with a brand new CentOS7 VM and did the following steps to a T.
There were no errors at all and it looked to be successful, but I am still hitting the same exact issue. (benji) [root@linux151 ~]# benji database-init Here is the database-init debug output. (benji) [root@linux151 ~]# /usr/local/benji/bin/benji --log-level DEBUG database-init During handling of the above exception, another exception occurred: Traceback (most recent call last): (benji) [root@linux151 ~]# python3.6 -c 'import rbd' I was in the python virtual enviroment when I installed the rados and rbd modules. |
My ceph cluster is 12.2.11, so I figured I would stick with this version on my dedicated benji VM. I am starting to wonder if that is my issue as well? Maybe I need to move to the newer version for the benji VM? |
Hmm, I've think I've also tested with Luminous last year and Benji only uses very basic calls to the RBD API which have existed for years. |
Not quite sure what you mean here? |
Sorry, I've deleted this as I was on the wrong track, but I pressed the comment button by accident, please ignore it.
And this matches the fact the you can load Ceph's |
It doesn't seem to exist any were. Do you happen to know what provides this module? (benji) [root@linux151 ~]# find / | grep benji.storage.rbd |
First of all your name: Ceph-Backup
storageId: 1
module: rbd # Change this to file
configuration:
path: /Ceph-Backups2 Storage modules are |
Actually I was wrong, the dots are okay as they match any character. |
Yep, I am in action now. When I was hitting the issue of missing "benji.io.rbd" I started messing around with that conf file and totally forgot. Once I changed it back, benji is now working. I appreciate the assistance and I will let you guys know how things go! |
That's great to hear! Please report back any issues you encounter. And if you have any feature ideas, I'd be interested to hear them, too. |
Hey all, very cool project and hoping to make good use of it. Would like to get benji working on C7, based on the install steps it was pretty straight forward. However I can't seem to get around this specific issue.
benji) [root@ceph-backups backy2]# benji backup --snapshot-name 2019-03-20T10:37:1 --rbd-hints /tmp/vm-101-disk-0.diff rbd://Test/vm-101-disk-0 vm-101-disk-0
INFO: $ /usr/local/benji/bin/benji backup --snapshot-name 2019-03-20T10:37:1 --rbd-hints /tmp/vm-101-disk-0.diff rbd://Test/vm-101-disk-0 vm-101-disk-0
ERROR: Module file benji.io.rbd not found or related import error.
Am I missing something major?
The text was updated successfully, but these errors were encountered: