Skip to content

Commit c606c73

Browse files
committed
Don't force image builder to clean-in-docker
FCCD's `make clean` used to call `make clean-in-docker` for the image builder. The image builder builds a docker image if necessary, then mounts all the directories and calls clean. This is because some of the resources were built in docker which may be owned by root. On the buildkite runners, make clean is run as root because some of the subdirectores need root permission to clean appropriately. This was causing docker to build an image and to create a buildkit lock as root which caused subsequent steps in the pipeline to fail if they tried to build a container as non-root. The solution here is to call the image builder's regular clean target which will directly delete resources if it is root, otherwise it will call clean-in-docker. Thist way, the clean will not need to create a container to do the cleanup and will not create a lock as root. An alternative would be to go through all the subdirectories' clean targets to make sure they have an equivalent clean-in-docker that is only run if the clean target is run as root. This would be a good follow up once tests are passing again. Signed-off-by: Kern Walster <walster@amazon.com>
1 parent 4f04dda commit c606c73

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ clean:
109109
$(MAKE) -C $(RUNC_DIR) clean
110110
$(MAKE) firecracker-clean
111111
rm -f tools/*stamp *stamp
112-
$(MAKE) -C tools/image-builder clean-in-docker
112+
$(MAKE) -C tools/image-builder docker
113113
rm -f $(DEFAULT_VMLINUX_NAME)
114114

115115
rmi-if-exists = $(if $(shell docker images -q $(1)),docker rmi $(1),true)

0 commit comments

Comments
 (0)