Kubernetes + arm64 agent errors

Hi all, having some trouble getting a Kubernetes configuration setup with an arm64 agent. We’re using github hooks to trigger the builds and we successfully see the builds show up in the Drone.io web interface, but the builds never kick off on the agent.

The error message on the agent side is spewing out:

{"arch":"arm64","error":"not implemented","level":"warning","machine":"3162949cddde","msg":"runner: cannot get queue item","os":"linux","time":"2019-04-03T01:47:51Z"}
^C{"arch":"arm64","error":"not implemented","level":"warning","machine":"3162949cddde","msg":"runner: cannot get queue item","os":"linux","time":"2019-04-03T01:47:51Z"}
{"arch":"arm64","error":"not implemented","level":"warning","machine":"3162949cddde","msg":"runner: cannot get queue item","os":"linux","time":"2019-04-03T01:47:51Z"}

The error on the server side is spewing out:

{"error":"not implemented","level":"warning","msg":"manager: request queue item error","time":"2019-04-03T01:40:36Z"}
{"error":"not implemented","level":"warning","msg":"manager: request queue item error","time":"2019-04-03T01:40:36Z"}
{"error":"not implemented","level":"warning","msg":"manager: request queue item error","time":"2019-04-03T01:40:36Z"}

The kubernetes configuration is using:

spec:
      containers:
      - name: drone
        image: drone/drone:1.0.0
        env:
        - name: DRONE_KUBERNETES_ENABLED
          value: "true"
        - name: DRONE_KUBERNETES_NAMESPACE
          value: "default"
        - name: DRONE_GITHUB_SERVER
          value: "https://github.com"
        - name: DRONE_GITHUB_CLIENT_ID
          value: "<redacted>"
        - name: DRONE_GITHUB_CLIENT_SECRET
          value: "<redacted>"
        - name: DRONE_RPC_SECRET
          value: "<redacted>"
        - name: DRONE_SERVER_HOST
          value: "<redacted>"
        - name: DRONE_SERVER_PROTO
          value: "http"

The agent command on the arm64 hardware is:

docker run  --rm  --volume=/var/run/docker.sock:/var/run/docker.sock  --env=DRONE_RPC_SERVER=<redacted>  --env=DRONE_RPC_SECRET=<redacted> --env=DRONE_RUNNER_CAPACITY=2  --name=agent  drone/agent:1.0.0-linux-arm64

The .drone.yml is setup as:

kind: pipeline
name: default

platform:
  os: linux
  arch: arm64

steps:
- name: build
  image: arm64v8/ubuntu:xenial
  commands:
  - echo "hello world"
  - echo "hello world again"

Thanks for any help!

I see you are using Drone for Kubernetes which uses the Kubernetes Scheduler and is therefore agentless – pipelines are executed as native Kubernetes jobs and pods. If you want to use traditional agents you need to disable native Kubernetes.

spec:
      containers:
      - name: drone
        image: drone/drone:1.0.0
        env:
        - name: DRONE_KUBERNETES_ENABLED
-         value: "true"
+         value: "false"

Ah yes! This fix worked perfectly. The agents are purring now. Thanks a ton for such a quick response.