On Sun, Sep 4, 2016 at 10:54 AM, Yedidyah Bar David <didi@redhat.com> wrote:
On Sat, Sep 3, 2016 at 1:18 PM, Gianluca Cecchi
<gianluca.cecchi@gmail.com> wrote:
> Hello,
> how do the two modes apply in case of single host?
> During an upgrade phase, after having upgraded the self hosted engine and
> leaving global maintenance and having checked all is ok, what is the correct
> mode then to put host if I want finally to update it too?

The docs say to put hosts to maintenance from the engine before upgrading them.

This is (also) so that VMs on them are migrated away to other hosts.

With a single host, you have no other hosts to migrate VMs to.

So you should do something like this:

1. Set global maintenance (because you are going to take down the
engine and its vm)
2. Shutdown all other VMs
3. Shutdown engine vm from itself
At this point, you should be able to simply stop HA services. But it
might be cleaner to first set local maintenance. Not sure but perhaps
this might be required for vdsm. So:
4. Set local maintenance
5. Stop HA services. If setting local maintenance didn't work, perhaps
better stop also vdsm services. This stop should obviously happen
automatically by yum/rpm, but perhaps better do this manually to see
that it worked.
6. yum (or dnf) update stuff.
7. Start HA services
8. Check status. I think you'll see that both local and global maint
are still set.
9. Set maintenance to none
10. Check status again - I think that after some time HA will decide
to start engine vm and should succeed.
11. Start all other VMs.

Didn't try this myself.

Best,
--
Didi

I tested on one of the 2 environments.
It seems it worked.
But I update the kernel on host without restarting it. I would try that with the other one.
Some notes:

8. Check status. I think you'll see that both local and global maint
are still set.

Actually even if I'm on global maintenance and then I set local maintenance, it seems I "loose" the global maintenance state...

I see this output, without the line with Global Maintenance and exclamation marks....:

[root@ractor ~]# hosted-engine --vm-status
/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/lib/storage_backends.py:15: DeprecationWarning: vdscli uses xmlrpc. since ovirt 3.6 xmlrpc is deprecated, please use vdsm.jsonrpcvdscli
  import vdsm.vdscli


--== Host 1 status ==--

Status up-to-date                  : False
Hostname                           : ractor.mydomain
Host ID                            : 1
Engine status                      : unknown stale-data
Score                              : 0
stopped                            : False
Local maintenance                  : True
crc32                              : d616dde1
Host timestamp                     : 3304360
Extra metadata (valid at timestamp):
    metadata_parse_version=1
    metadata_feature_version=1
    timestamp=3304360 (Mon Oct  3 22:27:07 2016)
    host-id=1
    score=0
    maintenance=True
    state=LocalMaintenance
    stopped=False
[root@ractor ~]#


I'm able to exit maintenance, connect to engine and start the other VMs.
Now I have to try considering also the restart of the hypervisor host, due to new kernel package install.

Gianluca