Reorder ostree and ostree_installer phases

osbuild phase needs to wait for ostree phase in some cases, this patch
makes the various image build phases waiting for ostree phase, it may
introduce some slowdown, but it's still faster than the version before
PR#1790.

JIRA: RHELCMP-14349
Fixes: https://pagure.io/pungi/issue/1816
Signed-off-by: Haibo Lin <hlin@redhat.com>
(cherry picked from commit b3e0b6d7b73c48588b9aacd933f3e0e8ae3506ac)
This commit is contained in:
Haibo Lin 2025-03-03 18:23:46 +08:00 committed by Stepan Oksanichenko
parent 545215da19
commit 49a3e6cd12
2 changed files with 37 additions and 43 deletions

View File

@ -5,7 +5,7 @@
viewBox="0 0 698.46506 367.16599"
id="svg2"
version="1.1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
inkscape:version="1.4 (e7c3feb1, 2024-10-09)"
sodipodi:docname="phases.svg"
inkscape:export-filename="/home/lsedlar/repos/pungi/doc/_static/phases.png"
inkscape:export-xdpi="90"
@ -24,16 +24,16 @@
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="2.1213203"
inkscape:cx="364.8671"
inkscape:cy="156.0349"
inkscape:zoom="1.5268051"
inkscape:cx="281.30637"
inkscape:cy="222.68723"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1368"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
units="px"
inkscape:document-rotation="0"
@ -254,46 +254,43 @@
transform="translate(-48.38832,300.30474)">
<rect
transform="matrix(0,1,1,0,0,0)"
y="254.60153"
x="823.54675"
height="53.653927"
y="253.37347"
x="670.65399"
height="137.77563"
width="26.295755"
id="rect3350-3"
style="fill:#729fcf;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
style="fill:#729fcf;fill-rule:evenodd;stroke:none;stroke-width:1.60245px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<text
id="text3380-2"
y="840.3219"
y="688.04315"
x="256.90588"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-size:13.1479px;line-height:1.25"
id="tspan3406"
sodipodi:role="line"
x="256.90588"
y="840.3219">OSTree</tspan></text>
y="688.04315"
sodipodi:role="line">OSTree</tspan></text>
</g>
<g
id="g12">
<rect
style="fill:#fcaf3e;fill-rule:evenodd;stroke:none;stroke-width:1.74848px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="rect3428"
width="26.295755"
height="311.37448"
x="1123.3074"
y="264.68936"
transform="matrix(0,1,1,0,0,0)" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="266.99371"
<rect
style="fill:#fcaf3e;fill-rule:evenodd;stroke:none;stroke-width:1.48564px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="rect3428"
width="26.295755"
height="224.79666"
x="1122.0793"
y="351.26718"
transform="matrix(0,1,1,0,0,0)" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="355.4136"
y="1140.0824"
id="text3430"><tspan
id="tspan283"
sodipodi:role="line"
x="355.4136"
y="1140.0824"
id="text3430"><tspan
id="tspan283"
sodipodi:role="line"
x="266.99371"
y="1140.0824"
style="font-size:12px;line-height:0">OSTreeInstaller</tspan></text>
</g>
style="font-size:12px;line-height:0">OSTreeInstaller</tspan></text>
<g
id="g11">
<rect

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -481,15 +481,11 @@ def run_compose(
buildinstall_phase,
(gather_phase, createrepo_phase),
extrafiles_phase,
)
ostree_schema = (
(ostree_phase, ostree_installer_phase),
ostree_container_phase,
ostree_phase,
)
essentials_phase = pungi.phases.WeaverPhase(compose, essentials_schema)
ostree_phase = pungi.phases.WeaverPhase(compose, ostree_schema)
essentials_phase.start()
ostree_phase.start()
ostree_container_phase.start()
try:
essentials_phase.stop()
@ -520,6 +516,7 @@ def run_compose(
compose_images_phase = pungi.phases.WeaverPhase(compose, compose_images_schema)
extra_phase_schema = (
(compose_images_phase, image_container_phase),
ostree_installer_phase,
osbs_phase,
repoclosure_phase,
)
@ -528,9 +525,9 @@ def run_compose(
extra_phase.start()
extra_phase.stop()
finally:
# wait for ostree phase here too - it can happily run in parallel with
# wait for ostree container phase here too - it can happily run in parallel with
# all of the other stuff, but we must ensure it always gets stopped
ostree_phase.stop()
ostree_container_phase.stop()
# now we do checksums as all images are done
image_checksum_phase.start()