
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@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