[ovirt-users] Building ovirt-host-deploy gives `configure: error: otopi-devtools required but missing`
Yedidyah Bar David
didi at redhat.com
Tue May 16 07:00:52 UTC 2017
On Tue, May 16, 2017 at 9:51 AM, Yedidyah Bar David <didi at redhat.com> wrote:
> On Mon, May 15, 2017 at 10:42 PM, Leni Kadali Mutungi
> <lenikmutungi at gmail.com> wrote:
>> On 5/15/17, Yedidyah Bar David <didi at redhat.com> wrote:
>>
>>> Now is the time to explain something.
>>>
>>> ovirt-host-deploy is not designed to be ran manually like you try.
>>>
>>> You will get the exact same error if you try to do this on CentOS or
>>> Fedora.
>>>
>>> The normal way it works is that the engine "bundles" it in a tarball,
>>> copies it to the target host using ssh, untars it there and runs it.
>>>
>>> It then talks with it - the engine sends some stuff, host-deploy replies,
>>> etc.
>>>
>> I'm guessing this means I can now move on to building ovirt-engine.
>
> That would be great, but:
>
> 1. It will require a lot of work, mostly probably of packaging in Debian
> dependencies of the engine that are not yet there.
>
> 2. You'll be mostly walking the unwalked path. Most of the work on Debian
> support so far was on the hosts' side.
>
> Re (1.), you should also note that currently, the engine is not even
> packaged properly for Fedora/CentOS. I know this sounds weird, as everyone
> uses the packages we provide, but it's true - these packages are not
> compliant with Fedora's packaging guidelines. Why? Because we use maven
> for building the engine, and package also many dependencies simply as
> a result of maven getting them from maven central. See also:
>
> https://bugzilla.redhat.com/showdependencytree.cgi?id=1168605&hide_resolved=0
I now see (as I expected) that Debian has a similar policy:
https://wiki.debian.org/Java/MavenRepoSpec
Of course, you can still try to mostly follow the current rpm/maven
packaging, and have eventually something working. But Debian will
not accept it. To make Debian do accept it, you'll probably need to
"solve" the above bug first, for Debian. But perhaps Debian has better
tools for that than Fedora, so it might require less work :-)
>
> Best,
>
>>
>>> The protocol they use is described in otopi, in the file README.dialog.
>>>
>>> otopi has (currently) two "dialects" - "human" (default) and "machine".
>>> The engine and ovirt-host-deploy talk using the machine dialog.
>>>
>>> To make ovirt-host-deploy talk with you using the machine dialog,
>>> you should run it with:
>>>
>>> ovirt-host-deploy DIALOG/dialect=str:machine
>>>
>>> To make it let you configure it, run it with:
>>>
>>> ovirt-host-deploy DIALOG/dialect=str:machine DIALOG/customization=bool:True
>>>
>>> To know what it expects at each stage, I suggest to have a look at an
>>> ovirt-host-deploy log generated on el7 or fedora.
>>>
>> This is very useful; will definitely try this out.
>>> Anyway, congrats for a nice progress!
>> Thanks. I wouldn't have come this far without the community's help and
>> the documentation.
>>
>>>> I tried starting the libvirtd service to see if that would make the
>>>> VIRT/enable error go away or at least satisfy the requirements of
>>>> ovirt-host-deploy, but it didn't seem to work.
>>>
>>> If you check such a log file, you'll see there (among other things):
>>>
>>> DIALOG:SEND **%QStart: CUSTOMIZATION_COMMAND
>>> DIALOG:SEND ###
>>> DIALOG:SEND ### Customization phase, use 'install' to proceed
>>> DIALOG:SEND ### COMMAND>
>>> DIALOG:SEND **%QHidden: FALSE
>>> DIALOG:SEND ***Q:STRING CUSTOMIZATION_COMMAND
>>> DIALOG:SEND **%QEnd: CUSTOMIZATION_COMMAND
>>> DIALOG:RECEIVE env-query -k VIRT/enable
>>> DIALOG:SEND **%QStart: VIRT/enable
>>> DIALOG:SEND ###
>>> DIALOG:SEND ### Please specify value for 'VIRT/enable':
>>> DIALOG:SEND ### Response is VALUE VIRT/enable=type:value or
>>> ABORT VIRT/enable
>>> DIALOG:SEND ***Q:VALUE VIRT/enable
>>> DIALOG:SEND **%QEnd: VIRT/enable
>>> DIALOG:RECEIVE VALUE VIRT/enable=bool:true
>>>
>>> "SEND" is what the host-deploy sends, "RECEIVE" is what the engine
>>> replies.
>>>
>>> So host-deploy sent a prompt asking for a customization command,
>>> the engine sent the command 'env-query -k VIRT/enable', host-deploy
>>> then asked the engine to provide a value for 'VIRT/enable', and the
>>> engine replied 'VIRT/enable=bool:true'.
>>>
>> Okay. Will try to look into this as well.
>>
>>>> The other errors seem
>>>> to be related to not having an IP address that ovirt-host-deploy can
>>>> recognize. To package this for Debian, I would need to find the
>>>> equivalent of yumpackager.py for aptitude/apt-get/apt, since it seems
>>>> to be a dependency required by ovirt-host-deploy.
>>>
>>> As I said, you can ignore it for now. But IMO this isn't specific
>>> to Debian - search a bit and you'll find other similar cases.
>> Alright. Good to know. :)
>>
>>>
>>>>
>>>> TL;DR: How to enable the virt service and assign an IP address that
>>>> ovirt-host-deploy can use.
>>>> Write/Find a python script that is equivalent to yumpackager.py and
>>>> miniyum.py so that that dependency for ovirt-host-deploy is satisfied
>>>> as well.
>>>
>>> Last one will indeed be very interesting, but isn't mandatory for you
>>> to continue, if your stated goal is to have a Debian host managed by
>>> an oVirt engine. You can manually install all your stuff on the host,
>>> and use offlinepackager so that host-deploy will not try to install
>>> stuff for you. You'll then have a harder first-time-install, and
>>> will miss checking for updates etc. For these you'll indeed need to
>>> write something like debpackager, and probably minideb as well -
>>> engine-setup uses it directly, as otopi's packager isn't enough for it.
>>>
>>> I'd like to mention another point. As explained above, when the engine
>>> adds a host, it copies to it a bundle (tarfile). This bundle is not
>>> rpm/yum/dnf specific - it should work also on Debian. Normally,
>>> ovirt-host-deploy (the rpm package) is installed only on the engine
>>> machine. So if you do not care about the engine side for now, you
>>> should be able to try adding a Debian host to your engine already -
>>> just configure offline packager. This might be easier to debug then
>>> by manually running ovirt-host-deploy.
>> Well, my aim is to run oVirt *on* Debian, similar to how it is run and
>> used by users on say Fedora or RHEL/CentOS. So that's what is guiding
>> me. If your suggestions need to revised in the light of that, do let
>> me know.
>>
>> - Warm regards
>> Leni Kadali Mutungi
>
>
>
> --
> Didi
--
Didi
More information about the Users
mailing list