Skip to content
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

Test custom machine-os-content image in machine-config-operator@mcbs #24225

Merged
merged 1 commit into from
Dec 2, 2021

Conversation

petr-muller
Copy link
Member

@openshift-ci openshift-ci bot requested a review from cgwalters December 2, 2021 22:01
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 2, 2021
@cgwalters
Copy link
Member

I think I understand the hack here. Clever! But let's target this against the mcbs branch file where we're focusing this effort. For now we are not trying to land code in master.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 2, 2021

@petr-muller: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/machine-config-operator/master/bootstrap-unit ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/cluster-bootimages ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-upgrade ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-upgrade-single-node ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-single-node ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-disruptive ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-ovirt ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-openstack-parallel ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-openstack ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-ovirt-upgrade ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-workers-rhel8 ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-ovn-step-registry ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-vsphere ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/images ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-azure ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-vsphere-upi ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-vsphere-upgrade ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-azure-upgrade ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-agnostic-upgrade ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-serial ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-gcp-op ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-gcp-op-single-node ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-metal-assisted ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-workers-rhel7 ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-gcp-single-node ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-gcp-upgrade ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-metal-ipi ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-aws-proxy ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-metal-ipi-ovn-dualstack ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/master/e2e-metal-ipi-ovn-ipv6 ed9875e7c2532d0e76b08cb83b4c82b3c94e56b3 link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/mcbs/e2e-agnostic-upgrade 610adcdf59d476dfb35c8afe54a331f903bc4ebc link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/mcbs/e2e-gcp-op 610adcdf59d476dfb35c8afe54a331f903bc4ebc link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/mcbs/e2e-gcp-upgrade 610adcdf59d476dfb35c8afe54a331f903bc4ebc link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/mcbs/e2e-gcp-op-single-node 610adcdf59d476dfb35c8afe54a331f903bc4ebc link unknown /test pj-rehearse
ci/rehearse/openshift/machine-config-operator/mcbs/e2e-aws 610adcdf59d476dfb35c8afe54a331f903bc4ebc link unknown /test pj-rehearse
ci/prow/pj-rehearse 610adcdf59d476dfb35c8afe54a331f903bc4ebc link false /test pj-rehearse

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

1. Import the custom image
2. "build" the machine-os-content from the custom image
3. Such "built" image gets picked up by the `include_built_images:
   true`-configured `latest` release that gets installed for testing
4. Make sure that `machine-os-content` will not be promoted (presubmits
   should forbid that but to be safe).
@petr-muller
Copy link
Member Author

/retitle Test custom machine-os-content image in machine-config-operator@mcbs

@openshift-ci openshift-ci bot changed the title try coercing ci-operator to test custom moc Test custom machine-os-content image in machine-config-operator@mcbs Dec 2, 2021
@cgwalters
Copy link
Member

For clarity, this replaces #24222

@cgwalters
Copy link
Member

cgwalters commented Dec 2, 2021

Hmm, I think the override isn't working:

$ oc image info (oc adm release info --image-for=machine-os-content registry.build02.ci.openshift.org/ci-op-nsgzpxkx/release:initial)
Name:        registry.build02.ci.openshift.org/ci-op-nsgzpxkx/stable-initial@sha256:fc220e1de4d4d4d5d9000f42f4a3322dde1d186e5910ea7e16de2dc492a591ca
Media Type:  application/vnd.docker.distribution.manifest.v2+json
Created:     3h ago
...
             com.coreos.rpm.ostree=2020.7-5.el8_4.x86_64

Versus:

$ oc image info registry.ci.openshift.org/coreos/walters-rhcos-ostreecontainer-oldformat:latest 
Name:        registry.ci.openshift.org/coreos/walters-rhcos-ostreecontainer-oldformat:latest
Digest:      sha256:05155775847765283dc59ba892a13d390e3c0e117709bec1ce144ea432c1c701
Media Type:  application/vnd.oci.image.manifest.v1+json
Created:     1d ago
...
            com.coreos.rpm.rpm-ostree=2021.14.30.g6e9826da-1.el8.x86_64

@petr-muller
Copy link
Member Author

It looks like you are inspecting the initial release - that one does not include the built images (as configured).

@cgwalters
Copy link
Member

Ahh, got it. OK indeed, the target image looks right:

oc image info (oc adm release info --image-for=machine-os-content registry.build02.ci.openshift.org/ci-op-d0pxly9t/release:latest)
Name:        registry.build02.ci.openshift.org/ci-op-d0pxly9t/stable@sha256:4b6233a9fea4c5a1b6d9b6e22ff471d83f6f1953fcd50efd1d53061e1fe2a8fe
Media Type:  application/vnd.docker.distribution.manifest.v2+json
Created:     6m ago
...
             com.coreos.rpm.rpm-ostree=2021.14.30.g6e9826da-1.el8.x86_64

However, as a side effect of this hack it has a different digested sha256. But I can tell from the magic we do at build time to inject "important rpm versions" into container metadata that it has the right content. The different sha won't matter to anything so

/approve
/lgtm

And thanks for doing this!

@petr-muller
Copy link
Member Author

petr-muller commented Dec 2, 2021

releases:
  initial:
    integration:
      name: "4.10"
      namespace: ocp
  latest:
    integration:
      include_built_images: true
      name: "4.10"
      namespace: ocp

^^^ from the config. initial does not include the build images, but latest does. This enables the basic upgrade scenario "upgrade from the pre-PR version to the PR version". In non-upgrade tests, latest is the release that gets installed. In upgrade, initial is installed and then upgraded to latest.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 2, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cgwalters, petr-muller

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@petr-muller
Copy link
Member Author

However, as a side effect of this hack it has a different digested sha256

I think there is even blacker magic in ci-operator that would help with that (raw_steps) if needed, but if the SHA does not matter, then the current hack is imo better understandable.

@openshift-merge-robot openshift-merge-robot merged commit ca661ef into openshift:master Dec 2, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 2, 2021

@petr-muller: Updated the ci-operator-misc-configs configmap in namespace ci at cluster app.ci using the following files:

  • key openshift-machine-config-operator-mcbs.yaml using file ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-mcbs.yaml

In response to this:

/cc @cgwalters

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.

cgwalters added a commit to cgwalters/machine-config-operator that referenced this pull request Dec 6, 2021
This is *mainly* to validate that
openshift/release#24225
worked.

But, this code may be useful as a sanity check going forward.

See also coreos/rpm-ostree#3251

(I also may try to expose e.g. `ex-container` as a feature flag
 that we can query instead of version-parsing)
cheesesashimi pushed a commit to cheesesashimi/machine-config-operator that referenced this pull request Feb 22, 2022
This is *mainly* to validate that
openshift/release#24225
worked.

But, this code may be useful as a sanity check going forward.

See also coreos/rpm-ostree#3251

(I also may try to expose e.g. `ex-container` as a feature flag
 that we can query instead of version-parsing)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
3 participants