Update README with amd64-ubi microarchitecture note - #2689
Conversation
Added a small note about minimum required microarchitecture level for amd64 ubi images. Fixes MariaDB/mariadb-docker#692 Signed-off-by: Leonardo Amaral <contato@leonardoamaral.com.br>
|
cc |
grooverdan
left a comment
There was a problem hiding this comment.
May as well list all architectures right? I remember the POWER9 hit me by surprise.
|
|
||
| The %%IMAGE%% has a number of tags, and of note is `latest`, as the latest stable version, and `lts`, as the last long term support release. | ||
|
|
||
| Note for [amd64][ubi]: Please note the minimum required microarchitecture level is x86-64-v3 ([more info](https://access.redhat.com/solutions/7066628)). |
There was a problem hiding this comment.
I don't think [amd64][ubi] will render in a meaningful way. The UBI 10 images are used for 12.3+.
So suggest:
"Note for the UBI based images used in 12.3+, for amd64, the required micorarchitecture ...."
But I think is we're describing architecture requirements lets be inclusive:
| Note for [amd64][ubi]: Please note the minimum required microarchitecture level is x86-64-v3 ([more info](https://access.redhat.com/solutions/7066628)). | |
| Image architecture requirements: | |
| | MariaDB version | Distribution | Release | amd64 / x86-64 | aarch64 / arm64 | ppc64le | s390x | | |
| |---|---|---:|---|---|---|---| | |
| | **10.6 / 10.11** | Ubuntu LTS | **22.04** | [x86-64 baseline](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [ARMv8-A](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [POWER9+](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [z13+](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | | |
| | **11.4 - 12.3** | Ubuntu LTS | **24.04** | [x86-64 baseline](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [ARMv8-A](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [POWER9+](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [z13+](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | | |
| | **13.0+** | Ubuntu LTS | **26.04** | [x86-64 baseline](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [ARMv8-A](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [POWER9+](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | [z15+](https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/) | | |
| | **10.6 - 11.8** | RHEL / UBI | **9** | [x86-64-v2](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/ref_architectures_considerations-in-adopting-rhel-9) | [ARMv8.0-A](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/ref_architectures_considerations-in-adopting-rhel-9) | [POWER9](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/ref_architectures_considerations-in-adopting-rhel-9) | [z14](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/ref_architectures_considerations-in-adopting-rhel-9) | | |
| | **12.3+** | RHEL / UBI | **10** | [x86-64-v3](https://access.redhat.com/solutions/7066628) | [ARMv8.0-A](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.0_release_notes/architectures) | [POWER10+](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.1_release_notes/architectures) | [z15+](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.1_release_notes/architectures) | |
There was a problem hiding this comment.
@grooverdan thank you for you feedback!
I have mixed feelings about this. I opened this issue for mariadb first. That said, the generator for Supported tags and respective Dockerfile links are not in mariadb it self, but a template for whole docker-library images. I'm saying this because all RHEL10/UBI10/RockyLinux10 based images have restriction for x86_64 v1 and v2 architectures (Ref.: https://access.redhat.com/solutions/7066628) and AlmaLinux10 based images restricts v1 only (Ref.: https://wiki.almalinux.org/release-notes/10.2.html#changelog). This is only applicable for x86_64. Ubuntu will handle it in a different way, providing both universal amd64 support and amd64v3 that restricts v1 and v2 (Ref.: https://ubuntu.com/project/docs/how-ubuntu-is-made/concepts/supported-architectures/#architecture-variants ). Debian does not restrict at all, since uses v1 (Ref.: https://wiki.debian.org/ArchitectureSpecificsMemo#amd64).
Microarchitectures may start making difference as pressure for performance increases. RedHat already started it.
So I think the perfect way is to provide these correlations for all images that fits these rules, for all containers. BUT I'm trying to address MariaDB right now only. Also about language, since this issue can lead to outtages, I prefer to explicit the situations the images will not work instead just point to "Hey, this is the ACL, check youself" in the case its a more generic issue (CPU Microarchitecture) than a specific hardware compatibility.
So that said, what do you think? I do not oppose to suggested approach but take these observations in consideration may help to create a better approach than I initially proposed (And you properly started a thought).
There was a problem hiding this comment.
On base images very much a Docker Library general issue. Its also very much a MariaDB one because a MariaDB mistake on wrong build compile flags can easily get something more restrictive than the base image. This is why I explicitly expanded out the MariaDB versions so there's a clear mapping of architecture. Improvements like "Distribution" -> "base image" still welcome.
I look to https://specs.opencontainers.org/image-spec/image-index/#platform-variants and to my relief (wasn't there last time I looked) find there is an amd64 v3 variant specified. Which means sometime soon may be able to take advantage of a v3 layer for amd64 in the manifest for Ubuntu's v3. Lets see if images can be part of the base images and eventually work to prevent outages. However, topic for a different issue.
I'm keen for this table to exist and its explicitly mentioning the microarchitectures rather than relying on link following. Links as secondary only. Despite is bloated form in markdown it will compress down quickly enough to something readable (IMO anyway).
Its not just a x86_64 issue, those with POWER8, 9 are finding out too that distro updates aren't supporting old hardware like their on Debian still does. In a container form its so transparent its barely visible as you discovered.
I hope I've understood your points correctly. I'm still keen on documenting all supported MariaDB image architectures.
Added a small note about minimum required microarchitecture level for amd64 ubi images.
Fixes MariaDB/mariadb-docker#692