-
Notifications
You must be signed in to change notification settings - Fork 462
MCO-703: Lifecycle Buildah with MCO #4471
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
MCO-703: Lifecycle Buildah with MCO #4471
Conversation
|
Skipping CI for Draft Pull Request. |
b5601bd to
bf946d4
Compare
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
|
/test e2e-gcp-op-techpreview |
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
f51bc91 to
2923dd3
Compare
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
9eb3226 to
f359fa7
Compare
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
7bf4fa3 to
de6d80e
Compare
|
/retest-required |
be43d9b to
cf50fbe
Compare
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
cf50fbe to
bfd62b7
Compare
|
@cheesesashimi: This pull request references MCO-703 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 story to target the "4.17.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 openshift-eng/jira-lifecycle-plugin repository. |
7b5a49c to
e381bfb
Compare
edf1ef4 to
3001fe4
Compare
|
/test e2e-gcp-op-techpreview |
This moves parsing for the machine-config-operator-images and machine-config-osimageurl into a centralized location to make working with these ConfigMaps easier across all components of the MCO that need to use them. This also introduces a new struct, OSImageURLConfig, which has the contents of the machine-config-osimageurl ConfigMap in it.
This adds Buildah into the MCO container image and wires up BuildController to use the MCO container for performing builds instead of the hard-coded Buildah image. Doing this allows OCP to lifecycle Buildah with the current OCP version instead of randomly getting a new version at an inopportune time.
The TestMachineOSBuilder test is no longer necessary in my opinion. Although the test has been passing for quite some time, ever since the OCL API landed, it has been passing for the incorrect reason. Before the OCL API landed, it was passing because we were looking for a specific ConfigMap to be present and asserting that something would either happen or not happen as a result. In its current form, we assert that nothing should happen. At this point however, we've removed the code that expects a certain ConfigMap to be present. However, this test was never updated to reflect that. With the other changes in this PR, we broke this test by preventing it from compiling. Regardless of that, the test itself does not add much value, so it should be removed.
This cleans up some of the label constants that are used by OCL build objects and refactors how the e2e tests use those labels both for post-test cleanup as well as post-test data collection in the event of failure. This way, we have consistent labels for all of the objects created by the OCL build process as well as a way to easily query for them.
The digestfile ConfigMap that is created as part of the build process should also make use of the new labels for all ephemeral build objects so that it can be more readily identified.
3001fe4 to
8c81f41
Compare
For OCL, it is useful to create the ImageStream in a separate namespace in order to simulate the situation where an image registry absolutely requires private keys for pushing and pulling. For now, it uses the lower-case test name as the namespace name to ensure that there are no collisions as namespaces and their objects are created and deleted. This has the beneficial side-effect of ensuring that the image pull secret that is used is always refreshed to avoid test failures by having the image pull secret rotated before the image push and pull operations complete. This adds the current test name as an annotation as well as a label indicating that it is used by an e2e test to all objects created by the test to allow for easier debugging via must-gathers, etc. This also allows label selector queries for cleanup purposes. This also renames all of the On Cluster Build references to On Cluster Layering, to correspond with the finalized name of this initiative.
8c81f41 to
9b501d9
Compare
|
/retest-required |
|
/test e2e-gcp-op-techpreview |
|
/test e2e-gcp-op-techpreview Took a look at the latest failure and can confirm it was due to openshift/cluster-update-keys#58 . I see passing runs now, so hopefully the fix has been propagated |
|
We got past the install failure but
does fail. Is that flaky? |
|
That seems like a strange failure since I've seen that one (and other similar tests) pass before. I'll re-run it to determine if there are any flakes. |
|
/test e2e-gcp-op-techpreview |
yuqi-zhang
left a comment
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.
/lgtm
Given that the original card did not have QE label attached (and this mostly is covered by CI), I think we don't need to hold for pre-merge QE. Feel free to hold if that's not the case!
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cheesesashimi, yuqi-zhang 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 |
|
The most recent failures here look like a transient infrastructure issue. /retest-required |
|
@cheesesashimi: 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-sigs/prow repository. I understand the commands that are listed here. |
- What I did
This PR does the following:
machine-config-osimageurland themachine-config-operator-imagesConfigMaps for easier code reuse.builduser.image-buildcontainer will now use the same image pullspec as the rest of the MCO components instead. It's source of truth for this value will be themachine-config-operator-imagesConfigMap.pkg/controller/common/constants.gothat are no longer needed, as well as renamed a few of the OCL-specific constants for the annotations and labels used by OCL objects.TestMachineOSBuildere2e test for the following reason: Although the test has been passing for quite some time, ever since the OCL API landed, it has been passing for the incorrect reason. Before the OCL API landed, it was passing because we were looking for a specific ConfigMap to be present and asserting that something would either happen or not happen as a result. In its current form, we assert that nothing should happen. At this point however, we've removed the code that expects a certain ConfigMap to be present. However, this test was never updated to reflect that. With the other changes in this PR, we broke this test by preventing it from compiling. Regardless of that, the test itself does not add much value, so it should be removed.- How to verify it
There are a couple of ways to verify this:
buildahbinary.e2e-gcp-op-techpreviewtest suite should continue to pass as-is, though I've added some additional assertions.e2e-gcp-op-techpreviewtest suite, the image pullspec for theimage-buildcontainer in themachine-os-builderpod should be the same as the rest of the MCO components.machineconfiguration.openshift.io/used-by-e2e-test. The annotation will have the name of the test currently running.- Description for the changelog
Lifecycle Buildah with MCO