GoogleCloudPlatform / GoogleCloudPlatform/konlet

don't spam serial console many times a second with image pull updates

Open
#29 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
88
Forks
24
PR merge metrics
No merged PRs in 30d

Description

konlet is spamming my GCE VM's serial console with container layer pull updates (completed with colored ASCII art?) more than once a second:

These all happened from 30.11 seconds to 30.13 seconds after boot:

```
[ 30.115770] konlet-startup[437]: {"status":"Pulling fs layer","progressDetail":{},"id":"6a5a5368e0c2"}
[ 30.116311] konlet-startup[437]: {"status":"Pulling fs layer","progressDetail":{},"id":"4f789012f0cb"}
[ 30.116960] konlet-startup[437]: {"status":"Pulling fs layer","progressDetail":{},"id":"ad84b31d70a2"}
[ 30.117474] konlet-startup[437]: {"status":"Pulling fs layer","progressDetail":{},"id":"dfc8294509e5"}
[ 30.117962] konlet-startup[437]: {"status":"Waiting","progressDetail":{},"id":"dfc8294509e5"}
[ 30.118610] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":524436,"total":124447408},"progress":
"[\u003e ] 524.4 kB/124.4 MB","id":"4f789012f0cb"}
[ 30.118979] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":7962624,"total":124447408},"progress"
:"[===\u003e ] 7.963 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.119479] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":441138,"total":44021346},"progress":"
[\u003e ] 441.1 kB/44.02 MB","id":"ad84b31d70a2"}
[ 30.120296] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":7519026,"total":44021346},"progress":
"[========\u003e ] 7.519 MB/44.02 MB","id":"ad84b31d70a2"}
[ 30.120932] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":8494192,"total":124447408},"progress"
:"[===\u003e ] 8.494 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.121459] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":513569,"total":51354364},"progress":"
[\u003e ] 513.6 kB/51.35 MB","id":"6a5a5368e0c2"}
[ 30.121805] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":14883952,"total":124447408},"progress
":"[=====\u003e ] 14.88 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.127572] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":6708018,"total":51354364},"progress":
"[======\u003e ] 6.708 MB/51.35 MB","id":"6a5a5368e0c2"}
[ 30.127881] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":8404992,"total":44021346},"progress":
"[=========\u003e ] 8.405 MB/44.02 MB","id":"ad84b31d70a2"}
[ 30.128416] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":20741232,"total":124447408},"progress
":"[========\u003e ] 20.74 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.128685] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":12828672,"total":44021346},"progress":"[==============\u003e ] 12.83 MB/44.02 MB","id":"ad84b31d70a2"}
[ 30.128954] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":26598512,"total":124447408},"progress":"[==========\u003e ] 26.6 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.129378] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":8773632,"total":51354364},"progress":"[========\u003e ] 8.774 MB/51.35 MB","id":"6a5a5368e0c2"}
[ 30.129666] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":17693808,"total":44021346},"progress":"[====================\u003e ] 17.69 MB/44.02 MB","id":"ad84b31d70a2"}
[ 30.130094] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":12902400,"total":51354364},"progress":"[============\u003e ] 12.9 MB/51.35 MB","id":"6a5a5368e0c2"}
[ 30.130385] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":29793392,"total":124447408},"progress":"[===========\u003e ] 29.79 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.130730] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":23002224,"total":44021346},"progress":"[==========================\u003e ] 23 MB/44.02 MB","id":"ad84b31d70a2"}
[ 30.131058] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":16515072,"total":51354364},"progress":"[================\u003e ] 16.52 MB/51.35 MB","id":"6a5a5368e0c2"}
[ 30.131420] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":32988272,"total":124447408},"progress":"[=============\u003e ] 32.99 MB/124.4 MB","id":"4f789012f0cb"}
[ 30.131672] konlet-startup[437]: {"status":"Downloading","progressDetail":{"current":26983536,"total":44021346},"progress"
```

Please suppress these updates to only once per second. Otherwise the serial console is worse for everybody.

Actually, looking at those log lines closer, it must be trying to render multiple lines updating at once for multiple layers, but obviously failing to do what over a serial connection.

Who is that pretty output intended for? Does anybody watch these boot interactively with a display attached? Maybe it can just be disabled.

Maybe it's just Docker doing that, not knowing its output is a serial console?

Contributor guide

Open the contributing guide

Research direction

Start at the konlet-startup image-pull output path and reproduce a container image pull on a GCE VM. Check how Docker layer progress is forwarded to the serial console, then verify that progress is suppressed or limited to once per second and no longer floods the console.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cloud, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.