Created attachment 1629882 [details] exec format error in sample code Description of problem: Making an 'example' pod which uses the 'hello-openshift' image fails with 'exec format error' How reproducible: easily Steps to Reproduce: 1. from the Web Console, create a new workload in the default project with the example 'hello-openshift' application 2. build and run it 3. Actual results: runtime fails with 'exec format error' Expected results: the example pods run flawlessly Additional info:
since this is the first thing i would try as a new customer i think we should get the hello-openshift container built for z to not leave a bad first impression, shouldn't be too much effort.
Is this fixed or blocked by the cluster-samples-operator enablement?
Yes, I tested this manually (using a CVO override) with Yaakov's patches several months ago and I was able to run this sample. I believe this is now only blocked by the general incompatibilities of s390x/ppc64le cluster-samples-operator with CI.
Assigning this to Jeremy since Renin is working on a fix.
Bug was reported against 4.2.z, so we should leave that as it stands to show where the breakage starts. Target Release tracks where we want the fix to land, so I'm setting that to 4.6.0. Once the fix lands in master, this bug will get cloned back with Target Release pointing at previous z streams (depending on how far it seems appropriate to backport). The '/cherrypick ...' GitHub/Prow bot will automatically create those backport bugs as needed.
Closing this bug as a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=1835112. *** This bug has been marked as a duplicate of bug 1835112 ***
reopening for tracking purposes. still assigned to Jeremy.
Moving to ON_QA since this should be available for 4.6 samples, and is just a test effort.
In OCP 4.5.0-0.nightly-s390x-2020-07-03-213659 on Z from Administrator->Workloads->Pods->Create Pod are offered the option of creating a "hello-openshift" sample workload with the yaml: piVersion: v1 kind: Pod metadata: name: example labels: app: hello-openshift namespace: check-samples spec: containers: - name: hello-openshift image: openshift/hello-openshift ports: - containerPort: 8080 But hitting the "Create" button at the bottom results in a pod that goes into a CrashLoopBackoff state with: standard_init_linux.go:210: exec user process caused "exec format error"
I'm not quite sure why this would be related to cluster-samples. As noted in comment 3, the image docker.io/openshift/hello-openshift is still only built for amd64, and was not manifest-listed, so this would be the expected result. The only fix for this is for that image to be rebuilt multi-arch, either on docker.io or at some other location (in which case the image: value would have to be modified accordingly).
Yeah, this is not related to cluster samples. My apologies for any confusion my comment caused. I had misunderstood and thought we were discussing one of these templates: https://bugzilla.redhat.com/show_bug.cgi?id=1766364
DPTP does not publish this image.
Moving this to console. We can use a different image in the YAML samples.
We're working on adding this image to the release in 4.7 so it supports other architectures.
The image is built but to make the console's aforementioned template actually work, further changes are required.
(In reply to Yaakov Selkowitz from comment #25) > The image is built but to make the console's aforementioned template > actually work, further changes are required. Hi, Yaakov. Do you know what work remains and what the console team needs to do?
All uses of openshift/hello-openshift, starting with those that are user facing (and then to those in __tests__) needs to be changed to point to the new image or imagestream.
fix is not included in 4.7.0-0.nightly-2020-11-26-201843 yet
Tested against pr: https://github.com/openshift/console/pull/7186. Create pod/deployment/deploymentconfig/daemonset with default example yaml from console, no pod could be running normally, all failed with error "ImagePullBackOff", and pods are using image "registry.redhat.io/openshift4/ose-hello-openshift-rhel8" by default.
That is the pullspec expected to be used, but it won't work until 4.7 GA. Either this should be VERIFIED on this basis then, or otherwise the imagestream needs to be used to get the image from the release payload.
Adding "UpcomingSprint" as team is waiting for 4.7 GA to re-test
The sample workloads (except pod) use the ImageStream, so we should investgiate why it's not working.
Another console PR will be needed after Samples' merges.
Checked on ocp 4.7 cluster with payload 4.7.0-0.nightly-2021-01-06-160219 containing fix prs. Our cluster nodes are x86_64 arch, creating pod/deployment/deploymentconfig/daemonset with default example yaml from console succeeds. @Cheryl, since you reported the bug against arch:s390x, could you have a try on your cluster with s390x arch to confirm the fixs work on your cluster?
@cfillekes Could you please verify this fix? Thanks
Hey Doug - can you take a stab at testing this on P & Z. Just spin up a 4.7 cluster on each and try to create a pod using the template provided in https://bugzilla.redhat.com/show_bug.cgi?id=1766287#c13.
Still throws an exec format error on Z15 running OCP 4.7.0-fc4
Created attachment 1755904 [details] Screen shot of which button to push to bring up 'hello-openshift' sample by default
Created attachment 1755905 [details] Screen shot of default pod example yaml created from web console
Created attachment 1755926 [details] Screen shot of default pod going to 'Crash-Loop-Backoff' state
Created attachment 1755927 [details] Screen shot of default pod log showing standard_init_linux.go:219: exec user process caused: exec format error
This is still not working on s390x - setting it back to assigned.
Joe let me know if you need help on this one.
It looks like the console change fixes all of the workloads except for Pod, presumably since we couldn't use an image stream trigger there. https://github.com/openshift/console/blob/master/frontend/public/models/yaml-templates.ts#L435
Adding "Reviewed-in-Sprint" as solution has been discussed in previous comments, but the bug likely will not be fixed before the end of this sprint.
Hi, could you help verify if the fix is working?
Hi Yadan, yes I am working with Cheryl to get this tested.
I've verified the fix on s390x. Now default new pod uses template image "image-registry.openshift-image-registry.svc:5000/openshift/httpd:latest" instead of hello-openshift image. I assume this is "the fix" you are referring to. Pod starts fine and image is s390x compatible.