-
Notifications
You must be signed in to change notification settings - Fork 57
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
oem_sysext_util: Mount overlay on top of /usr before installing sysext #946
Conversation
…t packages After changes to the inode size, the sysext installation runs out of space because the installation happens on a mounted production image. This is problematic because the /usr partition is only 1024MB in size and gets full. Mount a temporary overlay so that we can use that for installation, and discard it afterwards. This also means we no longer need to disable verity and in fact could live without copying the prod image. I won't make that change since we're working on a new script to automate building of sysexts using the overlay approach. Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Jenkins build of azure images here: http://192.168.42.7:8080/job/container/job/packages_all_arches/2041/cldsv/. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. We probably could then just use create squashfs image just from the upper dir instead of generating listings and copying this over to a separate "sysext rootfs".
jenkins CI is failing:
not sure why. |
The SDK container bind mounts __build__/images to the containers image directory, but the CI uses a different path for images. This causes issues when building the oem sysext, because it requires mounting an overlayfs. The current path (~/build/...) is an overlayfs and an ovlerayfs can't be an upper directory. Align the CONTAINER_IMAGE_ROOT and CONTAINER_TORCX_ROOT values with standard practices to that oem sysext building in jenkins ci works. Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Looks like the images directory was located in an overlayfs, i've fixed that here and rerunning jenkins: 6ebbe5f. |
Interesting, my openssh PR (which is rebased on top of this PR) went through the Jenkins build just fine. |
b7d908f
to
b40c1f2
Compare
b40c1f2
to
9b339f2
Compare
`build_image` depends on accesss to the torcx manifest and the "content addressable nature" of the directory. We currently rely on the torcx output root structure being preserved in the container image. While we're moving the torcx output root out of the container image, preserve its contents so that they can be restored from bincache.
9b339f2
to
1fc599f
Compare
@krnowak Finally have a working version, please take a look. Proof of success here: http://192.168.42.7:8080/job/container/job/packages_all_arches/2054/cldsv/. |
oem_sysext_util: Mount overlay on top of /usr before installing sysext
Mount overlay on top of /usr before installing sysext
This fixes the issue of sysext creating running out of disk space after we changed the ext4 inode size to 256 bytes.
How to use
Testing done
Performed the step in
how to use
- successfully.changelog/
directory (user-facing change, bug fix, security fix, update)/boot
and/usr
size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.