crosscloudci / cross-cloud

Cross-Cloud - multi-cloud K8s provisioner for CNCF CI Project
https://cncf.ci
Apache License 2.0
167 stars 59 forks source link

registry.cncf.ci/cncf/cross-cloud/provisioning:production Image does not work on arm64 #180

Closed dims closed 5 years ago

dims commented 5 years ago

Trying on this machine

openlab@node-0:~$ uname -a
Linux node-0.dims.openlab-pg0.utah.cloudlab.us 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 16 21:00:53 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux

With this docker version

openlab@node-0:~$ docker version
Client:
 Version:           18.09.3
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        774a1f4
 Built:             Thu Feb 28 06:45:34 2019
 OS/Arch:           linux/arm64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.3
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       774a1f4
  Built:            Thu Feb 28 06:00:18 2019
  OS/Arch:          linux/arm64
  Experimental:     false

Fails with the following:

openlab@node-0:~$ docker run -it registry.cncf.ci/cncf/cross-cloud/provisioning:production bash
Unable to find image 'registry.cncf.ci/cncf/cross-cloud/provisioning:production' locally
production: Pulling from cncf/cross-cloud/provisioning
48ecbb6b270e: Pulling fs layer
bd16f6685a72: Pulling fs layer
4ddbe165beb8: Pulling fs layer
feaf3fe8c758: Waiting
ae8853201acd: Waiting
408fad1bb163: Waiting
14f9bf9d6f0e: Pulling fs layer
1f59c2501d8c: Pulling fs layer
a7da06d5b08d: Pull complete
bbeeedb1466e: Pull complete
27462ed48f7e: Pull complete
d247e74b5f55: Pull complete
e749a33af053: Pull complete
66973733becd: Pull complete
410aee315f5a: Pull complete
2d7b4ae04331: Pull complete
6fae25ebcc2e: Pull complete
811a55865d28: Pull complete
f129ab5e85e7: Pull complete
506347dbbcc0: Pull complete
70ca3ac02c6d: Pull complete
b939b552bcae: Pull complete
19c76b276dbb: Pull complete
ffc60d8a92f4: Pull complete
aea14c73c954: Pull complete
700f5c8a1654: Pull complete
3f5d76ae5ca3: Pull complete
b24c456d7a37: Pull complete
72048ab00c38: Pull complete
e3f49463a640: Pull complete
d1668454bb2a: Pull complete
f60e2d5aafef: Pull complete
f5889aec77fb: Pull complete
2ded94e84ca8: Pull complete
12cf2add5c20: Pull complete
af104c37456e: Pull complete
62cca7e698f5: Pull complete
bb7cd2ae2435: Pull complete
7de3f4af20f0: Pull complete
e61ae703f2ab: Pull complete
e2a3d374d05f: Pull complete
b814ff7fcee6: Pull complete
f4429b15b3fb: Pull complete
7b772b1258f2: Pull complete
e0c57904e45f: Pull complete
73ed732b6b2e: Pull complete
b4266e7e67fc: Pull complete
f0827a513440: Pull complete
c290a0a07ff8: Pull complete
dc0b249f5aea: Pull complete
04f1fd889184: Pull complete
Digest: sha256:c54a5281a566820e415a39aa9b5b04f05163c8389e49cd48c2abaef7c34d27e4
Status: Downloaded newer image for registry.cncf.ci/cncf/cross-cloud/provisioning:production
standard_init_linux.go:207: exec user process caused "exec format error"

This typically means that the image was not ready to run on arm64

dims commented 5 years ago

https://github.com/estesp/manifest-tool confirms that the image is specific to amd64

openlab@node-0:~$ ./manifest-tool-linux-arm64 inspect registry.cncf.ci/cncf/cross-cloud/provisioning:production
registry.cncf.ci/cncf/cross-cloud/provisioning:production: manifest type: application/vnd.docker.distribution.manifest.v2+json
      Digest: sha256:c54a5281a566820e415a39aa9b5b04f05163c8389e49cd48c2abaef7c34d27e4
Architecture: amd64
          OS: linux
    # Layers: 51
      layer 1: digest = sha256:48ecbb6b270eb481cb6df2a5b0332de294ec729e1968e92d725f1329637ce01b
      layer 2: digest = sha256:bd16f6685a7283d85e63b569f8251a5e4eb9f78f87c9e19924f2c00b9f731c4e
      layer 3: digest = sha256:4ddbe165beb8fdd611d5102f59aeeb1cdc04754bdf33f9553e8595e1da2f2ea4
      layer 4: digest = sha256:feaf3fe8c75884d3dca8fb0ac9002ec9976a48f5e8d57804935abdd9f5dac330
      layer 5: digest = sha256:ae8853201acd885c1435321ab9f2ab4070fa84fe77306975d29e4844baf47033
      layer 6: digest = sha256:408fad1bb163e6758303b3bd2e37fd69bb4e7b6f01a54b09b1fea50c0dbfc78b
      layer 7: digest = sha256:14f9bf9d6f0ede759dbf0a005cd57d7bd97d242b5623bc75714c39681be7e315
      layer 8: digest = sha256:1f59c2501d8cdd6da87461261e6fa467a2a77f97e2109afb1cdcb23c4b7cb36c
      layer 9: digest = sha256:a7da06d5b08d6309c78aa741068c51cd088e239229f7f17443c30ad99c78adb6
      layer 10: digest = sha256:bbeeedb1466e721f801e7c3481e460d6f14eca54851365be6c75842a5f1471cb
      layer 11: digest = sha256:27462ed48f7e41334e21ad9beb9a6714ba5067f76a6deccf258529a1bf526de5
      layer 12: digest = sha256:d247e74b5f55c193e1f4f668157612e55303dc7dd793f4070c00653d07d7045c
      layer 13: digest = sha256:e749a33af0538474fb53355da6155d59efbfba3eb2af288475c04a454e10bc9c
      layer 14: digest = sha256:66973733becdfd9a72294255f90658a33bd9f3d8b0e5b04403ea7ac0d6c5ab72
      layer 15: digest = sha256:410aee315f5ab6a98048e6c711700207b348ffe6cbde5cd93f998685c9a2ab5e
      layer 16: digest = sha256:2d7b4ae04331906848aa19eb1c751ac599ae6c2834be8125b7fbe4c6ff5f9de8
      layer 17: digest = sha256:6fae25ebcc2ea4b1bc7487067709f24e1a63b8689ec580b35fc8ac97b35217bd
      layer 18: digest = sha256:811a55865d28ebd04aaea7bcfe89a2804b8fa77dcc679159355e9906c829fd01
      layer 19: digest = sha256:f129ab5e85e7ac409f5876fc91d17cc64334b756f18671e95d8465bffe8d6ea5
      layer 20: digest = sha256:506347dbbcc0e2801b6843f3fabd66887ca387ce8c6b925395ce22c4de2277d2
      layer 21: digest = sha256:70ca3ac02c6d3ad6fe520decfde691a510891aab860a00b7c8e5d5f860bddc9f
      layer 22: digest = sha256:b939b552bcae4a41bded00779a541eb703ef9f83b4e01ecf95857d413eb944af
      layer 23: digest = sha256:19c76b276dbb5cd687e83311c7ad846974a7ac8ebde89abc64d94745323425ee
      layer 24: digest = sha256:ffc60d8a92f4ef5f2d332378da2d8b78015994f2596ec63745b476d7e494fcdf
      layer 25: digest = sha256:aea14c73c9547382a64ae12e7832e2e7b784f3e19931a1d602288ce9aae5c1a9
      layer 26: digest = sha256:700f5c8a1654458dc8a65197cbffa416a18c7a2468dd61d13ae1f8ce2ef36981
      layer 27: digest = sha256:3f5d76ae5ca351ac46ac607f04bbd296834b91885ff5ee5a69cff990e996a9b7
      layer 28: digest = sha256:b24c456d7a373c5627c1f608e3cdaabe4052b3221da6ec6fa4deb5b1ab31788a
      layer 29: digest = sha256:72048ab00c38ec9fdd07e55073887d9806808acd70b3665a2adb6b454c60d0f8
      layer 30: digest = sha256:e3f49463a6409428c0618bb48dfdaf601485b99cac321a7dec2d9862de72cc33
      layer 31: digest = sha256:d1668454bb2a08d662e3f1f1aa8d399c7260a537ba124e7c38887f80bf3e5605
      layer 32: digest = sha256:f60e2d5aafefa97c3d8cd779a566e221edad23c51ea9e697aa2710263dbe1213
      layer 33: digest = sha256:f5889aec77fb5a3857a9af12816d69f3072da1acbc858b72b453bc2542bbf0cc
      layer 34: digest = sha256:2ded94e84ca8b2e67a83537ddf9da7b238b4787ac990ac649e3091729f0ec2bb
      layer 35: digest = sha256:12cf2add5c20ca48c4a113e8bdc696b5d9b8f09ca9762f5ee21ec63e66d4ef2e
      layer 36: digest = sha256:af104c37456ecff3f31093de774793c9fd824801e8448400eb5ab79c89892be5
      layer 37: digest = sha256:62cca7e698f5178f56ed6f5d00605530f0a0a48c411dad1190abaa7d117985b0
      layer 38: digest = sha256:bb7cd2ae2435b73b59447e769624a05ba952e94742729e8162c6ae781e098b28
      layer 39: digest = sha256:7de3f4af20f01d4a9b9ce6d774615d4843827c2a8500f82bca8acba23d26844b
      layer 40: digest = sha256:e61ae703f2abbdfd70546b332d4649b680e542d542e86e029c87bb24382384a8
      layer 41: digest = sha256:e2a3d374d05f4742fe4bb1adc1a07981cba97ef0bc143a5e4ce0fa7866fdacb2
      layer 42: digest = sha256:b814ff7fcee6050e1e7e39d8fab7964695abba4bd3225682d003291316772fc0
      layer 43: digest = sha256:f4429b15b3fb8d1f074e3fb427c4d7ddf1eb87ecbb8fac625448925bdc123ce0
      layer 44: digest = sha256:7b772b1258f2586aceb3428ddee1f627dba0f5744d87a89363f60708a9f57e19
      layer 45: digest = sha256:e0c57904e45f9bee7d5825c8ec70b6d3f969e7cfddca28b872e894a1dc352ccb
      layer 46: digest = sha256:73ed732b6b2e51392132b3ae68873fafe36261e942d1fd5b2da3bcb18edaf97c
      layer 47: digest = sha256:b4266e7e67fc142a512adf88be2361476e25c43ec11d757acf759322ba86ae5b
      layer 48: digest = sha256:f0827a51344049ebe682453466eef1bfd4bc8b3c4360874f25928b86e96aca6e
      layer 49: digest = sha256:c290a0a07ff84c8c94190a1d202dbfc4ebf6f34daa7cdb3597af9e74866224a2
      layer 50: digest = sha256:dc0b249f5aea0e3c135f56a854ab321ea06e277dc39d80afd94f3274f4df824b
      layer 51: digest = sha256:04f1fd8891847d92c1ea3f44939aeaa1c1feb3e5b9ae5f8bcc125c9e2ce6c5fb