Discussion:
[linux-lvm] lvmdbusd failure(s) at ubuntu
Oliver Rath
2017-12-11 01:53:35 UTC
Permalink
Hi list,

Im playing around with the dbus-daemon, which shows me some strange
behaviours:

* lvmdbusd doesnt run with the message
# lvmdbusd
Traceback (most recent call last):
  File "/sbin/lvmdbusd", line 13, in <module>
    from lvmdbusd import main
ModuleNotFoundError: No module named 'lvmdbusd'
*but* the module seems to be installed:
# find /usr/lib/ -iname "lvmdbusd"
/usr/lib/python3.6/site-packages/lvmdbusd
/usr/lib/python3.5/site-packages/lvmdbusd

Btw, lvmdbusd seems not to be installed for python2
* lvmdbusd is a python-script, but the installer says "python is
deprecated, use dbus instead". Can I use the dbus-interface (Im
working on some examples in Rust for this) without the lvmdbusd?

Is lvm via dbus possibly out of date and not longer useable?

My system is ubuntu 17.10 with lvm2-git installed:

# lvdisplay --version
  LVM version:     2.02.177(2)-git (2017-11-03)
  Library version: 1.02.146-git (2017-11-03)
  Driver version:  4.37.0
  Configuration:   ./configure --enable-lvmetad --enable-lvmpolld
--enable-dmfilemapd --enable-cmdlib --enable-applib
--enable-dbus-service --enable-notify-dbus --enable-python2_bindings

TfH

Oliver
Marian Csontos
2017-12-11 12:24:32 UTC
Permalink
Post by Oliver Rath
Hi list,
Im playing around with the dbus-daemon, which shows me some strange
* lvmdbusd doesnt run with the message
# lvmdbusd
  File "/sbin/lvmdbusd", line 13, in <module>
    from lvmdbusd import main
ModuleNotFoundError: No module named 'lvmdbusd'
# find /usr/lib/ -iname "lvmdbusd"
/usr/lib/python3.6/site-packages/lvmdbusd
/usr/lib/python3.5/site-packages/lvmdbusd
Hmmm, what does `/usr/bin/env python3` return?

I have fixed a bug usptream: lvmdbusd must use python 3 interpreter
detected by configure script not the python3 found in $PATH.
Post by Oliver Rath
Btw, lvmdbusd seems not to be installed for python2
That's true, it is not. It is python3 only.
Post by Oliver Rath
* lvmdbusd is a python-script, but the installer says "python is
deprecated, use dbus instead". Can I use the dbus-interface (Im
working on some examples in Rust for this) without the lvmdbusd?
It says "python bindings". It is those python2 and python3 bindings we
plan to remove in future - it never worked really well, had problems
with configuration - and lvmdbusd is the intended replacement.

D-Bus daemon is written in python(3). And it should not require python
bindings (and actually neither the applib - I fixed that bogus error
upstream.)

It may see and rewrite to a compiled language, if that happened to be a
bottleneck.
Post by Oliver Rath
Is lvm via dbus possibly out of date and not longer useable?
It should not be.
Post by Oliver Rath
# lvdisplay --version
  LVM version:     2.02.177(2)-git (2017-11-03)
  Library version: 1.02.146-git (2017-11-03)
  Driver version:  4.37.0
  Configuration:   ./configure --enable-lvmetad --enable-lvmpolld
--enable-dmfilemapd --enable-cmdlib --enable-applib
--enable-dbus-service --enable-notify-dbus --enable-python2_bindings
TfH
Oliver
_______________________________________________
linux-lvm mailing list
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
Oliver Rath
2017-12-13 12:52:24 UTC
Permalink
Hi list,

Ive found the reason for failing lvmdbusd: The install-script installs
the python-module-dir "lvmdbusd" into /usr/lib/python3.6/site-packages.
Unfortunatly this path is not in the standard-python(3)-modulepath included:

--------------- snip -------------------------

***@w541:~/gits/lvm2$ python3 -m site
sys.path = [
    '/home/oliver/gits/lvm2',
    '/usr/lib/python36.zip',
    '/usr/lib/python3.6',
    '/usr/lib/python3.6/lib-dynload',
    '/usr/local/lib/python3.6/dist-packages',
    '/usr/lib/python3/dist-packages',
    '/usr/lib/python3.6/dist-packages',
]
USER_BASE: '/home/oliver/.local' (exists)
USER_SITE: '/home/oliver/.local/lib/python3.6/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

--------------- snap -------------------------

It seems the "site-packages" dir is in Ubuntu a local one in the current
home dir. Putting the moduledir "lvmdbusd" into
/usr/lib/python3.6/dist-packages works fine. For me it is sufficient to
change the installation-path to this dir.

I don't know, how the paths are organized in other distros like fedora
or redhat, but maybe you find a way installing the lvm2-python3-parts
for lvmdbusd in a way which works also out of the box for ubuntu, too.

Tfh!

Oliver
Post by Oliver Rath
Hi list,
Im playing around with the dbus-daemon, which shows me some strange
* lvmdbusd doesnt run with the message
# lvmdbusd
  File "/sbin/lvmdbusd", line 13, in <module>
    from lvmdbusd import main
ModuleNotFoundError: No module named 'lvmdbusd'
# find /usr/lib/ -iname "lvmdbusd"
/usr/lib/python3.6/site-packages/lvmdbusd
/usr/lib/python3.5/site-packages/lvmdbusd
Btw, lvmdbusd seems not to be installed for python2
* lvmdbusd is a python-script, but the installer says "python is
deprecated, use dbus instead". Can I use the dbus-interface (Im
working on some examples in Rust for this) without the lvmdbusd?
Is lvm via dbus possibly out of date and not longer useable?
# lvdisplay --version
  LVM version:     2.02.177(2)-git (2017-11-03)
  Library version: 1.02.146-git (2017-11-03)
  Driver version:  4.37.0
  Configuration:   ./configure --enable-lvmetad --enable-lvmpolld
--enable-dmfilemapd --enable-cmdlib --enable-applib
--enable-dbus-service --enable-notify-dbus --enable-python2_bindings
TfH
Oliver
_______________________________________________
linux-lvm mailing list
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
Loading...