-
Notifications
You must be signed in to change notification settings - Fork 114
Executor with progress updates (HMS-9341) #4903
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
0bc9425 to
854dd7b
Compare
854dd7b to
66c856d
Compare
|
The PR is ready for review but I see no changes, including that |
Composer CI has this thing where it blocks execution if the PR is in a draft state (unless you manually click). Maybe we should change that. |
You should use |
ah thanks, had no idea! |
66c856d to
db61572
Compare
67363ed to
97efd0f
Compare
Changes with 0.210.0 ---------------- - Make bootupd metadata generation configurable per distro (osbuild/images#1958) - Author: Paul Whalen, Reviewers: Lukáš Zapletal, Simon de Vlieger - many: add support for bootc container based anaconda ISOs (HMS-9495) (osbuild/images#1906) - Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger, Tomáš Hozza - osbuild/osbuild-exec: make osbuild command a variable (osbuild/images#1965) - Author: Sanne Raymaekers, Reviewers: Lukáš Zapletal, Simon de Vlieger Changes with 0.211.0 ---------------- - Update osbuild dependency commit ID to latest (osbuild/images#1968) - Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger - Update snapshots to 20251023 (osbuild/images#1967) - Author: SchutzBot, Reviewers: Achilleas Koutsou, Simon de Vlieger - deps: switch yaml libraries (osbuild/images#1970) - Author: Simon de Vlieger, Reviewers: Achilleas Koutsou, Michael Vogt - osbuild/monitor: increase status scanner buffer size to 16MiB (osbuild/images#1977) - Author: Sanne Raymaekers, Reviewers: Michael Vogt, Simon de Vlieger - osbuild: tweak how we can mock osbuild slightly (osbuild/images#1969) - Author: Michael Vogt, Reviewers: Achilleas Koutsou, Sanne Raymaekers - schutzbot/terraform: bump terraform sha (osbuild/images#1976) - Author: Florian Schüller, Reviewers: Achilleas Koutsou, Sanne Raymaekers, Simon de Vlieger Changes with 0.212.0 ---------------- - distro,manifest: have a single `LoraxTemplates` type (osbuild/images#1975) - Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger - distro: cleanup/reuse YAML for bootc ISO (osbuild/images#1971) - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger - distro: cleanup/reuse YAML for bootc distro (osbuild/images#1944) - Author: Michael Vogt, Reviewers: Achilleas Koutsou, Simon de Vlieger - distro: load distros from multiple files (osbuild/images#1974) - Author: Simon de Vlieger, Reviewers: Michael Vogt, Tomáš Hozza - osbuild: switch from a bufio.Scanner to a bufio.Reader (osbuild/images#1978) - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger - reporegistry: various cleanups (osbuild/images#1980) - Author: Michael Vogt, Reviewers: Simon de Vlieger, Tomáš Hozza - various: fix `make gh-action-test` and update README (osbuild/images#1981) - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger Changes with 0.213.0 ---------------- - data: update fedora 43 repositories (osbuild/images#1983) - Author: Simon de Vlieger, Reviewers: Michael Vogt, Sanne Raymaekers - osbuild-exec: add buildlog and monitor support (osbuild/images#1966) - Author: Sanne Raymaekers, Reviewers: Michael Vogt, Simon de Vlieger
Workers can forward progress information of jobs using a partial result in a job update.
52fa952 to
a0696d5
Compare
5f3f328 to
742b6d0
Compare
aa3adcc to
0007fbe
Compare
520b648 to
e1ccac6
Compare
Uses status scanner to monitor osbuild to generate progress updates. Progress updates are sent every 30 seconds. Only one level of subprogress needs to be supported. Because osbuild manifests consist of pipelines and stages, more than 2 levels of progress are not expected. The result is still captured from stdout as before. The worker-executor will stream the progress information over http, and save the result in a separate file in the output archive.
8dece43 to
aa9f0c5
Compare
The progress output is streamed over HTTP. Stdout, which contains the osbuild result, is captured separately and put in the output archive. A separate log handler was added, so osbuild's stdout is always easily retrievable, even in case of build failures.
If osbuild crashes on the worker-executor side its build endpoint will return an error because it is unable to move the osbuild json result to the output directory and create a tarball. This causes the status scanner to error because it will receive invalid JSON. Because the full stack trace coming from osbuild should be present in the error that is handed back to the worker (so it can construct the job result with all the error details), the osbuild output needs to be fetched in case of build failures. The status scanner will put the line it cannot scan into the error, but it only reads up until the first newline. Thus osbuild's output cannot be forwarded via the status scanner.
b9f7af9 to
1026a45
Compare
If osbuild fails its stdout should be captured and added to the error details, also when using the ec2 executor. This test case makes sure that the error details contain the stacktrace and the error message from osbuild.
1026a45 to
1290bda
Compare
As a followup this will need something in the cloudapi to actually expose the progress, but this is big enough of a change already, and will need some careful monitoring of the stage workers once deployed.