<tt><font size=2>Xu He Jie <xuhj@linux.vnet.ibm.com> wrote on 04/06/2013
11:17:49 AM:<br>
<br>
> Yes, the goal is heartbeat of openstack services.</font></tt>
<br>
<br><tt><font size=2>So, what is missing in the current servicegroup API
abstraction? Why defining a new one?</font></tt>
<br>
<br><tt><font size=2>> Does 'VM HA' means the physical nodes that running
the VMs is down, <br>
> then nova should startup those VMs on another physical nodes?</font></tt>
<br>
<br><tt><font size=2>Yes.</font></tt>
<br><tt><font size=2><br>
> What I understand was there are two layers of HA:<br>
> 1.The HA of physical node was done by heartbeat/corosync+pacemaker,
<br>
> as this describe </font></tt><a href="http://docs.openstack.org/trunk/openstack-ha/"><tt><font size=2>http://docs.openstack.org/trunk/openstack-ha/</font></tt></a><tt><font size=2><br>
> content/ch-intro.html</font></tt>
<br>
<br><tt><font size=2>The problem with this approach is that heartbeat/corosync
do not scale to more than handful of nodes. There are several recent efforts
to develop a cloud-scale heartbeat mechanisms -- so it could make sense
to have a framework that would enable plugging them in, to trigger VM evacuation
(and for other purposes).</font></tt>
<br><tt><font size=2><br>
> 2.The HA of service that provided by openstack was done by this <br>
> common heartbeat driver(to monitoring individual services).</font></tt>
<br><tt><font size=2>> The VM(compute service) provided by nova. So
VM HA should be done by<br>
> this common heartbeat driver, it needn't monitor liveness of <br>
> physical nodes in heartbeat driver.<br>
> Does make sense?<br>
</font></tt>
<br><tt><font size=2>Ideally, the heartbeat at the various levels should
be handled in a more holistic way, to enable better decision making (e.g.,
if the service is down but the node isn't -- probably just need to restart
the service). Not sure whether this should be in Nova or in a separate
service, though..</font></tt>
<br><tt><font size=2><br>
Thanks,</font></tt>
<br><tt><font size=2>Alex</font></tt>
<br>