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

install: Fix reference to pod image #508

Merged

Conversation

cgwalters
Copy link
Member

The name needs to exactly match that in image-references
in order to be substituted.

@openshift-ci-robot openshift-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Feb 28, 2019
@umohnani8
Copy link
Contributor

The origin- gets dropped? I got the image name from https://quay.io/repository/openshift/origin-pod?tag=v4.0&tab=tags.

@cgwalters
Copy link
Member Author

Oh, then yeah it needs to be the other way around.

@umohnani8
Copy link
Contributor

Right, I see what I did there. Thanks for the fix!

@umohnani8
Copy link
Contributor

/retest

@runcom
Copy link
Member

runcom commented Feb 28, 2019

/approve
/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Feb 28, 2019
@kikisdeliveryservice
Copy link
Contributor

/retest

@cgwalters
Copy link
Member Author

So this has drift still, ugh:
I0228 21:55:30.673793 20978 daemon.go:1041] While getting MachineConfig master-c972857d9ccbede3699c273abb1ebd65, got: machineconfigs.machineconfiguration.openshift.io "master-c972857d9ccbede3699c273abb1ebd65" not found. Retrying..

@cgwalters
Copy link
Member Author

cgwalters commented Feb 28, 2019

At least though the installer PR got in, so we only need to land a change in this repo.

EDIT: Wait no I'm crazy, it's still outstanding openshift/installer#1292

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Feb 28, 2019
@cgwalters
Copy link
Member Author

OK I think we're actually back to my original theory - we have the image in the payload now 🎉 but need to have a no-op CLI option, land this PR, then land the installer one, then enable the CLI option.

@wking
Copy link
Member

wking commented Mar 1, 2019

Can I ask some questions about the pod/infra image? It's from here (equivalently here), right? And it's a sleeper to hold pod namespaces open? But CRI-O has its own and Kubernetes has its own. And the OpenShift Go seems to have forked off Kubernetes way back in openshift/origin#852. Then Kubernetes ported to C (kubernetes/kubernetes@f3690e2d5e, kubernetes/kubernetes#23009). Then CRI-O forked off. Then Kubernetes added SIGCHLD reaping (kubernetes/kubernetes@81d27aa2396, kubernetes/kubernetes#36853). Do we still want our very elderly Go to be the source of our pod-holding process?

On the SIGCHLD front, there's some reaping discussion in openshift/origin#1242 with a fix in openshift/origin#1264 (and then some revisiting in openshift/origin#17743 and openshift/origin#18992). That reaper now seems to only be launched by oc observe, which seems like an unlikely candidate for a generic, pod-holding process (but maybe we really do use oc for everything?).

Pulling the infra image from the release image (as in #471) makes sense to me, but we seem to have made an odd choice to provide that image (Kubernetes' pause.c seems to have the most active maintenance and maturity). Is there more background around that choice somewhere? I guess one benefit to getting this from the release image is that it will be easy to update later ;).

@runcom
Copy link
Member

runcom commented Mar 1, 2019

@wking I would open an issue in CRI-O and discuss there and talk to @mrunalp I guess. This feature comes from them and we're merely adding core to support that (though I agree on your points).

The name needs to *exactly* match that in `image-references`
in order to be substituted.
@cgwalters cgwalters force-pushed the mco-fix-imagerefs branch from 6ab4f4b to 835fc1d Compare March 1, 2019 13:22
@cgwalters
Copy link
Member Author

Can I ask some questions about the pod/infra image

That's an amazing comment even for you! I still wonder if you have scripts to do this kind of lookup or maybe a machine learning system 😉

Anyways I think we need all images to come from the release payload; can't be pulling random images we don't control particularly for critical infra.

Once we have that fixed, then we should definitely circle back and be sure we've picked up fixes like the SIGCHLD reaping.

(Honestly though it would be a lot saner if one could just tell the kernel to do it, but eh)

@cgwalters cgwalters added the 4.0 label Mar 1, 2019
@@ -26,7 +26,7 @@ spec:
- name: pod
from:
kind: DockerImage
name: quay.io/openshift/pod:v4.0
name: quay.io/tectonicshift/pod:42
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this image?

we need to use the pod image from the release payload.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This image doesn't exist and we aren't actually using it - we're really using the openshift/pod:v4.0 image still. The reason to add this new dummy image is to help "ratchet" the change here so we can land the installer PR.

Yes, it is very confusing...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cgwalters
Copy link
Member Author

cgwalters commented Mar 1, 2019

OK, this passed e2e-aws-op, so can someone lgtm it?

What's going on here is that we have pod in image-references but it's substituting an unused value. I believe that was the problem before, if there's something in image-references but it's not substituting anything then:

	if len(repositories) == 0 {
		glog.V(5).Infof("No images are mapped, will not replace any contents")
		return NopManifestMapper, nil
	}

So oc adm release new didn't end up using it.

Now with this again, the installer PR should be able to land, then we circle back here and do another PR to start using the image.

(Yes, this is all insane and we should parse the CVO directly)

@runcom
Copy link
Member

runcom commented Mar 1, 2019

/approve
/lgtm

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cgwalters, runcom

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

@openshift-merge-robot openshift-merge-robot merged commit f5ea711 into openshift:master Mar 1, 2019
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. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants