On Mon, Nov 07, 2016 at 08:56:58 -0500, Matt Broadstone wrote:
On Mon, Nov 7, 2016 at 8:52 AM, Matt Broadstone
<mbroadst(a)gmail.com> wrote:
> On Mon, Nov 7, 2016 at 8:35 AM, Peter Krempa <pkrempa(a)redhat.com> wrote:
>> On Mon, Nov 07, 2016 at 13:31:30 +0000, Daniel Berrange wrote:
>>> On Mon, Nov 07, 2016 at 08:22:59AM -0500, Matt Broadstone wrote:
[...]
>>
>> That choice was deliberate. I planned to add a separate event for
>> channels but never got around to do it actually. The guest agent event
>> is separate since libvirt can have different handling regarding the
>> guest agent state and I did not want to mix them.
>>
>> Peter
>
> Daniel, Peter,
>
> Thanks for your quick responses. I have a few questions before implementation:
>
> - I assume that you would prefer to keep the existing guest
> lifecycle events, for backwards compatibility?
>
> - Do you have a preference wrt naming this event? I see some
> inconsistencies the events ids (design-wise) (e.g.
> VIR_DOMAIN_EVENT_ID_DEVICE_ADDED / VIR_DOMAIN_EVENT_ID_DEVICE_REMOVED
> / VIR_DOMAIN_EVENT_ID_DEVICE_DEVICE_REMOVAL_FAILED, instead of a
> single event for all potential changes like
> VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE).
A single event is preferred. Multiple names regarding the device
lifecycle are a result of iterative adding of events over a long time.
>
> Matt
Ah, sorry one followup question. Should the event generalize to serial
changes, or is the preference to keep it specific to channels?
Qemu currently implements this for virtio channels, thus it will work
currently only for channels.
The design of the data returned by the event may allow to use other
devices like 'serial'. The difference is that a serial device uses port
number as the target, whereas channel uses channel name.
Having a universal event would require to use a discriminator along with
a naming scheme for the numberred serial ports.
Peter