podman: `podman auto-update` does not respect the `--override-arch=xyz` flag

/kind bug

Description

podman auto-update does not respect the --override-arch=xyz flag.

I’m running an updated Fedora IoT on a Raspberry Pi 3 b+, and podman only wants to pull images that are arch=arm64/v8, when many images are tagged arch=arm64. I’ve mitigated this via using the --override-arch=arm64 flag, which seems to work for the pull and run commands, but not auto-update. <this might even be a separate issue, arm64==arm64/v8 ?>

I can get the image to update by passing in a --pull always, making sure to generate systemd with the --new flag and running systemctl restart x.service

Steps to reproduce the issue:

  1. Follow example listed here: https://www.mankier.com/1/podman-auto-update
  2. Replace image with something like mikenye/readsb for example.
  3. podman auto-update

Note: the --override-arch=arm64 flag is setup in the systemd unit. Running podman auto-update --override-arch=arm64 isn’t possible as that flag doesn’t exist.

See https://hub.docker.com/r/mikenye/readsb/tags for available arch tags

See https://github.com/mikenye/docker-readsb/blob/master/buildx.sh for how the images are built.

See https://github.com/mikenye/docker-piaware/pull/33#issuecomment-643837702 for details on arm64 == arm64/v8 in this case

Describe the results you received:

error auto-updating container "<hash>": image check for "<image:tag>" failed: Error choosing image instance: no image found in manifest list for architecture arm64, variant v8, OS linux

Describe the results you expected:

An updated image running.

Output of podman version:

Version:            1.9.3
RemoteAPI Version:  1
Go Version:         go1.14.2
OS/Arch:            linux/arm64

Output of podman info --debug:

debug:
  compiler: gc
  gitCommit: ""
  goVersion: go1.14.2
  podmanVersion: 1.9.3
host:
  arch: arm64
  buildahVersion: 1.14.9
  cgroupVersion: v2
  conmon:
    package: conmon-2.0.17-1.fc32.aarch64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.17, commit: 19c059ee0c01a2fb2c425cff307fba1ad2cf7741'
  cpus: 4
  distribution:
    distribution: fedora
    version: "32"
  eventLogger: file
  hostname: adsb
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 5.6.15-300.fc32.aarch64
  memFree: 135544832
  memTotal: 984621056
  ociRuntime:
    name: crun
    package: crun-0.13-2.fc32.aarch64
    path: /usr/bin/crun
    version: |-
      crun version 0.13
      commit: e79e4de4ac16da0ce48777afb72c6241de870525
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  os: linux
  rootless: false
  slirp4netns:
    executable: ""
    package: ""
    version: ""
  swapFree: 468996096
  swapTotal: 468996096
  uptime: 47m 26.07s
registries:
  search:
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - registry.centos.org
  - docker.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 3
    paused: 0
    running: 3
    stopped: 0
  graphDriverName: overlay
  graphOptions:
    overlay.mountopt: nodev,metacopy=on
  graphRoot: /var/lib/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "true"
  imageStore:
    number: 4
  runRoot: /var/run/containers/storage
  volumePath: /var/lib/containers/storage/volumes

Additional environment details (AWS, VirtualBox, physical, etc.):

Fedora IoT, Raspberry Pi 3b+

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 21 (9 by maintainers)

Commits related to this issue

Most upvoted comments

SGTM. nothing I have to change in the defauls. Great work btannous.

In rootfull mode the change policy would not be needed, I believe.

You make Dan very happy with that 😃