Revert "api: artifacts: Move BundleTestUpdatePayloads into chroot"
This reverts commit cb454e0444735d23845f5d092b49c6a6090534bc.
Reason for revert: causing BundleTestUpdatePayloads failures for
minios boards
Original change's description:
> api: artifacts: Move BundleTestUpdatePayloads into chroot
>
> api/gen changes to pull in:
>
> artifacts: Move BundleTestUpdatePayloads into chroot
>
> We want to run this endpoint inside the chroot, because it forks out to
> many programs that need to enter the chroot, and that's a bit unwieldy
> to do properly (i.e., plumb all the right chroot arguments) in some
> cases.
>
> The router and field_handler layers do most of the artifact (ResultPath
> and Path) translation and copying for us, so we only have to do a few
> things to place artifacts into the in-chroot tmp directory, instead of
> directly into the |result_path|.
>
> I don't convert all the other "legacy" bundle endpoints here, since
> AFAICT, they handle chroot entry properly today.
>
> BUG=b:187787264
> TEST=./run_tests
> TEST=manual build_api execution
>
> Cq-Depend: chromium:4703006
> Change-Id: I60d106bbce1e324850aec4d4fc69fdc054b5c3e2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4701636
> Reviewed-by: Alex Klein <saklein@chromium.org>
> Tested-by: Brian Norris <briannorris@chromium.org>
> Commit-Queue: Brian Norris <briannorris@chromium.org>
BUG=b:187787264
Change-Id: Ibdc9b82f78f3ff967f02b86165d451e16601da05
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4717971
Auto-Submit: Brian Norris <briannorris@chromium.org>
Reviewed-by: Yunfan Chen <yunfanc@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Yunfan Chen <yunfanc@chromium.org>
Commit-Queue: Yunfan Chen <yunfanc@chromium.org>
diff --git a/api/controller/artifacts.py b/api/controller/artifacts.py
index cb905c4..95d348c 100644
--- a/api/controller/artifacts.py
+++ b/api/controller/artifacts.py
@@ -309,7 +309,8 @@
@faux.success(_BundleTestUpdatePayloadsResponse)
@faux.empty_error
-@validate.require("build_target.name")
+@validate.require("build_target.name", "result_path.path.path")
+@validate.exists("result_path.path.path")
@validate.validation_complete
def BundleTestUpdatePayloads(
input_proto: artifacts_pb2.BundleRequest,
@@ -318,12 +319,9 @@
) -> Optional[int]:
"""Generate minimal update payloads for the build target for testing."""
target = input_proto.build_target.name
+ output_dir = input_proto.result_path.path.path
chroot = controller_util.ParseChroot(input_proto.chroot)
build_root = constants.SOURCE_ROOT
- # Leave artifact output intact, for the router layer to copy it out of the
- # chroot. This may leave stray files leftover, but builders should clean
- # these up.
- output_dir = chroot.tempdir(delete=False)
# Use the first available image to create the update payload.
img_dir = _GetImageDir(build_root, target)
@@ -349,13 +347,11 @@
)
image = valid_images[0]
- payloads = artifacts.BundleTestUpdatePayloads(
- chroot, image, str(output_dir)
- )
+ payloads = artifacts.BundleTestUpdatePayloads(chroot, image, output_dir)
for payload in payloads:
output_proto.artifacts.add(
artifact_path=common_pb2.Path(
- path=payload, location=common_pb2.Path.INSIDE
+ path=payload, location=common_pb2.Path.OUTSIDE
),
)