summaryrefslogtreecommitdiffstats
path: root/lib/ansible/playbooks/undercloud_aarch64.yml
diff options
context:
space:
mode:
authorCharalampos Kominos <Charalampos.Kominos@enea.com>2018-10-01 13:12:46 +0200
committerCharalampos Kominos <charalampos.kominos@enea.com>2018-11-18 16:18:08 +0100
commit8f75445a37099590f36ce6044109209c67ef0deb (patch)
treeb34e9c39054ab86520e00465c09e574d4d1e4f94 /lib/ansible/playbooks/undercloud_aarch64.yml
parent9066cb52523aeb4a5b98c634aa6616233b0c0237 (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 'lib/ansible/playbooks/undercloud_aarch64.yml')
-rw-r--r--lib/ansible/playbooks/undercloud_aarch64.yml38
1 files changed, 15 insertions, 23 deletions
diff --git a/lib/ansible/playbooks/undercloud_aarch64.yml b/lib/ansible/playbooks/undercloud_aarch64.yml
index ddaf1b04..efcbdabd 100644
--- a/lib/ansible/playbooks/undercloud_aarch64.yml
+++ b/lib/ansible/playbooks/undercloud_aarch64.yml
@@ -3,13 +3,12 @@
tasks:
- name: aarch64 configuration
block:
- - shell: yum -y reinstall grub2-efi shim
- copy:
src: /boot/efi/EFI/centos/grubaa64.efi
- dest: /tftpboot/grubaa64.efi
+ dest: /var/lib/config-data/puppet-generated/ironic/var/lib/ironic/tftpboot/grubaa64.efi
remote_src: yes
- file:
- path: /tftpboot/EFI/centos
+ path: /var/lib/config-data/puppet-generated/ironic/var/lib/ironic/tftpboot/EFI/centos
state: directory
mode: 0755
- copy:
@@ -18,32 +17,25 @@
set timeout=5
set hidden_timeout_quiet=false
menuentry "local" {
- configfile (hd0,gpt3)/boot/grub2/grub.cfg
+ configfile /var/lib/ironic/tftpboot/$net_default_mac.conf
}
- dest: /tftpboot/EFI/centos/grub.cfg
+ dest: /var/lib/config-data/puppet-generated/ironic/var/lib/ironic/tftpboot/EFI/centos/grub.cfg
mode: 0644
- - shell: 'openstack-config --set /etc/ironic/ironic.conf pxe uefi_pxe_bootfile_name grubaa64.efi'
- - shell: 'openstack-config --set /etc/ironic/ironic.conf pxe uefi_pxe_config_template \$pybasedir/drivers/modules/pxe_grub_config.template'
-
- - systemd:
- name: openstack-ironic-conductor
- state: restarted
- enabled: yes
- - replace:
- path: /usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe_grub_config.template
- regexp: 'linuxefi'
- replace: 'linux'
- - replace:
- path: /usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe_grub_config.template
- regexp: 'initrdefi'
- replace: 'initrd'
+ - shell: 'sudo crudini --set /var/lib/config-data/puppet-generated/ironic/etc/ironic/ironic.conf pxe pxe_bootfile_name_by_arch aarch64:grubaa64.efi'
+ - shell: 'sudo crudini --set /var/lib/config-data/puppet-generated/ironic/etc/ironic/ironic.conf pxe pxe_config_template_by_arch aarch64:\$pybasedir/drivers/modules/pxe_grub_config.template'
+ - shell: 'docker exec -u root ironic_conductor sed -i "s/initrdefi/initrd/g" /usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe_grub_config.template'
+ - shell: 'docker exec -u root ironic_conductor sed -i "s/linuxefi/linux/g" /usr/lib/python2.7/site-packages/ironic/drivers/modules/pxe_grub_config.template'
- lineinfile:
- path: /tftpboot/map-file
+ path: /var/lib/config-data/puppet-generated/ironic/var/lib/ironic/tftpboot/map-file
insertafter: EOF
state: present
line: ''
- - shell: "echo 'r ^/EFI/centos/grub.cfg-(.*) /tftpboot/pxelinux.cfg/\\1' | sudo tee --append /tftpboot/map-file"
- - shell: "echo 'r ^/EFI/centos/grub.cfg /tftpboot/EFI/centos/grub.cfg' | sudo tee --append /tftpboot/map-file"
+ - shell: "echo 'r ^/EFI/centos/grub.cfg-(.*) /var/lib/ironic/tftpboot/pxelinux.cfg/\\1' | sudo tee --append /var/lib/config-data/puppet-generated/ironic/var/lib/ironic/tftpboot/map-file"
+ - shell: "echo 'r ^/EFI/centos/grub.cfg /var/lib/ironic/tftpboot/EFI/centos/grub.cfg' | sudo tee --append /var/lib/config-data/puppet-generated/ironic/var/lib/ironic/tftpboot/map-file"
+ - shell: "docker restart {{ item }}"
+ with_items:
+ - ironic_conductor
+ - ironic_pxe_tftp
- systemd:
name: xinetd
state: restarted