diff options
author | Charalampos Kominos <Charalampos.Kominos@enea.com> | 2018-10-01 13:12:46 +0200 |
---|---|---|
committer | Charalampos Kominos <charalampos.kominos@enea.com> | 2018-11-18 16:18:08 +0100 |
commit | 8f75445a37099590f36ce6044109209c67ef0deb (patch) | |
tree | b34e9c39054ab86520e00465c09e574d4d1e4f94 /contrib/aarch64 | |
parent | 9066cb52523aeb4a5b98c634aa6616233b0c0237 (diff) |
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 <Charalampos.Kominos@enea.com>
Signed-off-by: ting wu <ting.wu@enea.com>
Diffstat (limited to 'contrib/aarch64')
-rw-r--r-- | contrib/aarch64/overcloud-full-rootfs.yaml | 54 | ||||
-rw-r--r-- | contrib/aarch64/undercloud-full.yaml | 87 |
2 files changed, 141 insertions, 0 deletions
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' |