OS-7381: bhyve should handle UART socket reconnect

Details

Issue Type:Bug
Priority:4 - Normal
Status:Resolved
Created at:2018-11-15T23:46:49.438Z
Updated at:2018-11-26T16:01:38.499Z

People

Created by:Patrick Mooney [X]
Reported by:Patrick Mooney [X]
Assigned to:Patrick Mooney [X]

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-11-26T16:01:37.547Z)

Fix Versions

2018-12-06 Grizz (Release Date: 2018-12-06)

Related Links

Labels

bhyve

Description

Presently, if a client connected to one of the bhyve UART sockets disconnects, it will not be able to reestablish a meaningful connection until the instance restarts. A concrete case of this would be a restart of the metadata service while instances are running, preventing any of them from being able to perform mdata-* requests after that.

As part of the fixes for OS-7369, we should look to improve this edge case.

Comments

Comment by Patrick Mooney [X]
Created at 2018-11-16T20:20:06.922Z

To test this, I started several bhyve VMs on a CN. After verifying that they could access the metadata service via ttyb/COM2, I restarted the metadata service (both via svcadm and pkill -9). When the service had restarted, I checked to see that I could still successfully make metadata requests from inside the instances.


Comment by Jira Bot
Created at 2018-11-26T16:01:38.499Z

illumos-joyent commit bb7f525820fb9ee32d8b59ed1b4c53c0624d8598 (branch master, by Patrick Mooney)

OS-7369 full UART FIFO can send bhyve into a spin
OS-7381 bhyve should handle UART socket reconnect
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Reviewed by: Mike Gerdts <mike.gerdts@joyent.com>
Approved by: Mike Gerdts <mike.gerdts@joyent.com>