summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apex/overcloud/deploy.py9
-rw-r--r--apex/undercloud/undercloud.py3
-rwxr-xr-xapex/virtual/configure_vm.py4
-rw-r--r--lib/ansible/playbooks/undercloud_aarch64.yml2
4 files changed, 15 insertions, 3 deletions
diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py
index 5c95796..d1099c4 100644
--- a/apex/overcloud/deploy.py
+++ b/apex/overcloud/deploy.py
@@ -11,6 +11,7 @@ import base64
import fileinput
import logging
import os
+import platform
import shutil
import uuid
import struct
@@ -151,6 +152,14 @@ def create_deploy_cmd(ds, ns, inv, tmp_dir,
raise ApexDeployException("Invalid number of control or computes")
elif num_control > 1 and not ds['global_params']['ha_enabled']:
num_control = 1
+ if platform.machine() == 'aarch64':
+ # aarch64 deploys were not completing in the default 90 mins.
+ # Not sure if this is related to the hardware the OOO support
+ # was developed on or the virtualization support in CentOS
+ # Either way it will probably get better over time as the aarch
+ # support matures in CentOS and deploy time should be tested in
+ # the future so this multiplier can be removed.
+ con.DEPLOY_TIMEOUT *= 2
cmd = "openstack overcloud deploy --templates --timeout {} " \
.format(con.DEPLOY_TIMEOUT)
# build cmd env args
diff --git a/apex/undercloud/undercloud.py b/apex/undercloud/undercloud.py
index 013570d..452e497 100644
--- a/apex/undercloud/undercloud.py
+++ b/apex/undercloud/undercloud.py
@@ -61,13 +61,14 @@ class Undercloud:
if self.external_net:
networks.append('external')
console = 'ttyAMA0' if platform.machine() == 'aarch64' else 'ttyS0'
+ root = 'vda' if platform.machine() == 'aarch64' else 'sda'
self.vm = vm_lib.create_vm(name='undercloud',
image=self.volume,
baremetal_interfaces=networks,
direct_boot='overcloud-full',
kernel_args=['console={}'.format(console),
- 'root=/dev/sda'],
+ 'root=/dev/{}'.format(root)],
default_network=True,
template_dir=self.template_path)
self.setup_volumes()
diff --git a/apex/virtual/configure_vm.py b/apex/virtual/configure_vm.py
index 3b2c446..ba0398b 100755
--- a/apex/virtual/configure_vm.py
+++ b/apex/virtual/configure_vm.py
@@ -118,9 +118,9 @@ def create_vm(name, image, diskbus='sata', baremetal_interfaces=['admin'],
'user_interface': '',
}
- # assign scsi as default for aarch64
+ # assign virtio as default for aarch64
if arch == 'aarch64' and diskbus == 'sata':
- diskbus = 'scsi'
+ diskbus = 'virtio'
# Configure the bus type for the target disk device
params['diskbus'] = diskbus
nicparams = {
diff --git a/lib/ansible/playbooks/undercloud_aarch64.yml b/lib/ansible/playbooks/undercloud_aarch64.yml
index 040831c..ddaf1b0 100644
--- a/lib/ansible/playbooks/undercloud_aarch64.yml
+++ b/lib/ansible/playbooks/undercloud_aarch64.yml
@@ -23,6 +23,8 @@
dest: /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