Skip to content

"no suitable node available for task" on arm64 due to non-normalized platform name #2401

@vielmetti

Description

@vielmetti

[updated with current information]

arm64 jobs fail to schedule on Swarm, because the system identifies itself as "aarch64". A fix at #2411 in manager/scheduler/filter.go normalizes these names for the 64-bit Arm architecture.

Original report

The issue simply put is that Swarm doesn't always work on arm64 nodes, but sometimes it does. However the issue is sufficiently complicated that I don't yet have a minimum test case or a suggested line of code to fix.

There's information about this issue in a lot of places on the net, and this tracking issue attempts to sort out what works, what's not working, and a minimum suitable test to fix it.

The symptom is this kind of error message in the log file:

DEBU[2017-10-09T20:36:22.336625100Z] no suitable node available for task           module=node node.id=xl2vxso5gh504rosy2u9nyqkc task.id=yj0vos4kyogoklebm3dvw50xb

and a current state of "PENDING".

Some related issues:

There may be additional details hiding elsewhere; I'll track those down as they are identified.

I'm sure there's a file somewhere that has mappings from variant names to canonical names - otherwise how would this work at all anywhere - but I haven't tracked down that file yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions