Skip to content

Commit

Permalink
Update documentation for aarch64 support
Browse files Browse the repository at this point in the history
  • Loading branch information
Obihoernchen committed Jul 12, 2024
1 parent 857e290 commit c4edbdd
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 59 deletions.
22 changes: 22 additions & 0 deletions docs/source/advanced/mixed_cluster/building_stateless_images.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,28 @@ In a homogeneous cluster, the management node is the same hardware architecture

The issues arises in a heterogeneous cluster, where the management node is running a different level operating system *or* hardware architecture as the compute nodes in which to deploy the image. The ``genimage`` command that builds stateless images depends on various utilities provided by the base operating system and needs to be run on a node with the same hardware architecture and *major* Operating System release as the nodes that will be booted from the image.

When running xCAT >= 2.17 on EL >= 8 based management node with x86_64 architecture, qemu-user-static can be used to cross-build ppc64* and aarch64 osimages. Therefore, you don't need to build images on systems with the target architecture anymore.

Cross-build ppc64*/aarch64 stateless/statelite image on x86_64 management node
------------------------------------------------------------------------------

#. Download qemu-user-static binaries for ppc64le and/or aarch64: ::

wget https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-ppc64le-static -P /usr/bin
wget https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-aarch64-static -P /usr/bin
chmod 755 /usr/bin/qemu-*-static

#. Configure systemd-binfmt accordingly: ::

wget https://raw.githubusercontent.com/qemu/qemu/master/scripts/qemu-binfmt-conf.sh
bash qemu-binfmt-conf.sh --systemd 'ALL' --qemu-path '/usr/bin' --qemu-suffix '-static' --persistent 'yes'
systemctl restart systemd-binfmt.service

#. Make sure ``osimage.osarch`` of your image is set to your target architecture eg. ``ppc64le`` or ``aarch64``.

Now, ``genimage`` will use systemd-binfmt and the qemu-user-static binary to build the image for the specified architecture.


Same Operating System, Different Architecture
---------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/source/advanced/mixed_cluster/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Mixed Cluster
=============

The concept of mixed cluster support in xCAT is managing cluster which contain different hardware architectures. Most commonly, this is usually a cluster consisting of both Power and x86 systems.
The concept of mixed cluster support in xCAT is managing cluster which contain different hardware architectures. Most commonly, this is usually a cluster consisting of both Power, ARM and x86 systems.

.. toctree::
:maxdepth: 2
Expand Down
77 changes: 39 additions & 38 deletions docs/source/advanced/mixed_cluster/support_matrix.rst
Original file line number Diff line number Diff line change
@@ -1,49 +1,50 @@
Support Matrix
==============

+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| | RHEL | SLES | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu |
| | ppc64 | ppc64 | x86_64 | x86_64 | x86_64 | ppc64le | ppc64le | ppc64el |
| | CN | CN | CN | CN | CN | CN | CN | CN |
+=========+=========+=========+=========+=========+=========+=========+=========+=========+
| RHEL | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [4]_ | [4]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [4]_ | [4]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [5]_ | [5]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | |
| ppc64le | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [2]_ | [2]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | |
| ppc64le | no | no | yes | yes | yes | yes | yes | yes |
| MN/SN | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | |
| ppc64el | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [3]_ | [3]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| | RHEL | SLES | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu |
| | ppc64 | ppc64 | x86_64 | x86_64 | x86_64 | ppc64le | ppc64le | ppc64el | aarch64 | aarch64 | aarch64 |
| | CN | CN | CN | CN | CN | CN | CN | CN | CN | CN | CN |
+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+
| RHEL | | | | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
| MN/SN | [4]_ | [4]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
| MN/SN | [4]_ | [4]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
| MN/SN | [5]_ | [5]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | | | | |
| ppc64le | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | [2]_ | [2]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | | | | |
| ppc64le | no | no | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | | | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | | | | |
| ppc64el | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | [3]_ | [3]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+


Notes:

* The support statements refers to hardware control, operating system (os) provisioning, and general purpose system management where we do not see any obvious problems with the indicated combination.

* For diskless mixed cluster support, the initial diskless image must be created on a node running the target operating system version and architecture. see :doc:`/advanced/mixed_cluster/building_stateless_images` for more details.
* For xCAT < 2.17 diskless mixed cluster support, the initial diskless image must be created on a node running the target operating system version and architecture. On xCAT >= 2.17 with x86 based management nodes QEMU emulation can be used for different architectures (eg. ppc64 or aarch64) if qemu-user-static is installed and configured via systemd-binfmt. See :doc:`/advanced/mixed_cluster/building_stateless_images` for more details.

.. rubric:: Footnotes

Expand Down
2 changes: 1 addition & 1 deletion docs/source/overview/differentiators.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Differentiators

* Support Multiple Hardware

IBM Power, IBM Power LE, x86_64
IBM Power, IBM Power LE, x86_64, aarch64 (alpha support)

* Support Multiple Virtualization Infrastructures

Expand Down
38 changes: 19 additions & 19 deletions docs/source/overview/support_matrix.rst
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
Operating System & Hardware Support Matrix
==========================================

+-------+-------+-------+-----+-------+--------+--------+--------+
| | Power | Power | zVM | Power | x86_64 | x86_64 | x86_64 |
| | | LE | | KVM | | KVM | Esxi |
+=======+=======+=======+=====+=======+========+========+========+
|RHEL | yes | yes | yes | yes | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|SLES | yes | yes | yes | yes | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|Ubuntu | no | yes | no | yes | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|CentOS | no | no | no | no | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|Windows| no | no | no | no | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
| | Power | Power | zVM | Power | x86_64 | x86_64 | x86_64 | aarch64 |
| | | LE | | KVM | | KVM | Esxi | |
+=======+=======+=======+=====+=======+========+========+========+==========+
|RHEL | yes | yes | yes | yes | yes | yes | yes | yes |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|SLES | yes | yes | yes | yes | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|Ubuntu | no | yes | no | yes | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|CentOS | no | no | no | no | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|Windows| no | no | no | no | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+

0 comments on commit c4edbdd

Please sign in to comment.