Skip to content

With Ubuntu on arm64 apt/sources.list.d/docker.list specifies wrong architecture by default #494

Open
@damonmaria

Description

@damonmaria

What you expected to happen?

On a Raspberry Pi 3 with Ubuntu 18.04 I expected this to be able to install Docker.

What happened?

Docker fails to install. The base error is that /etc/apt/sources.list.d/docker.list specifies the wrong architecture:

# This file is managed by Puppet. DO NOT EDIT.
# docker
deb [arch=aarch64] https://download.docker.com/linux/ubuntu bionic stable

For apt the correct architecture for 64-bit ARM is arm64.

How to reproduce it?

class { 'docker':
  version => '5:18.09.6~3-0~ubuntu-bionic',
}

Anything else we need to know?

To workaround this I have to add:

class { 'docker::repos':
  architecture => 'arm64',
}

docker::repos gets the default value of architecture from $facts['architecture']. Looking through all the facts returned on a Raspberry Pi 3 I cannot see any fact returning arm64. So I'm not sure what the correct fact would be or how other modules handle this.

Versions:

$ puppet --version
5.4.0

$ docker version
Client:
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77
 Built:             Sat May  4 02:40:48 2019
 OS/Arch:           linux/arm64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 02:00:10 2019
  OS/Arch:          linux/arm64
  Experimental:     false

$ facter os
{
  architecture => "aarch64",
  distro => {
    codename => "bionic",
    description => "Ubuntu 18.04.2 LTS",
    id => "Ubuntu",
    release => {
      full => "18.04",
      major => "18.04"
    }
  },
  family => "Debian",
  hardware => "aarch64",
  name => "Ubuntu",
  release => {
    full => "18.04",
    major => "18.04"
  },
  selinux => {
    enabled => false
  }
}

$ puppet module list
/usr/share/puppet/modules (no modules installed)

Logs:

Run with --debug here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions