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:
parent
545215da19
commit
49a3e6cd12
67
doc/_static/phases.svg
vendored
67
doc/_static/phases.svg
vendored
@ -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 |
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user