Skip to content

Machine-readable variant of the start progress output #1316

@afbjorklund

Description

@afbjorklund

Description

After adding the human-readable variant of the progress in #1311, a machine-readable variant is also useful.

The plan was to use it for the GUI, to show a progress dialog instead of just spinning the cursor (like today)

https://doc.qt.io/qt-5/qprogressdialog.html#details

Human readable:

Starting "default"
Waiting 1 / 8 [--->________________________]  "ssh" (essential 1/5)                                 
Waiting 2 / 8 [------>_____________________]  "user session is ready for ssh" (essential 2/5)       
Waiting 3 / 8 [---------->_________________]  "sshfs binary to be installed" (essential 3/5)        
Waiting 4 / 8 [------------->______________]  "fuse to \"allow_other\" as user" (essential 4/5)     
Waiting 5 / 8 [----------------->__________]  "the guest agent to be running" (essential 5/5)       
Waiting 6 / 8 [-------------------->_______]  "systemd must be available" (optional 1/2)            
Waiting 7 / 8 [------------------------>___]  "containerd binaries to be installed" (optional 2/2)  
Waiting 8 / 8 [----------------------------]  "boot scripts must have finished" (final 1/1)         
READY.

Machine readable:

{"name":"default","progress":"Booting"}
{"name":"default","requirement":{"label":"essential","number":1,"count":5,"description":"ssh","index":0,"total":8}}
{"name":"default","requirement":{"label":"essential","number":2,"count":5,"description":"user session is ready for ssh","index":1,"total":8}}
{"name":"default","requirement":{"label":"essential","number":3,"count":5,"description":"sshfs binary to be installed","index":2,"total":8}}
{"name":"default","requirement":{"label":"essential","number":4,"count":5,"description":"fuse to \"allow_other\" as user","index":3,"total":8}}
{"name":"default","requirement":{"label":"essential","number":5,"count":5,"description":"the guest agent to be running","index":4,"total":8}}
{"name":"default","requirement":{"label":"optional","number":1,"count":2,"description":"systemd must be available","index":5,"total":8}}
{"name":"default","requirement":{"label":"optional","number":2,"count":2,"description":"containerd binaries to be installed","index":6,"total":8}}
{"name":"default","requirement":{"label":"final","number":1,"count":1,"description":"boot scripts must have finished","index":7,"total":8}}
{"name":"default","progress":"Running"}

It would also affect the download output...

It needs a special pb template, for JSON lines.

And also a JSON wrapper, for the message.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions