7a2aa8aaa2
Due to race conditions, multiple messages might be received from a single read by guestServer. guestServer in this case would only handle the first message and discard the remaining ones. In this particular issue, guestServer received a heartbeat challenge response message and a vote notification response (reject) message from a single read, and the latter message was discarded. This fix re-writes message handler for virtio serial channel to handle segmented and multiple messages, and removed any newline characters in client log message. It contains fix for both host and client, so both host load and guest image need to be updated to test the fix. Change-Id: I50ed2236ad24b61a79dce7773ace5b4b6ee33f28 Signed-off-by: Al Bailey <Al.Bailey@windriver.com> |
||
---|---|---|
.. | ||
guest_client | ||
guest_client_api | ||
include | ||
packaging | ||
LICENSE | ||
Makefile | ||
README | ||
README.build | ||
README.usage | ||
TiS-Guest-Heartbeat-Service.doc | ||
TiS-Guest-Heartbeat-Service.pdf |
Copyright(c) 2013-2017, Wind River Systems, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Wind River Systems nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------- TITANIUM CLOUD - GUEST HEARTBEAT SDK =========================================== DESCRIPTION =========== Titanium Cloud Guest-Client provides a heartbeat service to monitor the health of guest application(s) within a VM running under WindRiver's Titanium Cloud. Loss of heartbeat will result in a corrective action being taken against the VM. The heartbeat interval and corrective action is specified by the VM. Titanium Cloud Guest-Client also provides guest application(s) within a VM running under WindRiver's Titanium Cloud, the ability to receive notification of and vote to accept or reject actions about to be performed against the VM. On notifications, the guest application within the VM can take this opportunity to cleanly shut down or transfer its service to a peer VM. +-------- Virtual Machine ------------------------+ | | | VM-Health-Check-Script | | / | | / Guest-Application-1 | Titanium Cloud <----> TiS-Guest-Client <-----> ... | | \ Guest-Application-8 | | \ | | VM-Event-Script | | | +-------------------------------------------------+ See also: README.build - building and installing. README.usage - configuring and using the heartbeat, notification and voting functionality. DELIVERY ======== Titanium Cloud Guest-Client is delivered as source in a compressed tarball, wrs-guest-client-v3.0.0.tgz, such that it can be compiled for the applicable VM Linux distribution.