Skip to content
This repository was archived by the owner on Jun 14, 2019. It is now read-only.

Conversation

@smarterclayton
Copy link
Contributor

Some test environments may wish to build an image and put it in the
payload for testing, but not promote that image. An example of this
is the new machine-os-content image that will be built for RHCoS -
a few projects like origin and crio need to be able to take the
existing machine-os-content as a prereq, layer on top of it their
test RPMs, and then verify the complete payload as an e2e test (i.e.
test RHCoS with their latest code). Since this image is test only,
we need a clean way to indicate it's not for promotion, but we
want to build it every time we build the payload.

This will also be simpler for folks to reason about than optional,
which was really only for artifact style images that currently
aren't ever tested or added than the payload.

In promotion config, add:

excluded_images:
- image-1
- image-2
- ...

and the referenced images will never be promoted.

Part of enabling RHCoS content images to be layered during CI
runs so we test kubelet from an origin PR with the OS base image
in the payload.

Some test environments may wish to build an image and put it in the
payload for testing, but not promote that image. An example of this
is the new machine-os-content image that will be built for RHCoS -
a few projects like origin and crio need to be able to take the
existing machine-os-content as a prereq, layer on top of it their
test RPMs, and then verify the complete payload as an e2e test (i.e.
test RHCoS with their latest code). Since this image is test only,
we need a clean way to indicate it's not for promotion, but we
want to build it every time we build the payload.

This will also be simpler for folks to reason about than optional,
which was really only for artifact style images that currently
aren't ever tested or added than the payload.

In promotion config, add:

    excluded_images:
    - image-1
    - image-2
    - ...

and the referenced images will never be promoted.
@openshift-ci-robot openshift-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 31, 2019
@droslean
Copy link
Member

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Jan 31, 2019
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: droslean, smarterclayton

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

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [droslean,smarterclayton]

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

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 31, 2019
@openshift-merge-robot openshift-merge-robot merged commit 6ca7ba6 into openshift:master Jan 31, 2019
smarterclayton added a commit to smarterclayton/release that referenced this pull request Feb 3, 2019
The machine-os-content image is injected into our CI stream containing
a snapshot of recent openshift projects (kubelet, crio, oc). To ensure
we are testing what we merge, this PR adds a new layer job to origin
that takes the current machine-os-content image and uses it as input
to a special layering Dockerfile defined in origin which injects the
version of the kubelet and oc binaries from the PR build. The
machine-os-content image is then overriden in stable, but is not
promoted using the new exclusion rule in openshift/ci-operator#254.

This will be the model for crio or any other RPM that doesn't
require special boot time changes (like ignition or the kernel would).
However, this allows us to test upgrades like they will actually
happen in the wild.

This will be merged after the ci-operator change, and after the
dockerfile merges to origin, but before the machine-config-operator
starts respecting the payload image (and causes reboots when
machine start up).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

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. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants