[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libguestfs] [PATCH] v2v: rhv-upload-plugin: Defer imageio connection



On Wed, Jan 20, 2021 at 2:09 PM Richard W.M. Jones <rjones 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]