On Wed, Jan 20, 2021 at 2:09 PM Richard W.M. Jones <rjones(a)redhat.com> wrote:
On Wed, Jan 20, 2021 at 01:51:39PM +0200, Nir Soffer wrote:
> $ cat rhv-upload-test.sh
> #!/bin/sh
>
> virt-v2v \
> -i disk /var/tmp/fedora-32.raw \
> -o rhv-upload \
> -oc
https://engine-dev:8443/ovirt-engine/api \
> -op password \
> -on v2v \
> -os storage-nfs-00 \
> -of raw \
> -oa sparse \
> -oo rhv-cafile=ca.pem \
> -oo rhv-cluster=ost-el8 \
> -oo rhv-direct=false
>
> The next issue is nbdkit:
>
> $ ./run ./rhv-upload-test.sh
> nbdkit: error: cannot open plugin 'python': libpython3.7m.so.1.0:
> cannot open shared object file: No such file or directory
>
> $ ldd /usr/local/lib/nbdkit/plugins/nbdkit-python-plugin.so
> linux-vdso.so.1 (0x00007ffd50d53000)
> libpython3.7m.so.1.0 => not found
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9f43636000)
> libc.so.6 => /lib64/libc.so.6 (0x00007f9f4346c000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f9f4368f000)
>
> Fedora 32 is using python 3.8. Looks like nbdkit package is broken.
>
> I'll try to build and install nbdkit from source.
The nbdkit package in Fedora puts its plugins in /usr/lib64/nbdkit/plugins
(not /usr/local) so it seems like you're using a self-compiled package
already. It should work with the package in Fedora, so I would remove
the self-compiled one and use the Fedora one.
Right, this is leftover from Fedora 31, after removing /usr/locla/lib64/nbdkit
and /usr/loca/sbin/nbdkit my test script works, and importing vms using https
works:
cannot read /etc/vdsm/vdsm.id, using any host: [Errno 2] No such file
or directory: '/etc/vdsm/vdsm.id'
disk.id = '7d07c6e0-e049-4974-8b7b-aae2f9595d7a'
transfer.id = '08771c4d-1556-4e99-a3d8-7fda626cca96'
imageio features: flush=True trim=False zero=True
unix_socket='\x00/org/ovirt/imageio'
nbdkit: python[1]: debug: python: open returned handle 0x7f0604001d70
nbdkit: python[1]: debug: python: prepare readonly=0
nbdkit: python[1]: debug: python: get_size
nbdkit: python[1]: debug: python: can_write
nbdkit: python[1]: debug: python: can_zero
nbdkit: python[1]: debug: python: can_fast_zero
nbdkit: python[1]: debug: python: can_trim
nbdkit: python[1]: debug: python: can_fua
nbdkit: python[1]: debug: python: can_flush
nbdkit: python[1]: debug: python: is_rotational
nbdkit: python[1]: debug: python: can_multi_conn
nbdkit: python[1]: debug: python: can_cache
nbdkit: python[1]: debug: python: can_extents
nbdkit: python[1]: debug: newstyle negotiation: flags: export 0xcd
nbdkit: python[1]: debug: newstyle negotiation: NBD_OPT_GO: ignoring
NBD_INFO_* request 3 (NBD_INFO_BLOCK_SIZE)
nbdkit: python[1]: debug: handshake complete, processing requests serially
(100.00/100%)
nbdkit: python[1]: debug: client sent NBD_CMD_DISC, closing connection
nbdkit: python[1]: debug: python: finalize
nbdkit: python[1]: debug: python: close
finalizing transfer 08771c4d-1556-4e99-a3d8-7fda626cca96
virtual copying rate: 3215.3 M bits/sec
transfer 08771c4d-1556-4e99-a3d8-7fda626cca96 finalized in 10.214 seconds
In imageio log we see:
1. Ticket is added
2021-01-20 15:43:05,984 INFO (Thread-31) [tickets] [local] ADD
ticket={'dirty': False, 'ops': ['write'], 'size':
6442450944,
'sparse': True, 'transfer_id':
'08771c4d-1556-4e99-a3d8-7fda626cca96',
'uuid': '9488d4ad-b9ff-4a37-aeac-a4ede6a7920f', 'timeout': 300,
'url':
'nbd:unix:/run/vdsm/nbd/9488d4ad-b9ff-4a37-aeac-a4ede6a7920f.sock'}
2. First connection from client getting server options
2021-01-20 15:43:07,015 INFO (Thread-33) [http] OPEN connection=33
client=::ffff:192.168.122.1
2021-01-20 15:43:07,015 INFO (Thread-33) [images]
[::ffff:192.168.122.1] OPTIONS
ticket=9488d4ad-b9ff-4a37-aeac-a4ede6a7920f
2021-01-20 15:43:07,016 INFO (Thread-33) [backends.nbd] Open
backend address='/run/vdsm/nbd/9488d4ad-b9ff-4a37-aeac-a4ede6a7920f.sock'
export_name='' sparse=True max_connections=8
2021-01-20 15:43:07,016 INFO (Thread-33) [backends.nbd] Close
backend address='/run/vdsm/nbd/9488d4ad-b9ff-4a37-aeac-a4ede6a7920f.sock'
2021-01-20 15:43:07,016 INFO (Thread-33) [http] CLOSE connection=33
client=::ffff:192.168.122.1 [connection 1 ops, 0.001351 s] [dispatch 1
ops, 0.000761 s]
3. Second connection from pusing image data
2021-01-20 15:43:07,038 INFO (Thread-34) [http] OPEN connection=34
client=::ffff:192.168.122.1
2021-01-20 15:43:07,039 INFO (Thread-34) [backends.nbd] Open
backend address='/run/vdsm/nbd/9488d4ad-b9ff-4a37-aeac-a4ede6a7920f.sock'
export_name='' sparse=True max_connections=8
2021-01-20 15:43:20,653 INFO (Thread-34) [images]
[::ffff:192.168.122.1] FLUSH
ticket=9488d4ad-b9ff-4a37-aeac-a4ede6a7920f
2021-01-20 15:43:20,654 INFO (Thread-34) [backends.nbd] Close
backend address='/run/vdsm/nbd/9488d4ad-b9ff-4a37-aeac-a4ede6a7920f.sock'
2021-01-20 15:43:20,654 INFO (Thread-34) [http] CLOSE connection=34
client=::ffff:192.168.122.1 [connection 1 ops, 13.616013 s] [dispatch
4197 ops, 10.785545 s] [write 3043 ops, 9.268140 s, 1.30 GiB, 144.01
MiB/s] [write.read 3043 ops, 1.727618 s, 1.30 GiB, 772.58 MiB/s]
[write.write 3043 ops, 7.421443 s, 1.30 GiB, 179.85 MiB/s] [zero 1153
ops, 0.595495 s, 4.70 GiB, 7.89 GiB/s] [zero.zero 1153 ops, 0.576441
s, 4.70 GiB, 8.15 GiB/s] [flush 1 ops, 0.000183 s]
But this does not test local import using unix socket.
To test local import, I must run virt-v2v on oVir host, and our only
option now is
rhel 8.3, or centos 8.3 (oVirt dropped Fedora support in 4.4).
I tried to build virt-v2v on rhel 8.3, but I'm missing the ocaml packages
(maybe because I'm using development repos?). I found that ocaml is available
in centos 8.3.
Is it possible to build virt-v2v from git on centos 8.3?
Nir