Builds are Stuck in Pending

I found this post (/t/builds-are-stuck-in-pending-status/4437) and attempted to follow the directions. I still haven’t figured out how to fix this issue.

I ran both commands on the same Digital Ocean droplet. Here they are:

docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GITHUB_SERVER=https://github.com \
--env=DRONE_GITHUB_CLIENT_ID=[hidden] \
--env=DRONE_GITHUB_CLIENT_SECRET=[hidden] \
--env=DRONE_RPC_SECRET=[hidden] \
--env=DRONE_TLS_AUTOCERT=true \
--env=DRONE_SERVER_HOST=[hidden] \
--env=DRONE_SERVER_PROTO=https \
--env=DRONE_USER_CREATE=username:ncko,admin:true \
--env=DRONE_USER_FILTER=ncko,ncko528 \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:1

and

docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=https \
-e DRONE_RPC_HOST=[hidden] \
-e DRONE_RPC_SECRET=[hidden] \
-e DRONE_RUNNER_CAPACITY=2 \
-e DRONE_RUNNER_NAME=${HOSTNAME} \
-p 3000:3000 \
--restart always \
--name runner \
drone/agent:1

Here is the yaml file I’m using for the project

kind: pipeline
type: docker
name: mrxt-ui

platform:
  os: linux
  arch: amd64

steps:
  - name: unit-tests
    image: node:current-alpine
    commands: 
    - npm install
    - npm run test:unit

trigger:
  branch:
    - master
    - dev

are you able to let us know which root causes from the Builds are Stuck in Pending you ruled out and how? Were you able to narrow down potential root causes from that list? This will save us time digging through your logs.

Well, I’m not super confident about anything I’ve ruled out, but here is what I’ve ruled out so far and how:

  • Invalid Endpoint, Proxy Problems - none of the error messages in the logs contain html
  • Protected Mode - double checked and Protected Mode not enabled
  • Incorrect Secret - I’ve double checked the secrets and they match
  • Undefined Platform when using Arm or Arm64: Not using Arm or Arm64 - but I’ve also explicitly defined the architecture to be amd64 (though I believe that is default)
  • Invalid kind or type - double checked yaml file kind and type
  • Networking Problems - I have not ruled this out

The first thing I did was to see if the agent was successfully connecting to the server (see “What does a successful connection look like?”). I do not see any corresponding logs which tells me the agent is not connecting to the server. The most common root cause for this are networking issues.

Then I took a look at the agent logs and I see TCP timeout errors. This indicates the agent is unable to establish a connection to the IP address.

 dial tcp 138.68.237.101:443: i/o timeout

The most common root causes for this are firewall issues and reverse proxy issues. It is also possible there is a configuration issue with the rpc host or proto, but since these have been redacted, it is tough to verify. I am sure however, that this is indicative of networking issues.

EDIT please report back once you have a fix. It would be great to have a documented root cause and solution for this specific i/o error message.

1 Like

I get a lot of these in the server logs

TLS handshake error from 47.151.187.34:56956: remote error: tls: unknown certificate

Do you think that could have something do with it?

acme/autocert: host “poprank.io” not configured in HostWhitelist

It looks like your IP was previously used by poprank.io and continues to receive requests for this domain, which are rejected by the system due to domain mismatch.

I recommend trying to curl Drone server from your agent server to verify connectivity; then try to curl the Drone server from inside your agent container via docker exec to verify connectivity. These should be good next steps to either confirm or rule out a number of potential root causes.

Well it definitely has something to do with SSL. Without SSL it is working. I’m going to have to continue without it for now and try to set up Drone on a separate server with SSL later.