I figured it out:
I noticed that the cockpit was running this command:
/usr/bin/python3.8 /usr/bin/ansible-playbook
/usr/share/ovirt-hosted-engine-setup/ansible/trigger_role.yml
--tags=get_network_interfaces --skip-tags=always -e
he_just_collect_network_interfaces=True
--module-path=/usr/share/ovirt-hosted-engine-setup/ansible
--inventory=localhost
ERROR! the playbook:
/usr/share/ovirt-hosted-engine-setup/ansible/trigger_role.yml could not be
found
The directory "/usr/share/ovirt-hosted-engine-setup/ansible" doesn't exist.
It looks like it was renamed to
"/usr/share/ovirt-hosted-engine-setup/he_ansible"
This command that I ran on all three nodes worked around the bug:
ln -s /usr/share/ovirt-hosted-engine-setup/he_ansible/
/usr/share/ovirt-hosted-engine-setup/ansible
I created a pull request
https://github.com/oVirt/cockpit-ovirt/pull/27/commits
Thanks,
Dax Kelson
On Wed, Jul 6, 2022 at 3:03 PM Dax Kelson <daxkelson(a)gmail.com> wrote:
TL;DR hyperconverged install. Gluster install works, hosted engine
fails
with "no valid network interface has ben found"
I have a three node hyperconverged cluster that had previously been
running oVirt 4.4 successfully.
A fully wipe and clean install of 4.5.1 was attempted with:
ovirt-node-ng-installer-4.5.1-2022062306.el8.iso
On each node, there are two statically configured 10Gb ethernet interfaces
(and some unused 1Gb interfaces)
enp5s0f0 - ovirt management/VM network (default gateway is on this network)
enp5s0f1 - gluster network (isolated network)
Name resolution is done via /etc/hosts on each node:
100.64.0.7 node1-ovirt node1-ovirt.local
100.64.0.8 node2-ovirt node2-ovirt.local
100.64.0.9 node3-ovirt node3-ovirt.local
100.79.192.1 node1-ovirt-storage node1-ovirt-storage.local
100.79.192.2 node2-ovirt-storage node2-ovirt-storage.local
100.79.192.3 node3-ovirt-storage node3-ovirt-storage.local
Attempting to install the hosted engine fails with:
*System data could not be retrieved!*
*No valid network interface has been found*
*If you are using Bonds or VLANs Use the following naming conventions:*
- VLAN interfaces: physical_device.VLAN_ID (for example, eth0.23,
eth1.128, enp3s0.50)
- Bond interfaces: bond*number* (for example, bond0, bond1)
- VLANs on bond interfaces: bond*number*.VLAN_ID (for example, bond0.50,
bond1.128)
* Supported bond modes: active-backup, balance-xor, broadcast, 802.3ad
* Networking teaming is not supported and will cause errors
Here is the network setup on node1:
[root@node1-ovirt ovirt]# ip -4 addr ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
6: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
group default qlen 1000
inet 100.64.0.7/20 brd 100.64.15.255 scope global noprefixroute
enp5s0f0
valid_lft forever preferred_lft forever
7: enp5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
group default qlen 1000
inet 100.79.192.1/24 brd 100.79.192.255 scope global noprefixroute
enp5s0f1
valid_lft forever preferred_lft forever
8: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
state DOWN group default qlen 1000
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
[root@node1-ovirt ovirt]#
My troubleshooting is that the failure is /probably/ coming from this
file, but I'm not sure why:
/usr/share/ansible/collections/ansible_collections/ovirt/ovirt/roles/hosted_engine_setup/tasks/pre_checks/001_validate_network_interfaces.yml
Help?
Thanks!
Dax Kelson