Hi Gianluca,

please see my replies inline

On Tue, Oct 6, 2020 at 11:37 AM Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:
On Tue, Oct 6, 2020 at 11:25 AM Martin Perina <mperina@redhat.com> wrote:

You say to drive a command form the engine that is a VM that runs inside the host, but ask to shutdown VMs running on host before...
This is a self hosted engine composed by only one single host.
Normally I would use the procedure from the engine web admin gui, one host at a time, but with single host it is not possible.....

We have said several times, that it doesn't make sense to use oVirt on a single host system. So you either need to attach 2nd host to your setup (preferred) or shutdown all VMS and run manual upgrade of your host OS


We who????

So I've spent the past hour deeply investigating our upstream documentation and you are right, we don't have any clear requirements about the minimal number of hosts in upstream oVirt documentation.
But here are the facts:

1. To be able to upgrade a host either from UI/RESTAPI or manually using SSH, the host always needs to be in Maintenance:

2. To perform Reinstall or Enroll certificate of a host, the host needs to be in Maintenance mode

3. When host is in Maintenance mode, there are no oVirt managed VMs running on it

4. When engine is not running (either stopped or crashed), VMs running on hypervisor hosts are unaffected (meaning they are running independently on engine), but they are pretty much "pinned to the host they are running on" (for example VMs cannot be migrated or started/stopped (of course you can stop this VM from within) without running engine)

So just using above facts here are logical conclusions:

1. Standalone engine installation with only one hypervisor host
    - this means that engine runs on bare metal hosts (for example engine.domain.com) and single hypervisor host is managed by it (for example host1.domain.com)
    - in this case scenario administrator is able to perform all maintenance task (even though at the cost that VMs running on hypervisor need to be stopped before switching to Maintenance mode),
      because engine is running independently on hypervisor

2. Hosted engine installation with one hypervisor hosts
    - this means that engine runs as a VM (for example engine.domain.com) inside a single hypervisor host, which is managed by it (for example host1.domain.com)
    - in this scenario maintenance of the host is very limited:
        - you cannot move the host to Maintenance, because hosted engine VM cannot be migrated outside a host
        - you can perform global Maintenance and the probably manually stop hosted engine VM, but then you don't have engine to be able to perform maintenance tasks (for example, Upgrade, Reinstall or Enroll certificates)

But in both above use cases you cannot use the biggest oVirt advantage and that's a shared storage among hypervisor hosts, which allows you to perform live migration of VMs. And thanks to that feature you can perform maintenance tasks on the host(s) without interruption in providing VM services.

From the above it's obvious that we need to really clearly state that in a production environment oVirt requires to have at least 2 hypervisor hosts for full functionality.

In old times there was the all-in-one setup that was substituted from single host HCI

All-in-one feature has been deprecated in oVirt 3.6 and fully removed in oVirt 4.0
... developers also put extra efforts to setup the wizard comprising the single host scenario.....

Yes, you are right, you can initially set up oVirt with just a single host, but it's expected that you are going to add an additional host(s) soon.

Obviously it is aimed at test bed / devel / home environments, not production ones.

Of course, for development use whatever your want, but for production you care about your setup, because you want the services your offer to run smoothly
Do you want me to send you the list of bugzilla contributed by users using single host environments that helped Red Hat to have a better working RHV too?

It's clearly stated that at least 2 hypervisors are required for hosted engine or standalone RHV installation:
But as I mentioned above, we have a bug in oVirt documentation, that such an important requirement is not clearly stated. And this is not a fault of a community, this is a fault of oVirt maintainers, that we have forgotten to mention such an important requirement in oVirt documentation and it's clearly visible, that it caused a confusion to so many users.

But no matter what I or you or anyone else think or wish, oVirt is designed in a way that the engine is a brain and hypervisors are a body. And without a fully functional brain the body cannot live long.
This aspect is so deeply included in overall oVirt design, that we will most probably never be able to overcome it (even though that hosted engine solution made the engine much more highly available then any other attempt before).


Please think more deeply next time, thanks

Gianluca

Regards,
Martin


--
Martin Perina
Manager, Software Engineering
Red Hat Czech s.r.o.