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

Regression issue: Wrong port in OpenShift route #16089

Closed
Sgitario opened this issue Mar 29, 2021 · 8 comments · Fixed by #16545
Closed

Regression issue: Wrong port in OpenShift route #16089

Sgitario opened this issue Mar 29, 2021 · 8 comments · Fixed by #16545
Assignees
Labels
kind/bug Something isn't working
Milestone

Comments

@Sgitario
Copy link
Contributor

Sgitario commented Mar 29, 2021

Describe the bug

(Describe the problem clearly and concisely.)

Actual behavior

The port in the route is set to 80 and it should be 8080.

To Reproduce

Steps to reproduce the behavior:

  1. mvn io.quarkus:quarkus-maven-plugin:999-SNAPSHOT:create -DprojectGroupId=org.acme -DprojectArtifactId=openshift-quickstart -DclassName="org.acme.rest.GreetingResource" -Dpath="/greeting" -Dextensions=openshift
  2. cd openshift-quickstart
  3. Deploy it using mvn package -Dquarkus.kubernetes.deploy=true -Dquarkus.openshift.expose=true

The maven command finished ok, but when trying to have access to the application, the route endpoint always gets 503 Gateway error.

The problem is that the port is set to 80 and it should be 8080.

See the whole content of the openshift.yml file:

---
apiVersion: v1
kind: Service
metadata:
  annotations:
    app.openshift.io/vcs-url: <<unknown>>
    app.quarkus.io/build-timestamp: 2021-03-29 - 10:50:37 +0000
  labels:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
    app.openshift.io/runtime: quarkus
  name: openshift-quickstart
spec:
  ports:
  - name: http
    port: 80
    targetPort: 8080
  selector:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
  type: ClusterIP
---
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
  name: openjdk-11
spec:
  dockerImageRepository: registry.access.redhat.com/ubi8/openjdk-11
---
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
  annotations:
    app.openshift.io/vcs-url: <<unknown>>
    app.quarkus.io/build-timestamp: 2021-03-29 - 10:50:37 +0000
  labels:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
    app.openshift.io/runtime: quarkus
  name: openshift-quickstart
spec: {}
---
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
  annotations:
    app.openshift.io/vcs-url: <<unknown>>
    app.quarkus.io/build-timestamp: 2021-03-29 - 10:50:37 +0000
  labels:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
    app.openshift.io/runtime: quarkus
  name: openshift-quickstart
spec:
  output:
    to:
      kind: ImageStreamTag
      name: openshift-quickstart:1.0.0-SNAPSHOT
  source:
    binary: {}
  strategy:
    sourceStrategy:
      from:
        kind: ImageStreamTag
        name: openjdk-11:latest
---
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
  annotations:
    app.openshift.io/vcs-url: <<unknown>>
    app.quarkus.io/build-timestamp: 2021-03-29 - 10:50:37 +0000
  labels:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
    app.openshift.io/runtime: quarkus
  name: openshift-quickstart
spec:
  replicas: 1
  selector:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
  template:
    metadata:
      annotations:
        app.openshift.io/vcs-url: <<unknown>>
        app.quarkus.io/build-timestamp: 2021-03-29 - 10:50:37 +0000
      labels:
        app.kubernetes.io/name: openshift-quickstart
        app.kubernetes.io/version: 1.0.0-SNAPSHOT
        app.openshift.io/runtime: quarkus
    spec:
      containers:
      - args:
        - -Dquarkus.http.host=0.0.0.0
        - -Djava.util.logging.manager=org.jboss.logmanager.LogManager
        - -jar
        - /deployments/quarkus-run.jar
        command:
        - java
        env:
        - name: KUBERNETES_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: JAVA_APP_JAR
          value: /deployments/openshift-quickstart-1.0.0-SNAPSHOT-runner.jar
        image: jcarvaja/openshift-quickstart:1.0.0-SNAPSHOT
        imagePullPolicy: IfNotPresent
        name: openshift-quickstart
        ports:
        - containerPort: 8080
          name: http
          protocol: TCP
  triggers:
  - imageChangeParams:
      automatic: true
      containerNames:
      - openshift-quickstart
      from:
        kind: ImageStreamTag
        name: openshift-quickstart:1.0.0-SNAPSHOT
    type: ImageChange
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  annotations:
    app.openshift.io/vcs-url: <<unknown>>
    app.quarkus.io/build-timestamp: 2021-03-29 - 10:50:37 +0000
  labels:
    app.kubernetes.io/name: openshift-quickstart
    app.kubernetes.io/version: 1.0.0-SNAPSHOT
    app.openshift.io/runtime: quarkus
  name: openshift-quickstart
spec:
  port:
    targetPort: 80
  to:
    kind: Service
    name: openshift-quickstart

Environment (please complete the following information):

Quarkus version or git rev

999-SNAPSHOT

(It works fine in 1.12+ and 1.13.0.Final)

Additional context

I think this is another regression issue caused by this change. Another related issue is #15953

@geoand
Copy link
Contributor

geoand commented Mar 29, 2021

Thanks for reporting!

Actually the best way to fix this would be to remove

  port:
    targetPort: 80

from the Route definition altogether.

@iocanel how can we do that?

@iocanel
Copy link
Contributor

iocanel commented Mar 29, 2021

Not sure if this is behavior between different openshift versions, or a doc issue, but I'll have to look at it closer.
Till then, this can be worked around:

quarkus.openshift.ports.http.name=http
quarkus.openshift.ports.http.host-port=8080
quarkus.openshift.ports.http.container-port=8080

@geoand
Copy link
Contributor

geoand commented Mar 29, 2021

Yeah, that is nice for getting around the problems now, but the OOTB Route doesn't work - which we definitely need to fix for users :)

@geoand
Copy link
Contributor

geoand commented Apr 6, 2021

I ran into this again today - @iocanel is this on one your radar?

@iocanel
Copy link
Contributor

iocanel commented Apr 15, 2021

This has been fixed in dekorate. Will update to the latest version and align tests asap!

@gsmet
Copy link
Member

gsmet commented Apr 15, 2021

Is it an issue in 1.13 too? If so, we would need a fix there too.

@iocanel
Copy link
Contributor

iocanel commented Apr 15, 2021

It shouldn't affect 1.13 as this is a regression introdcued with dekorate 2.x.

@geoand
Copy link
Contributor

geoand commented Apr 15, 2021

Yeah, this affects main only

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants