UI does not auto-refresh when build steps are done

Hi guys,

I’m running Docker-in-Docker on Kubernetes using Helm chart & latest version (0.8.4).

When inspecting a running job, UI does not auto-refresh when build steps are completed and I have to refresh page manually to see if those have been completed. Not sure if it is intended behaviour or not.

On a related note, it appears that log follow is working intermittently during the build phase (needs few refreshes to get it to ‘pick up’ the logs). For me logs are fully functioning after the build step has been completed.

Drone uses server-sent-events (SEE) to send updates from the server to the browser. This capability is pretty mature and at this time there are no known implementation issues. We do, however, somewhat frequently see instances where there is a load balancer or reverse proxy sitting between the browser and the server that is not properly configured to handle SSE requests.

1 Like

Hi Brad,

thanks for pointing this out. We were using reverse proxy (Traefik) and configuring load balancer (ELB) to point directly to Drone server solved the issue!

Thank you very much!

I am using Kubernetes in AWS, (EKS) and I am having the same issue, I have to refresh the page in order to see build in progress (I am using nginx ingress in front of my drone-server). How exactly were you able to fix your issue? If I put a load balancer dedicated to drone-server then I get a connection refused after clicking on allow after the bitbucket page

Hey guys,

I am running oss version of drone, and first of all I would like to say that this is amazing piece of software :slight_smile:

Unfortunately I am facing the issue described by @NaurisSadovskis, I saw several threads about that here and there which always leads to SSE tech.

I am running Drone on HTTP without proxy (nginx), I am able to see EventStream in Chrome, but still no status updates in UI, could you please advise?

This is part of the msg from EventStream:

{
“id”: 29,
“step_id”: 9,
“number”: 2,
“name”: “Build”,
“status”: “success”,
“exit_code”: 0,
“started”: 1622394435,
“stopped”: 1622394661,
“version”: 3
},

[UPDATE]

Probably the same issue as here http://discuss.harness.io/t/drone-2-0-build-ui-not-refreshing/9156

Thank you in advance,
Cheers, Pawel

Is someone able to describe more? We are using nginx reverse proxy (https://kubernetes.github.io) too so it seems to be the issue.

There are some annotations that can change the behavior but I didn’t find any related to SSE.
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations
Thanks.

I am able to see traffic in tcpdump

07:34:38.105437 IP ip-xxxxx.compute.internal.http > ip-xxxxx.eu-west-1.compute.internal.60754: Flags [P.], seq 29809:29822, ack 1, win 233, options [nop,nop,TS val 282211707 ecr 555795669], length 13: HTTP
xxxxx, random stuff
: ping



07:35:42.136249 IP ip-xxxxx.eu-west-1.compute.internal.http > ip-xxxxx.eu-west-1.compute.internal.60754: Flags [.], seq 29848:31142, ack 1, win 233, options [nop,nop,TS val 282275738 ecr 555869549], length 1294: HTTP
xxxxx, random stuff
../.!!.m800
data: {"id":344,"uid":"653","user_id":1,"namespace":.........xxxxxxx

This is what I can do to double check whether SSE events can reach my browser

How is your organization or repository are named? Do they have any uppercases or dots, underscores as word separators?

Thought also that it could be nginx issue, although…

Coming with basically the same issue - seems like the naming part of repository is the issue here:

No dots and underscores, however I do have capital letters, does it make a difference?

@Pawel_Slotorsz , yes, capital letters seem to have affect this, too. At least what other guys in that thread told and what I have tested myself as well.