This is a workaround for OpenStack, which returns the local hostname as the public hostname for some time during the launch, even though the instance is already running. At each IaaS query, we check if the instance IP information has changed. If it does, we send a state update to EPUM. We make sure that EPUM does not process out of order messages by using an update counter.
- better validation of parameters - don't try to terminate any process in a terminal state, not just >= TERMINATED - log process state changes - fix race where TERMINATED heartbeats could be received before TERMINATING state was set -- this resulted in the PD assuming a erroneous termination, and restarting the process!