[PATCH libvirt v1 0/3] Ensure full early console access with libvirt

Marc Hartmayer posted 3 patches 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20230928153710.14340-1-mhartmay@linux.ibm.com
tools/virsh-console.c |  8 ++++
tools/virsh-console.h |  1 +
tools/virsh-domain.c  | 94 ++++++++++++++++++++++++++++++++-----------
3 files changed, 80 insertions(+), 23 deletions(-)
[PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Marc Hartmayer 7 months ago
Currently, early console output may be lost, e.g. if starting a guest with
`virsh start --console` guest, which can make debugging of early failures very
difficult
(like zipl messages or disabled wait conditions happening early). This is
because QEMU may emit serial console output before the libvirt console client
starts to consume data from the pts. This can be prevented by starting the guest
in paused state, connect to the console and then resume the guest.

Note: There is still a problem in QEMU itself, see QEMU patch series `[PATCH]
chardev/char-pty: Avoid losing bytes when the other side just (re-)connected`
[1]

Changelog:
RFCv1->v1:
+ rebased on current master
+ worked in comments from Daniel

[1] https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg02725.html

Marc Hartmayer (3):
  virsh: add `console --resume` support
  Improve `virsh start --console` behavior
  Improve `virsh create --console` behavior

 tools/virsh-console.c |  8 ++++
 tools/virsh-console.h |  1 +
 tools/virsh-domain.c  | 94 ++++++++++++++++++++++++++++++++-----------
 3 files changed, 80 insertions(+), 23 deletions(-)


base-commit: dd403f8873cf8de7675b89ed757a4228af7bc05e
-- 
2.34.1
Re: [PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Michal Prívozník 6 months ago
On 9/28/23 17:37, Marc Hartmayer wrote:
> Currently, early console output may be lost, e.g. if starting a guest with
> `virsh start --console` guest, which can make debugging of early failures very
> difficult
> (like zipl messages or disabled wait conditions happening early). This is
> because QEMU may emit serial console output before the libvirt console client
> starts to consume data from the pts. This can be prevented by starting the guest
> in paused state, connect to the console and then resume the guest.
> 
> Note: There is still a problem in QEMU itself, see QEMU patch series `[PATCH]
> chardev/char-pty: Avoid losing bytes when the other side just (re-)connected`
> [1]
> 
> Changelog:
> RFCv1->v1:
> + rebased on current master
> + worked in comments from Daniel
> 
> [1] https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg02725.html
> 
> Marc Hartmayer (3):
>   virsh: add `console --resume` support
>   Improve `virsh start --console` behavior
>   Improve `virsh create --console` behavior
> 
>  tools/virsh-console.c |  8 ++++
>  tools/virsh-console.h |  1 +
>  tools/virsh-domain.c  | 94 ++++++++++++++++++++++++++++++++-----------
>  3 files changed, 80 insertions(+), 23 deletions(-)
> 
> 
> base-commit: dd403f8873cf8de7675b89ed757a4228af7bc05e

All 'issues' I've raised are trivial. I've fixed them and pushed. Sorry
for leaving this to rot this long on the list.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal
Re: [PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Marc Hartmayer 6 months ago
On Tue, Oct 24, 2023 at 02:12 PM +0200, Michal Prívozník <mprivozn@redhat.com> wrote:
> On 9/28/23 17:37, Marc Hartmayer wrote:
>> Currently, early console output may be lost, e.g. if starting a guest with
>> `virsh start --console` guest, which can make debugging of early failures very
>> difficult
>> (like zipl messages or disabled wait conditions happening early). This is
>> because QEMU may emit serial console output before the libvirt console client
>> starts to consume data from the pts. This can be prevented by starting the guest
>> in paused state, connect to the console and then resume the guest.
>> 
>> Note: There is still a problem in QEMU itself, see QEMU patch series `[PATCH]
>> chardev/char-pty: Avoid losing bytes when the other side just (re-)connected`
>> [1]
>> 
>> Changelog:
>> RFCv1->v1:
>> + rebased on current master
>> + worked in comments from Daniel
>> 
>> [1] https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg02725.html
>> 
>> Marc Hartmayer (3):
>>   virsh: add `console --resume` support
>>   Improve `virsh start --console` behavior
>>   Improve `virsh create --console` behavior
>> 
>>  tools/virsh-console.c |  8 ++++
>>  tools/virsh-console.h |  1 +
>>  tools/virsh-domain.c  | 94 ++++++++++++++++++++++++++++++++-----------
>>  3 files changed, 80 insertions(+), 23 deletions(-)
>> 
>> 
>> base-commit: dd403f8873cf8de7675b89ed757a4228af7bc05e
>
> All 'issues' I've raised are trivial. I've fixed them and pushed. Sorry
> for leaving this to rot this long on the list.
>
> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Thanks a ton!

>
> Michal
>
-- 
Kind regards / Beste Grüße
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
Re: [PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Andrea Bolognani 6 months ago
On Tue, Oct 24, 2023 at 05:14:41PM +0200, Marc Hartmayer wrote:
> On Tue, Oct 24, 2023 at 02:12 PM +0200, Michal Prívozník <mprivozn@redhat.com> wrote:
> > On 9/28/23 17:37, Marc Hartmayer wrote:
> >> Marc Hartmayer (3):
> >>   virsh: add `console --resume` support
> >>   Improve `virsh start --console` behavior
> >>   Improve `virsh create --console` behavior
> >
> > All 'issues' I've raised are trivial. I've fixed them and pushed. Sorry
> > for leaving this to rot this long on the list.
> >
> > Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
>
> Thanks a ton!

Marc,

can you please add a couple of lines about this change to the release
notes (NEWS.rst)? It's a really nice improvement and we definitely
want users to learn about it :)

Thanks in advance!

-- 
Andrea Bolognani / Red Hat / Virtualization
Re: [PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Marc Hartmayer 6 months ago
On Tue, Oct 24, 2023 at 09:29 AM -0700, Andrea Bolognani <abologna@redhat.com> wrote:
> On Tue, Oct 24, 2023 at 05:14:41PM +0200, Marc Hartmayer wrote:
>> On Tue, Oct 24, 2023 at 02:12 PM +0200, Michal Prívozník <mprivozn@redhat.com> wrote:
>> > On 9/28/23 17:37, Marc Hartmayer wrote:
>> >> Marc Hartmayer (3):
>> >>   virsh: add `console --resume` support
>> >>   Improve `virsh start --console` behavior
>> >>   Improve `virsh create --console` behavior
>> >
>> > All 'issues' I've raised are trivial. I've fixed them and pushed. Sorry
>> > for leaving this to rot this long on the list.
>> >
>> > Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
>>
>> Thanks a ton!
>
> Marc,
>
> can you please add a couple of lines about this change to the release
> notes (NEWS.rst)? It's a really nice improvement and we definitely
> want users to learn about it :)
>
> Thanks in advance!

Done.

>
> -- 
> Andrea Bolognani / Red Hat / Virtualization
>
-- 
Kind regards / Beste Grüße
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
Re: [PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Marc Hartmayer 6 months, 2 weeks ago
On Thu, Sep 28, 2023 at 05:37 PM +0200, Marc Hartmayer <mhartmay@linux.ibm.com> wrote:
> Currently, early console output may be lost, e.g. if starting a guest with
> `virsh start --console` guest, which can make debugging of early failures very
> difficult
> (like zipl messages or disabled wait conditions happening early). This is
> because QEMU may emit serial console output before the libvirt console client
> starts to consume data from the pts. This can be prevented by starting the guest
> in paused state, connect to the console and then resume the guest.
>
> Note: There is still a problem in QEMU itself, see QEMU patch series `[PATCH]
> chardev/char-pty: Avoid losing bytes when the other side just (re-)connected`
> [1]
>
> Changelog:
> RFCv1->v1:
> + rebased on current master
> + worked in comments from Daniel
>
> [1] https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg02725.html
>
> Marc Hartmayer (3):
>   virsh: add `console --resume` support
>   Improve `virsh start --console` behavior
>   Improve `virsh create --console` behavior
>
>  tools/virsh-console.c |  8 ++++
>  tools/virsh-console.h |  1 +
>  tools/virsh-domain.c  | 94 ++++++++++++++++++++++++++++++++-----------
>  3 files changed, 80 insertions(+), 23 deletions(-)
>
>
> base-commit: dd403f8873cf8de7675b89ed757a4228af7bc05e
> -- 
> 2.34.1
>

Polite ping and adding Daniel to CC - sry I missed that in the
beginning.

-- 
Kind regards / Beste Grüße
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
Re: [PATCH libvirt v1 0/3] Ensure full early console access with libvirt
Posted by Marc Hartmayer 6 months, 1 week ago
On Wed, Oct 11, 2023 at 10:05 AM +0200, "Marc Hartmayer" <mhartmay@linux.ibm.com> wrote:
> On Thu, Sep 28, 2023 at 05:37 PM +0200, Marc Hartmayer <mhartmay@linux.ibm.com> wrote:
>> Currently, early console output may be lost, e.g. if starting a guest with
>> `virsh start --console` guest, which can make debugging of early failures very
>> difficult
>> (like zipl messages or disabled wait conditions happening early). This is
>> because QEMU may emit serial console output before the libvirt console client
>> starts to consume data from the pts. This can be prevented by starting the guest
>> in paused state, connect to the console and then resume the guest.
>>

>> Note: There is still a problem in QEMU itself, see QEMU patch series `[PATCH]
>> chardev/char-pty: Avoid losing bytes when the other side just (re-)connected`
>> [1]

This patch is now accepted upstream.

>>
>> Changelog:
>> RFCv1->v1:
>> + rebased on current master
>> + worked in comments from Daniel
>>
>> [1] https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg02725.html
>>
>> Marc Hartmayer (3):
>>   virsh: add `console --resume` support
>>   Improve `virsh start --console` behavior
>>   Improve `virsh create --console` behavior
>>
>>  tools/virsh-console.c |  8 ++++
>>  tools/virsh-console.h |  1 +
>>  tools/virsh-domain.c  | 94 ++++++++++++++++++++++++++++++++-----------
>>  3 files changed, 80 insertions(+), 23 deletions(-)
>>
>>
>> base-commit: dd403f8873cf8de7675b89ed757a4228af7bc05e
>> -- 
>> 2.34.1
>>
>
> Polite ping and adding Daniel to CC - sry I missed that in the
> beginning.
>
> -- 
> Kind regards / Beste Grüße
>    Marc Hartmayer
>
> IBM Deutschland Research & Development GmbH
> Vorsitzender des Aufsichtsrats: Gregor Pillen
> Geschäftsführung: David Faller
> Sitz der Gesellschaft: Böblingen
> Registergericht: Amtsgericht Stuttgart, HRB 243294

Very friendly ping.

-- 
Kind regards / Beste Grüße
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Gregor Pillen
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294