-
Notifications
You must be signed in to change notification settings - Fork 369
[Rollout issue] Docker images failing to build due to failure in build-rootfs.sh #12189
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
[Rollout issue] Docker images failing to build due to failure in build-rootfs.sh #12189
Comments
@michellemcdaniel @ChadNedzlek any ideas? |
Some thoughts from @mthalman
arcade/eng/common/cross/build-rootfs.sh Line 260 in a6a3a70
|
Note that there was a successful build of this just earlier this week on Tuesday. See the successful build output at https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_apis/build/builds/2084293/logs/792. Search for Given the error message and the timeframe from when it was working last, it appears that this recent change is the cause: 2561b84. cc @am11 |
This issue is a really good reason for eliminating rootfs where ever and whenever we can. We have linux arm/arm64 build queues now, so we should just be able to build arm/arm64 docker images for the various OSes that are rootfs for that reason and build "natively" like how we run our tests. |
We are going to use more rootfs going forward to fulfill the secure supply chain (building on fully supported OS) and product/business requirements (supporting old distros that may be no longer officially supported). Check discussion in dotnet/runtime#69361 for more context. Trying to eliminate rootfs wherever we can does not make sense. |
We should revert this change to sort this out without blocking eng system. |
@jkotas fix is already up dotnet/dotnet-buildtools-prereqs-docker#766 |
Given how the current docker build picks up the live script from arcade, I still prefer that this change gets reverted while we get the new docker images out the door. The change, and the subsequent change to the docker repo can be revisited afterwards? |
There are questions that I would like to see answered about the impact of the fix: dotnet/dotnet-buildtools-prereqs-docker#766 (comment) |
The rootfs scripts do not fit in line with secure supply chain. They are external and download random things from random places on the internet. That is against our principles. That is the problem we working on solving with the work we are doing in the docker space. I'll be honest, I don't really understand much about rootfs, but there are many pieces of if that seem very insecure, whether or not we are relying on the host OS to be secure or not. So long as there are bits like
etc that we are just assuming aren't being stomped on, I'm going to be nervous about it. On our VM images, we have been able to make sure we get all of the tools we can't get from package manager from a secure location that can't be stomped on. What is the process for doing that in the rootfs space? |
Those places are source repositories and not any different than non-rootfs images: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/09c9b571629dcc0c13eec49ce07c5dbec6892e41/src/centos/7/Dockerfile#L56-L62 (the CentOS dockerfile is used to create linux-x64 image used by official builds since .NET Core 2x).
Lets take an example of |
Changing that is currently the scope of the epic that @ChadNedzlek and I are working on, see dotnet/dnceng#1313 for more details. |
I agree that the current rootfs scripts have supply chain problems and we should fix those. We should have a discussion about the best way to do that. rootfs as a build technology is critical for us (#12189 (comment)). |
We are currently in the process of converting docker images to be in line with our policies, but let's see if we can put together a meeting about rootfs, ownership, and SSC. |
Uh oh!
There was an error while loading. Please reload this page.
This issue is blocking rollouts for the docker images.
The latest docker rollout https://dnceng.visualstudio.com/internal/_build/results?buildId=2085885&view=logs&j=1c4e26f6-d871-56a6-8075-f831838eaa01&t=c6369efb-1c13-5347-3009-6c7a7740b620&l=7402 is failing with error:
The docker pipeline downloads this script directly from arcade, so once a fix is understood the pipeline should be unblocked.
Release Note Category
Release Note Description
The text was updated successfully, but these errors were encountered: