-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Problem with text/event-stream when compress=true #2576
Comments
Could you try with 1.5.0-rc2 ? |
I tried. The same thing. |
Hi @opavlov24 , can you give me more information about your use case because I have tried to install a concourse stack, but I'm not sure where is the real issue (where in the web UI). Can you try with the last RC release too (1.5.0-rc4) ? |
After you log in to the Concourse UI, open a pipeline and open an event (one that has logs). The log will not display, instead it gives you a link to the login page. Check your browser console. You'll see an error about the text/stream event. |
To follow up, I tested with 1.5.0-rc4 and there is no longer an issue related to displaying the logs for pipeline events in Concourse. |
Good to know. |
Hi @mandrean, |
Hi everyone! |
Hey @TheCase, what version of Concourse you were using when you saw the events displayed successfully on |
my working Concourse version is 3.8.0. I'm currently running Traefik 1.5.3 |
Reporting in with Traefik 1.5.4-1 and Concourse 3.11.0. Not only are build logs not loading, the entire web UI is timing out. Currently testing to determine if this is a red herring. |
Ok so the web container timeouts were due to a taxed instance, but I am reliably experiencing the lack of build logs. Confirmed that Traefik is the cause - this works fine with an Nginx proxy. Devtools network panel shows that the
A quick search reveals #819 which mentioned that perhaps the This setup is in Docker, managed by Rancher. Traefik version: '2'
volumes:
$${acme_vol_name}:
driver: rancher-nfs
services:
traefik:
image: rawmind/alpine-traefik:1.5.4-1
environment:
TRAEFIK_ACME_CASERVER: https://acme-v01.api.letsencrypt.org/directory
TRAEFIK_ACME_CHALLENGE: http
TRAEFIK_ACME_CHALLENGE_HTTP_ENTRYPOINT: http
TRAEFIK_ACME_EMAIL: [email protected]
TRAEFIK_ACME_ENABLE: 'true'
TRAEFIK_ACME_ONHOSTRULE: 'true'
TRAEFIK_ADMIN_AUTH_METHOD: basic
TRAEFIK_ADMIN_AUTH_USERS: someuser
TRAEFIK_ADMIN_ENABLE: 'true'
TRAEFIK_ADMIN_PORT: '8000'
TRAEFIK_ADMIN_SSL: 'false'
TRAEFIK_ADMIN_STATISTICS: '10'
TRAEFIK_CONSTRAINTS: ''
TRAEFIK_FILE_ENABLE: 'false'
TRAEFIK_HTTPS_COMPRESSION: 'true'
TRAEFIK_HTTPS_ENABLE: only
TRAEFIK_HTTPS_PORT: '443'
TRAEFIK_HTTP_COMPRESSION: 'true'
TRAEFIK_HTTP_PORT: '80'
TRAEFIK_INSECURE_SKIP: 'false'
TRAEFIK_RANCHER_ENABLE: 'true'
TRAEFIK_RANCHER_HEALTHCHECK: 'true'
TRAEFIK_RANCHER_MODE: metadata
TRAEFIK_TIMEOUT_DIAL: '30'
TRAEFIK_TIMEOUT_HEADER: '0'
TRAEFIK_TIMEOUT_IDLE: '180'
TRAEFIK_TIMEOUT_READ: '0'
TRAEFIK_TIMEOUT_WRITE: '0'
TRAEFIK_USAGE_ENABLE: 'false'
volumes_from:
- traefik-acme
ports:
- 8000:8000/tcp
- 80:80/tcp
- 443:443/tcp
labels:
io.rancher.scheduler.affinity:host_label: traefik_lb=true
io.rancher.sidekicks: traefik-acme
io.rancher.container.hostname_override: container_name
io.rancher.scheduler.global: 'true'
traefik-acme:
image: rawmind/alpine-volume:0.0.2-1
environment:
SERVICE_GID: '10001'
SERVICE_UID: '10001'
SERVICE_VOLUME: /opt/traefik/acme
network_mode: none
volumes:
- traefik:/opt/traefik/acme
labels:
io.rancher.container.start_once: 'true'
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name Concourse version: '2'
volumes:
concourse-keys/keys/worker:
external: true
driver: rancher-nfs
concourse-keys:
external: true
driver: rancher-nfs
concourse-keys/keys/web:
external: true
driver: rancher-nfs
postgres_db:
external: true
driver: local
services:
concourse-keygen:
image: emcniece/concourse-keygen
volumes:
- concourse-keys:/concourse-keys
command:
- tail
- -f
- /dev/null
labels:
io.rancher.scheduler.affinity:host_label: concourse=web
concourse-worker-btrfs:
privileged: true
image: eugenmayer/concourse-worker-solid:3.11.0
hostname: worker-btrfs
environment:
CONCOURSE_TSA_HOST: concourse-web:2222
CONCOURSE_GARDEN_DNS_SERVER: 8.8.8.8
stdin_open: true
volumes:
- concourse-keys/keys/worker:/concourse-keys
- /var/lib/docker/concourse-state/worker-btrfs:/worker-state
tty: true
links:
- concourse-web:concourse-web
labels:
io.rancher.container.pull_image: always
io.rancher.scheduler.affinity:host_label: graphdriver=btrfs
concourse-db:
image: postgres:10.1
environment:
PGDATA: /postgres
POSTGRES_DB: concourse
POSTGRES_PASSWORD: xxx
POSTGRES_USER: concourse
volumes:
- postgres_db10.1:/postgres
labels:
io.rancher.scheduler.affinity:host_label: concourse=web
concourse-web:
image: concourse/concourse:3.11.0
environment:
CONCOURSE_BASIC_AUTH_PASSWORD: user
CONCOURSE_BASIC_AUTH_USERNAME: user
CONCOURSE_EXTERNAL_URL: https://ci.site.com
CONCOURSE_GITHUB_AUTH_CLIENT_ID: xxx
CONCOURSE_GITHUB_AUTH_CLIENT_SECRET: xxx
CONCOURSE_GITHUB_AUTH_TEAM: user/project
CONCOURSE_POSTGRES_DATA_SOURCE: postgres://concourse:xxx@concourse-db:5432/concourse?sslmode=disable
CONCOURSE_VAULT_URL: https://vault.site.com
CONCOURSE_VAULT_CLIENT_TOKEN: xxx
volumes:
- concourse-keys/keys/web:/concourse-keys
links:
- concourse-db:concourse-db
ports:
- 51310:8080/tcp
command:
- web
labels:
traefik.frontend.rule: Host:ci.site.com
traefik.enable: 'true'
rgon.port: '8080'
rgon.ssl: 'true'
rgon.redirect: https
io.rancher.scheduler.affinity:host_label: concourse=web
traefik.port: '8080'
rgon.domain: site.com
|
I tried with concourse 3.9.2. Then I launched a Traefik 1.5.4 (https://github.com/containous/traefik/releases/download/v1.5.4/traefik_linux-amd64) with this config: defaultEntryPoints = ["http"]
[entryPoints]
[entryPoints.http]
address = ":8081"
[file]
[frontends.frontend-test]
backend = "backend-test"
[frontends.frontend-test.routes.test_1]
rule = "Host:127.0.0.1"
[backends]
[backends.backend-test]
[backends.backend-test.servers.website]
url = "http://127.0.0.1:8080" And everythings seems to work on |
Hi @juliens! We talked at KubCon today. So we still seem to have this issue... GCP GKE cluster:
|
So, in the end we decided to abandon Traefik in favor of nginx-ingress + cert-manager + external-dns. With this setup Concourse UI worked immediately without any issues, and it also gives us some additional capabilities we didn't have before. But I really like Traefik; maybe some time in the future I will revisit and see if the |
Traefik Same problem with Basically this is a regression on #560 ping @ldez @juliens you can contact me on Slack |
Here is a reproducible case on
Compare against |
Hi @Overbryd ! Thank you very much for the stack and steps to reproduce the issue. I've tried reproducing it using exactly the steps that you provided, and I have been unsuccessful. Both I think that I followed the steps correctly, here is my folder's structure: Let me know if I missed something or if there was a mistake in the gist files and I'll try again :) |
@Ullaakut all correct. Mind the trailing slash on your request. |
Ran into this with Concourse 4.2.1 and Traefik 1.7.4. Took hours to track down. Steps to reproduce locally:
defaultEntryPoints = ["http"]
[entryPoints]
[entryPoints.http]
address = ":80"
compress = true
[file]
[backends]
[backends.concourse]
[backends.concourse.servers]
[backends.concourse.servers.server0]
url = "http://localhost:8080"
[frontends]
[frontends.concourse]
entrypoints = ["http"]
backend = "concourse"
passHostHeader = true
[frontends.concourse.routes]
[frontends.concourse.routes.route0]
rule = "Host:my.url"
|
@camelpunch Thank you for sending us the steps to reproduce the issue, but we already knew how to reproduce it thanks to @Overbryd ! The issue is not related to We know what the issue is, but we have not yet decided how to handle it, we'll let you know when we do know. In the meantime, the only workaround is to either disable compression or avoid using streams, as far as I know. |
Any update on this? The problem still continues for me on concourse helm chart: concourse-3.0.1 | traefik-1.56.1. |
I just ran into this issue. For what its worth, I think the size of the payload makes a difference. When I have less than 100 bytes, it shows no data. But when the payload grows bigger then the data shows up. |
I can see the same behaviour on my setup. |
Similar here: Some more info: |
Same problem for me, through traefik integrated inside k3s as ingress controller 😓 |
Do you want to request a feature or report a bug?
Bug
What did you do?
We use concourse (it's a CI/CD tool) under traefik. Concourse UI uses
text/stream
to get information about builds from its backend. In traefik 1.3.8 everything works fine, but after updating to traefik 1.4.0 - 1.4.5 concourse can't get any event from its backend (infinite waiting...).What did you expect to see?
Concourse gets events from the backend.
What did you see instead?
Infinite waiting.
Output of
traefik version
: (What version of Traefik are you using?)Traefik 1.4.0 - 1.4.5
What is your environment & configuration (arguments, toml, provider, platform, ...)?
The route to concourse was configured statically.
If applicable, please paste the log output in debug mode (
--debug
switch)Only these lines are related to concourse in traefik logs.
The text was updated successfully, but these errors were encountered: