Bring multiarch and start building ARM64 containers to Kolla
This blueprint is meant to track the work required for the creation of ARM64 containers for OpenStack and the multiarch work required to make this happen sanely.
Blueprint information
- Status:
- Complete
- Approver:
- kolla-drivers
- Priority:
- High
- Drafter:
- Gema Gomez
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- Accepted for pike
- Implementation:
- Implemented
- Milestone target:
- pike-3
- Started by
- Steven Dake
- Completed by
- Marcin Juszkiewicz
Related branches
Related bugs
Sprints
Whiteboard
Tasks roughly identified as necessary:
- Debian containers are not up to date nor in a working state. They need to be worked on and brought up to a working state so that they can be used on ARM64.
-- 124 containers built, 84 failed
- Identify all the changes that need to be done so that more than one architecture can coexist and the
right containers are chosen depending on the arch.
-- https:/
- Bring up 3rd party CI with ARM64 hardware to be able to validate the ARM64 containers: 3rd party CI continues to be worked on but won't land during Pike. We are aiming at landing this on Queens (see https:/
Waiting for Ocata release (10th March) to get reviewers ready to look at patches.
Patches related to blueprint should have extra info in commit message:
Partially-
Gerrit topic: https:/
Addressed by: https:/
debian: enable all images enabled for Ubuntu
Addressed by: https:/
Add support for non-x86 architectures (aarch64, ppc64le)
Addressed by: https:/
debian: move to stretch
Addressed by: https:/
elasticsearch: handle aarch64 and ppc64le architectures
Addressed by: https:/
nova-libvirt: handle ppc64le
Current (2017-03-29) stats:
x86-64:
centos-binary: 169
centos-source: 206
debian-binary: 142
debian-source: 195
ubuntu-binary: 161
ubuntu-source: 207
ppc64le:
debian-binary: 134
debian-source: 187
ubuntu-binary: 143
ubuntu-source: 193
aarch64:
centos-binary: 60
centos-source: 190
debian-binary: 129
debian-source: 182
ubuntu-binary: 141
ubuntu-source: 28
Addressed by: https:/
ironic-pxe: handle non-x86 architectures
Addressed by: https:/
debian: install gnupg and dirmngr needed for apt-key
Addressed by: https:/
nova-compute: handle rtslib(-fb) for debian-binary builds too
Addressed by: https:/
ceph: move ceph-fuse package to cephfs-fuse image
Addressed by: https:/
openstack-
Addressed by: https:/
kubernetes: disable for architectures other than x86-64
Gerrit topic: https:/
Gerrit topic: https:/
Addressed by: https:/
make yum fail on missing packages
Addressed by: https:/
openstack-base: Percona-Server is x86-64 only
Addressed by: https:/
mariadb: handle lack of external repos on non x86
Addressed by: https:/
iscsid: enable Debian support
Addressed by: https:/
nova-compute: enable Debian/source build
Addressed by: https:/
add base_arch variable for future non-x86 work
Addressed by: https:/
gnocchi-base: add some devel packages for non-x86
Addressed by: https:/
grafana: disable for non-x86
Addressed by: https:/
helm-
Addressed by: https:/
helm-
Addressed by: https:/
kubetoolbox: mark as x86-64 only
Addressed by: https:/
magnum-
Addressed by: https:/
handle mariadb for aarch64/
Addressed by: https:/
opendaylight: get it working on CentOS/non-x86
Addressed by: https:/
kolla-toolbox: use proper mariadb packages on CentOS/non-x86
Addressed by: https:/
kubernetes: get it working on AArch64 as well
Addressed by: https:/
introduce 'install_kubectl' macro
Addressed by: https:/
fix handling of delorean on non-x86
Addressed by: https:/
gnocchi: take care of centos/source on non-x86
Work Items
Work items:
(hrw): Look at the current debian containers and figure out what needs to be done to fix: DONE
(hrw): check current state of Kolla regarding non-x86 support: DONE
(hrw): write a patch to add aarch64 support: DONE
(hrw): check Debian/AArch64 support in Kolla: DONE
(hrw): build some Debian/AArch64 containers: DONE
(hrw): build some Debian/
(hrw): check CentOS/AArch64 support in Kolla: DONE
(hrw): build some CentOS/AArch64 containers: DONE
Dependency tree
* Blueprints in grey have been implemented.