From 8f75445a37099590f36ce6044109209c67ef0deb Mon Sep 17 00:00:00 2001 From: Charalampos Kominos Date: Mon, 1 Oct 2018 13:12:46 +0200 Subject: Bring in aarch64 support in apex RDO builds packages which are aarch64 compatible but some configuration is needed to succesfully deploy. This change: - Prepares the aarch64 docker.io repo as the source for Kolla Containers - Configures VM sizing for aarch64 undercloud. - Configures VM sizing for aarch64 virtual deploy targets. Vms need to be larger on aarch64 compared to x86 to avoid starvation of resources. (MYSQL) - Configures vda2 as the location of the Linux Kernel in aarch64 in an UEFI system - Configures the vNICs to be on the pci-bus instead of the virtio-mmio bus.This will enalbe the Nics to come up in the same order as the x86 ones, so the extra configuration in ansible is not needed - Configures apex to use a stable version of the ceph:daemon container - Configure apex for containerized undercloud in Rocky - Add extra ansible.cfg file for aarch64 which increases waiting times in ansible for aarch64 - Provide helper scripts for DIB to create aarch64 UEFI images Known limitations: - Selinux is interfering with DHCP requests in ironic and ssh so it must be disabled before the deploy command is ran. - The aarch64 containers are frozen for in this commit: https://trunk.rdoproject.org/centos7-rocky/f3/18/f3180de6439333a2813119ad4b00ef897fcd596f_70883030 - The 600s timeout defined in : https://bugs.launchpad.net/tripleo/+bug/1789680 is not enough for aarch64. A value of 1200s is recommended JIRA: APEX-619 Change-Id: Ia3f067821e12bba44939bbf8c0e4676f2da70239 Signed-off-by: Charalampos Kominos Signed-off-by: ting wu --- contrib/aarch64/overcloud-full-rootfs.yaml | 54 +++++++++++++++++++ contrib/aarch64/undercloud-full.yaml | 87 ++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 contrib/aarch64/overcloud-full-rootfs.yaml create mode 100644 contrib/aarch64/undercloud-full.yaml (limited to 'contrib') diff --git a/contrib/aarch64/overcloud-full-rootfs.yaml b/contrib/aarch64/overcloud-full-rootfs.yaml new file mode 100644 index 00000000..ad420427 --- /dev/null +++ b/contrib/aarch64/overcloud-full-rootfs.yaml @@ -0,0 +1,54 @@ +disk_images: + - + imagename: overcloud-full-rootfs + arch: aarch64 + type: qcow2 + distro: centos7 + elements: + - baremetal + - dhcp-all-interfaces + - cloud-init + - openvswitch + - overcloud-agent + - overcloud-full + - overcloud-controller + - overcloud-compute + - overcloud-ceph-storage + - puppet-modules + - enable-serial-console + - stable-interface-names + - selinux-permissive + - grub2 + - growroot + - devuser + - element-manifest + - dynamic-login + - iptables + - enable-packages-install + - pip-and-virtualenv-override + - dracut-regenerate + - remove-machine-id + - remove-resolvconf + packages: + - openstack-utils + - python-tripleoclient + - python-tripleoclient-heat-installer + - python-psutil + - python-debtcollector + - plotnetcfg + - sos + - yum-plugin-priorities + - ntp + - jq + - openstack-heat-agents + - device-mapper-multipath + - os-net-config + - grub2-efi-aa64 + - grub2-efi-aa64-modules + options: + - " --no-tmpfs" + environment: + DIB_PYTHON_VERSION: '2' + DIB_DEV_USER_USERNAME: 'stack' + DIB_DEV_USER_PASSWORD: 'stack' + DIB_DEV_USER_PWDLESS_SUDO: 'Yes' diff --git a/contrib/aarch64/undercloud-full.yaml b/contrib/aarch64/undercloud-full.yaml new file mode 100644 index 00000000..42084c89 --- /dev/null +++ b/contrib/aarch64/undercloud-full.yaml @@ -0,0 +1,87 @@ +disk_images: + - + imagename: undercloud-full + arch: aarch64 + type: qcow2 + distro: centos7 + elements: + - vm + - block-device-efi + - baremetal + - dhcp-all-interfaces + - disable-selinux + - cloud-init-nocloud + - openvswitch + - overcloud-agent + - overcloud-full + - overcloud-controller + - overcloud-compute + - overcloud-ceph-storage + - puppet-modules + - enable-serial-console + - stable-interface-names + - grub2 + - bootloader + - devuser + - element-manifest + - dynamic-login + - iptables + - enable-packages-install + - pip-and-virtualenv-override + - dracut-regenerate + - remove-machine-id + - remove-resolvconf + packages: + - openstack-utils + - python-tripleoclient + - python-tripleoclient-heat-installer + - python-psutil + - python-debtcollector + - plotnetcfg + - sos + - yum-plugin-priorities + - ntp + - jq + - openstack-heat-agents + - device-mapper-multipath + - os-net-config + options: + - " --no-tmpfs" + environment: + DIB_PYTHON_VERSION: '2' + DIB_DEV_USER_USERNAME: 'stack' + DIB_DEV_USER_PASSWORD: 'stack' + DIB_DEV_USER_PWDLESS_SUDO: 'Yes' + - + imagename: ironic-python-agent + # This is bogus, but there's no initrd type in diskimage-builder + arch: aarch64 + type: qcow2 + distro: centos7 + + # So we just override the extension instead + imageext: initramfs + elements: + - ironic-agent + - ironic-agent-multipath + - dynamic-login + - devuser + - disable-selinux + - element-manifest + - network-gateway + - enable-packages-install + - pip-and-virtualenv-override + packages: + - util-linux + - grub2-efi-aa64 + - grub2-efi-aa64-module + - python-hardware-detect + - yum-plugin-priorities + - iscsi-initiator-utils + options: + - " --no-tmpfs" + environment: + DIB_PYTHON_VERSION: '2' + DIB_DEV_USER_USERNAME: 'stack' + DIB_DEV_USER_PASSWORD: 'stack' + DIB_DEV_USER_PWDLESS_SUDO: 'Yes' -- cgit 1.2.3-korg