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

E2E testcase(E2E Test starting with non-empty Directory add Binding [It] should verify developer workflow of using binding as env in innerloop) is failing due to Image(quay.io/enterprisedb/postgresql:15.1) issue for IBM Z while creating cluster #7034

Closed
HarshithaMS005 opened this issue Aug 21, 2023 · 3 comments · Fixed by #7049
Assignees
Labels
area/binding Issues or PRs related to `odo add/delete binding *` commands or Service Binding Operator area/System-PZ Issues related to IBM System Z and System P area/testing Issues or PRs related to testing, Quality Assurance or Quality Engineering kind/bug Categorizes issue or PR as related to a bug. priority/Medium Nice to have issue. Getting it done before priority changes would be great.
Milestone

Comments

@HarshithaMS005
Copy link
Contributor

HarshithaMS005 commented Aug 21, 2023

/kind bug

Hi

I am using odo 3.13 version and i am testing e2e tests for s390x architecture and i encountered e2e testcase failure(E2E Test starting with non-empty Directory add Binding [It] should verify developer workflow of using binding as env in innerloop) from past few weeks with below error.

Any logs, error output, etc?

[FAILED] [289.878 seconds]
E2E Test starting with non-empty Directory add Binding [It] should verify developer workflow of using binding as env in innerloop
/home/odo/go/src/github.com/redhat-developer/odo/tests/e2escenarios/e2e_test.go:461

  Captured StdOut/StdErr Output >>
  Spawning '/home/odo/go/src/github.com/redhat-developer/odo/odo init' from /tmp/118204959
  << Captured StdOut/StdErr Output

  Timeline >>
  Created dir: /tmp/118204959
  Created dir: /tmp/1203026466
  Setting KUBECONFIG=/tmp/1203026466/config
  Creating a new project: e2e-test461pgn
  Running oc with args [oc new-project e2e-test461pgn] and odo env: []
  [oc] Now using project "e2e-test461pgn" on server "https://api.ododev.rhocp.boe:6443".
  [oc] 
  [oc] You can add applications to this project with the 'new-app' command. For example, try:
  [oc] 
  [oc]     oc new-app rails-postgresql-example
  [oc] 
  [oc] to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
  [oc] 
  [oc]     kubectl create deployment hello-node --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 -- /agnhost serve-hostname
  [oc] 
  Running oc with args [oc create configmap config-map-for-cleanup --from-literal type=testing --from-literal team=odo -n e2e-test461pgn] and odo env: []
  [oc] configmap/config-map-for-cleanup created
  Current working dir: /home/odo/go/src/github.com/redhat-developer/odo/tests/e2escenarios
  Running odo with args [odo preference remove registry DefaultDevfileRegistry -f] and odo env: []
  [odo] Successfully removed registry
  Running odo with args [odo preference add registry DefaultDevfileRegistry http://devfile-registry.apps.ododev.rhocp.boe] and odo env: []
  [odo] New registry successfully added
  Running oc with args [oc get csv -o jsonpath={.items[?(@.status.phase=="Succeeded")].metadata.name}] and odo env: []
  [oc] cloud-native-postgresql.v1.18.2 service-binding-operator.v1.3.3Running oc with args [oc get csv -o jsonpath={.items[?(@.status.phase=="Succeeded")].metadata.name}] and odo env: []
  [oc] cloud-native-postgresql.v1.18.2 service-binding-operator.v1.3.3Running oc with args [oc get bindablekinds bindable-kinds -ojsonpath={.status[*].kind}] and odo env: []
  [oc] Cluster ServiceBinding ServiceBindingSetting current dir to: /tmp/118204959
  Running oc with args [oc apply -f /home/odo/go/src/github.com/redhat-developer/odo/tests/examples/source/devfiles/go/cluster.yaml] and odo env: []
  [oc] cluster.postgresql.k8s.enterprisedb.io/cluster-example-initdb created
  [oc] secret/appuser-secret created
  [oc] secret/cluster-example-initdb-appuser created
  running command [odo init] with env []
  Running odo with args [odo dev --random-ports --api-server=false] and odo env: [ODO_TRACKING_CONSENT=no]
  [odo]   __
  [odo]  /  \__     Developing using the "yvcmhs" Devfile
  [odo]  \__/  \    Namespace: e2e-test461pgn
  [odo]  /  \__/    odo version: v3.13.0
  [odo]  \__/
  [odo] 
  [odo] ↪ Running on the cluster in Dev mode
  [odo]  •  Waiting for Kubernetes resources  ...
  [odo]  ⚠  Pod is Pending
  [odo]  ✓  Pod is Running
  [odo]  •  Syncing files into the container  ...
 ✓  Syncing files into the container [214ms]
  [odo]  •  Building your application in container (command: build)  ...
 ✓  Building your application in container (command: build) [2s]
  [odo]  •  Executing the application (command: run)  ...
  [odo]  •  Waiting for the application to be ready  ...
 ✓  Waiting for the application to be ready [1s]
  [odo]  -  Forwarding from 127.0.0.1:44285 -8080
  [odo] 
  [odo] 
  [odo] ↪ Dev mode
  [odo]  Status:
  [odo]  Watching for changes in the current directory /tmp/118204959
  [odo] 
  [odo] Keyboard Commands:
  [odo] [Ctrl+c] - Exit and delete resources from the cluster
  [odo]      [p] - Manually apply local changes to the application on the cluster
  Running odo with args [odo add binding --name cxzjbw --service cluster-example-initdb --bind-as-files=false] and odo env: []
  [odo]  ✓  Successfully added the binding to the devfile.
  [odo] Run `odo dev` to create it on the cluster.
  [odo] Pushing files...
  [odo] 
  [odo] 
  [odo] File /tmp/118204959/devfile.yaml changed
  [odo]  •  Waiting for Kubernetes resources  ...
  [odo]  •  Creating resource ServiceBinding/cxzjbw  ...
 ✓  Creating resource ServiceBinding/cxzjbw 
  [odo] Error occurred on Push - watch command was unable to push component: some servicebindings are not injected
  [odo] 
  [odo] 
  [odo] ↪ Dev mode
  [odo]  Status:
  [odo]  Watching for changes in the current directory /tmp/118204959
  [odo] 
  [odo] Keyboard Commands:
  [odo] [Ctrl+c] - Exit and delete resources from the cluster
  [odo]      [p] - Manually apply local changes to the application on the cluster
  [odo] Updating Component...
  [odo] 
  [odo]  •  Waiting for Kubernetes resources  ...
  [odo] Error occurred on Push - watch command was unable to push component: unable to get pod for component yvcmhs: pod not found for the selector: component=yvcmhs
  [odo] 
  [odo] 
  [odo] ↪ Dev mode
  [odo]  Status:
  [odo]  Watching for changes in the current directory /tmp/118204959
  [odo] 
  [odo] Keyboard Commands:
  [odo] [Ctrl+c] - Exit and delete resources from the cluster
  [odo]      [p] - Manually apply local changes to the application on the cluster
  [odo]  ⚠  Pod is Terminating
  [odo]  •  Waiting for Kubernetes resources  ...
  [odo]  ✗  Finished executing the application (command: run) [44s]
  [odo]  ⚠  No pod exists
  [odo]  ⚠  Pod is Pending
  [odo]  ✓  Pod is Running
  [odo]  •  Syncing files into the container  ...
 ✓  Syncing files into the container [201ms]
  [odo]  •  Building your application in container (command: build)  ...
 ✓  Building your application in container (command: build) [1s]
  [odo]  •  Executing the application (command: run)  ...
  [odo]  •  Waiting for the application to be ready  ...
 ✓  Waiting for the application to be ready [1s]
  [odo]  -  Forwarding from 127.0.0.1:37949 -8080
  [odo] 
  [odo] 
  [odo] ↪ Dev mode
  [odo]  Status:
  [odo]  Watching for changes in the current directory /tmp/118204959
  [odo] 
  [odo] Keyboard Commands:
  [odo] [Ctrl+c] - Exit and delete resources from the cluster
  [odo]      [p] - Manually apply local changes to the application on the cluster
  [odo] Pushing files...
  [odo] 
  [odo] 
  [odo] File /tmp/118204959/devfile.yaml changed
  [odo]  •  Waiting for Kubernetes resources  ...
  [odo]  •  Syncing files into the container  ...
 ✓  Syncing files into the container [2ms]
  [odo]  •  Waiting for the application to be ready  ...
 ✓  Waiting for the application to be ready [1s]
  [odo] 
  [odo] ↪ Dev mode
  [odo]  Status:
  [odo]  Watching for changes in the current directory /tmp/118204959
  [odo] 
  [odo] Keyboard Commands:
  [odo] [Ctrl+c] - Exit and delete resources from the cluster
  [odo]      [p] - Manually apply local changes to the application on the cluster
  Running oc with args [oc get pods --namespace e2e-test461pgn --selector=component=yvcmhs -o jsonpath={.items[*].metadata.name}] and odo env: []
  [oc] yvcmhs-app-6777998c77-4xtxfRunning oc with args [oc exec yvcmhs-app-6777998c77-4xtxf --namespace e2e-test461pgn -c runtime -- curl http://127.0.0.1:8080/ping] and odo env: []
  [oc]   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
  [oc]                                  Dload  Upload   Total   Spent    Left  Speed
100     4  100     4    0     0   4000      0 --:--:-- --:--:-- --:--:--  4000
  [oc] pong
  [FAILED] in [It] - /home/odo/go/src/github.com/redhat-developer/odo/tests/e2escenarios/e2e_test.go:430 @ 08/21/23 09:48:32.277
  Deleting project: e2e-test461pgn
  Running oc with args [oc delete project e2e-test461pgn --wait=false] and odo env: []
  [oc] project.project.openshift.io "e2e-test461pgn" deleted
  Setting current dir to: /home/odo/go/src/github.com/redhat-developer/odo/tests/e2escenarios
  Deleting dir: /tmp/118204959
  Deleting dir: /tmp/1203026466
  << Timeline

  [FAILED] Expected
      <*url.Error | 0xc0002d2030>: 
      Post "http://127.0.0.1:37949/api/newuser": EOF
      {
          Op: "Post",
          URL: "http://127.0.0.1:37949/api/newuser",
          Err: <*errors.errorString | 0xc0001980f0>{s: "EOF"},
      }
  to be nil
  In [It] at: /home/odo/go/src/github.com/redhat-developer/odo/tests/e2escenarios/e2e_test.go:430 @ 08/21/23 09:48:32.277
------------------------------

Summarizing 1 Failure:
  [FAIL] E2E Test starting with non-empty Directory add Binding [It] should verify developer workflow of using binding as env in innerloop
  /home/odo/go/src/github.com/redhat-developer/odo/tests/e2escenarios/e2e_test.go:430

As i observed it is due to quay.io/enterprisedb/postgresql:15.1 image used in the pod(cluster-example-initdb which creates in EDB Postgres for Kubernetes operator) and this image is only compatible with X86. Can you please use quay.io/enterprisedb/postgresql:15.3-multiarch which is compatible for all architectures instead of quay.io/enterprisedb/postgresql:15.1

@openshift-ci openshift-ci bot added the kind/bug Categorizes issue or PR as related to a bug. label Aug 21, 2023
@github-actions github-actions bot added the needs-triage Indicates an issue or PR lacks a `triage/*` and requires one. label Aug 21, 2023
@kadel kadel added priority/High Important issue; should be worked on before any other issues (except priority/Critical issue(s)). priority/Medium Nice to have issue. Getting it done before priority changes would be great. and removed priority/High Important issue; should be worked on before any other issues (except priority/Critical issue(s)). labels Aug 21, 2023
@rm3l rm3l added area/binding Issues or PRs related to `odo add/delete binding *` commands or Service Binding Operator area/System-PZ Issues related to IBM System Z and System P and removed needs-triage Indicates an issue or PR lacks a `triage/*` and requires one. labels Aug 21, 2023
@feloy
Copy link
Contributor

feloy commented Aug 21, 2023

@HarshithaMS005 Do you know how is installed the cluster used to run the tests on IBM Z?

The problem could be related to the version of the PostgreSQL operator installed on the cluster

@feloy
Copy link
Contributor

feloy commented Aug 21, 2023

Note: @kadel suggests we hardcode an image into the Postgres instance CR used for the test, with a multi-arch image.

@HarshithaMS005
Copy link
Contributor Author

@feloy the test will run two pods and one of the pod is cluster-example-initdb it uses quay.io/enterprisedb/postgresql:15.1 image which is failing for us with image pull backoff error and it will create a cluster inside EDB Postgres for Kubernetes operator and i have installed latest EDB postgres operator.

@rm3l rm3l added the area/testing Issues or PRs related to testing, Quality Assurance or Quality Engineering label Aug 29, 2023
@feloy feloy self-assigned this Aug 29, 2023
@feloy feloy moved this to In Review 👀 in odo Project Aug 29, 2023
@rm3l rm3l added this to the v3.15.0 🚀 milestone Aug 29, 2023
@github-project-automation github-project-automation bot moved this from In Review 👀 to Done ✅ in odo Project Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/binding Issues or PRs related to `odo add/delete binding *` commands or Service Binding Operator area/System-PZ Issues related to IBM System Z and System P area/testing Issues or PRs related to testing, Quality Assurance or Quality Engineering kind/bug Categorizes issue or PR as related to a bug. priority/Medium Nice to have issue. Getting it done before priority changes would be great.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants