Testing on devices
Closed this issue · 0 comments
Goal: define scope of supported devices and setup testing environments for them.
Upstream Docker Community Edition (CE) is released for amd64
, armhf
(v7), and s390x
today with more targets being added over time. Official Debian and RPM packages are published covering the mainstream Linux distributions (https://github.com/docker/docker-ce-packaging). There are also unofficial build scripts for many more architectures. Today the docker snap is released on the following platforms where there is not an official Docker CE package: arm64
, ppc64el
, and i386
.
Note: While snap packages can be deployed on top of traditional Linux distributions, this is considered out of scope.
Devices with "vanilla" Ubuntu Core 16 boot images:
- Raspberry Pi2, Pi3, and CM3. While these are listed with
armhf
architecture, there are significant differences between the Pi2 and Pi3 hardware, with their own quirks when it comes to supporting docker. It is very likely that the docker snap would require some customization at the Ubuntu Core image maintenance layer to be fully functional. For example, newer versions of docker tend to depend on newer Linux kernel features to function properly which may not be available in the vanilla Core 16 images on these platforms. These are unknown unknowns (to me) at this point. There are also community efforts to provide custom boot images with Docker CE pre-installed. At the time of writing, I couldn't find one with Docker CE 17.06. - Intel Joule. These
amd64
devices were recently discontinued, hence out of scope. - DragonBoard 410c. These have similar hardware to Pi3, but the Core boot image ships a 64 bit
arm64
stack. Supportingarm64
is a goal for Docker, but the upstream CE release is not available yet, hence it should not be considered supported. - Intel NUC. These are basically
amd64
desktop PCs, so the test coverage onamd64
virtual machines should apply. - Samusing Artik 5 & 10. These are both 32-bit only
armhf
devices. The Artik 10 had a short run of less than a year and was recently discontinued, being replaced by the Artik 7 which has a more powerful 64-bit processor. The Artik 5 is in the same class as Pi2, so the same caveats apply. - Generic
i386
. This could likely run in a VM similarly to the recommendedamd64
cloud image, and also will be generic enough to not require additional device-specific testing. Upstream Docker CE does not publish packages fori386
, so this should not be supported by the snap.
Other devices:
- Devices running Ubuntu Core 15 and prior -- out of scope due to deprecation.
- Today the docker snap ships for
ppc64el
, but this architecture is not available in upstream Docker CE and there are no Ubuntu Core boot images to test against. It is not possible to validate this environment without both IBM hardware and a corresponding Ubuntu Core 16 boot image. Until then, we should not support this architecture in the docker snap. Note: Work towards a Docker Enterprise Edition (EE) release forppc64el
is underway, though I don't have a status on a corresponding CE packages. - Docker CE ships
s390x
packages, but has the same basic issues asppc64el
. - Dell is shipping "certified" devices with Ubuntu Core pre-installed (https://certification.ubuntu.com/iot/models/?release=Core%2016&category=Ubuntu%20Core). These appear to be
amd64
hardware, but it is unclear if there are any quirks to how these devices are configured that would necessitate further validation.