Most of them areoutdated, but provide historical design context.
They arenotuser documentation and should not be treated as such.
Documentation is available here.
Configurable Network Check for Self Hosted Engine
Currently ovirt-hosted-engine-ha, the agent running on potential hosts to host the Self Hosted Engine VM, checks his network liveliness by pinging the gateway. This feature adds alternative ways to check network liveliness, to enable Self Hosted Engine in networks which does not allow pinging the gateway.
The progress of the implementation and testing of this feature is tracked on Bug 1659052 - [RFE] Consider alternative to ICMP ping for hosted engine network test
Additional ways to check the network liveliness to be added are DNS, TCP and none.
DNS means that an NS query for “.” (the root) will be performed, if this succeeds, network is considered as alive.
TCP means, that a TCP connection to a given host and port combination will be created. If this succeeds, network is considered as alive. The configuration of this given host is out of scope of this feature.
None means, that the network is always considered alive.
Like ping, the DNS and TCP check should work for IPv4 and IPv6. This feature requires that on deployment of the self hosted engine up to three additional parameters:
- The desired way of checking network liveliness.
- The destination host for the TCP liveliness check.
- The destination port for the TCP liveliness check.
Benefit to oVirt
This feature will enable the usage of Self Hosted Engine in networks which does not allow pinging the gateway.
Modification of ovirt-hosted-engine-setup
hosted-engine --deploy is going to be extended to ask and check the additional
parameters like this:
Please specify which way the network connectivityshould be checked (ping, dns, tcp, none) [dns]: tcp Please specify the desired destination IP addressof the TCP connection test: sdf Please specify the desired destination TCP portof the TCP connection test: 434 [ ERROR ] Failed to connect via TCP
The related variables in the answer file will be
OVEHOSTED_NETWORK/network_test_tcp_port, while the latter two are only
relevant if the value of
The related input is validated instantly. On invalid input, an error is reported. If the invalid input is read from the answer file, the deployment will stop, if the invalid input is provided interactively, the wizard repeats the question after presenting the error message.
Modification of cockpit-ovirt
cockpit-ovirt is going to be extended to ask and check the additional
parameters like this:
DNS has to be the pre-selected default value.
Modification of ovirt-ansible-hosted-engine-setup
ovirt-hosted-engine-setup and cockpit-ovirt will provide the three additional
options as the inputs
ovirt-ansible-hosted-engine-setup will transform them into the three parameters
Modification of ovirt-hosted-engine-ha
ovirt-hosted-engine-ha will perform the liveliness check according to the three
On upgrade the new option
network_test is missing in
In this case ovirt-hosted-engine-ha will still ping the gateway, which will
ensure backward capability.
Configuration of existing Deployments
If the option
network_test should set on a specific host,
this can be done like in the following example:
hosted-engine --set-shared-config network_test dns --type=he_local
If the default setting in the template for new hosts to be added in the future should be modified, the option has to be set on the shared storage like this:
hosted-engine --set-shared-config network_test dns --type=he_shared
A full example of an update of
tcp on a specific host looks
[root@c76he20190415h1 ~]# hosted-engine --set-shared-config network_test tcp --type=he_local [root@c76he20190415h1 ~]# hosted-engine --set-shared-config tcp_t_port 192.168.1.115 --type=he_local [root@c76he20190415h1 ~]# hosted-engine --set-shared-config tcp_t_port 22 --type=he_local [root@c76he20190415h1 ~]# systemctl restart ovirt-ha-broker ovirt-ha-agent [root@c76he20190415h1 ~]# tail -f /var/log/ovirt-hosted-engine-ha/broker.log Listener::INFO::2019-04-17 14:13:02,712::monitor::78::ovirt_hosted_engine_ha.broker.monitor.Monitor::(start_submonitor) Started submonitor storage-domain Thread-5::INFO::2019-04-17 14:13:02,913::engine_health::94::engine_health.EngineHealth::(action) VM not on this host Listener::WARNING::2019-04-17 14:13:03,029::status_broker::153::ovirt_hosted_engine_ha.broker.status_broker.StatusBroker::(lock_host_id) Host id is not locked, trying to lock Thread-3::INFO::2019-04-17 14:13:03,041::mem_free::51::mem_free.MemFree::(action) memFree: 5084 Thread-2::INFO::2019-04-17 14:13:03,637::mgmt_bridge::62::mgmt_bridge.MgmtBridge::(action) Found bridge ovirtmgmt with ports Thread-1::INFO::2019-04-17 14:13:04,894::network::88::network.Network::(action) Successfully verified network status Thread-4::INFO::2019-04-17 14:13:12,725::cpu_load_no_engine::110::cpu_load_no_engine.CpuLoadNoEngine::(calculate_load) VM not on this host Thread-4::INFO::2019-04-17 14:13:12,726::cpu_load_no_engine::126::cpu_load_no_engine.CpuLoadNoEngine::(calculate_load) System load total=0.0380, engine=0.0000, non-engine=0.0380 Thread-5::INFO::2019-04-17 14:13:12,927::engine_health::94::engine_health.EngineHealth::(action) VM not on this host Thread-2::INFO::2019-04-17 14:13:13,585::mgmt_bridge::62::mgmt_bridge.MgmtBridge::(action) Found bridge ovirtmgmt with ports Thread-1::INFO::2019-04-17 14:13:15,072::network::88::network.Network::(action) Successfully verified network status
The user has to configure the desired way of checking network liveliness on graphical installation as described in cockpit-ovirt, or interactively as described in ovirt-hosted-engine-setup, or in the answer file as described in ovirt-hosted-engine-setup. ) If the TCP check is chosen, the user has to define the destination host and port in the same way. If the destination host and port are missing in the answer file, ovirt-hosted-engine-setup will ask interactively.
It should be checked if the three possible inputs (ovirt-hosted-engine-setup interactivly and by answer file, and cockpit-ovirt) rejects wrong values and passes correct values correctly to
Additionally, the ovirt-hosted-engine-ha reacts on the related condition for
all 4 (none, ping, dns and tcp) possible values in for
Even there is nothing special about IPv6 in this feature, it might be useful to verify on IPv6.