CORS-2785: images: decouple installer and installer-artifacts#7782
Conversation
The installer-artifacts image depends on the installer image, which means they cannot be built in parallel. The effect of this dependency is that the installer-artifacts image contains the linux amd64 builds in addition to the mac/linux amd64/arm64 builds present in the installer-artifacts image. Breaking the dependency results in a more efficient build process because they can be built in parallel as well as no duplication of the linux amd64 binary in the release image (before this change the binary would be present in both images within the release image). The risk, though, is that clients are inconsistently grabbing the linux amd64 binary from either image, rather than only the installer image, in which case we would break any client trying to get that binary from the installer-artifacts image.
|
@r4f4: This pull request references CORS-2785 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the spike to target the "4.15.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
Reopening #7159 with commits squashed and conflicts resolved. |
|
/assign @patrickdillon |
|
/test verify-vendor |
|
/test okd-unit |
|
/test okd-scos-verify-codegen |
|
It looks like we would need to update |
@patrickdillon I thought you had already determined that |
|
@patrickdillon What about openshift/oc#1608 ? |
After rereading I see that my initial comments misunderstood what was happening as a result of this PR. I misunderstood and thought that we would only have linux amd64 in the
I believe my original comment was based on a misunderstanding so do we still need it? If we don't, I'd rather leave it alone. Sorry for the confusion. |
I think with that PR we can build only |
Interesting idea. I think we need these coreos manifests as well, but that would be it: https://github.com/openshift/installer/blob/master/images/installer/Dockerfile.ci#L9 |
|
Well, and we would need to update whatever clients depend on those coreos manifests |
I've added bdd3964 so now |
bdd3964 to
bb30e33
Compare
|
@patrickdillon I've decided to drop the idea of changing |
|
/test verify-vendor |
|
/test okd-images |
I think this is the right call. 👍 |
|
/lgtm |
Did you drop this commit from the PR? IIUC, prior to this PR the coreos manifests are included in installer-artifacts because we are using installer as a base image. With the changes in this PR, the installer-artifacts PR would no longer include those manifests. I'm not sure exactly how the manifests are used, but I think it's safer to continue to include them in the image. |
This is the last missing piece to decouple installer-artifacts from installer
@patrickdillon I somehow misunderstood the manifests were being consumed from the |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: patrickdillon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@r4f4: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
The installer-artifacts image depends on the installer image, which means they cannot be built in parallel. The effect of this dependency is that the installer-artifacts image contains the linux amd64 builds in addition to the mac/linux amd64/arm64 builds present in the installer-artifacts image.
Breaking the dependency results in a more efficient build process because they can be built in parallel as well as no duplication of the linux amd64 binary in the release image (before this change the binary would be present in both images within the release image).
The risk, though, is that clients are inconsistently grabbing the linux amd64 binary from either image, rather than only the installer image, in which case we would break any client trying to get that binary from the installer-artifacts image.