Change-Id: Ib5f4715d851dc91be6a57fcb5d18a0557a7b0c7f
Signed-off-by: Dan Radez <dradez@redhat.com>
import fileinput
import logging
import os
import fileinput
import logging
import os
import shutil
import uuid
import struct
import shutil
import uuid
import struct
raise ApexDeployException("Invalid number of control or computes")
elif num_control > 1 and not ds['global_params']['ha_enabled']:
num_control = 1
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
cmd = "openstack overcloud deploy --templates --timeout {} " \
.format(con.DEPLOY_TIMEOUT)
# build cmd env args
if self.external_net:
networks.append('external')
console = 'ttyAMA0' if platform.machine() == 'aarch64' else 'ttyS0'
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),
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/{}'.format(root)],
default_network=True,
template_dir=self.template_path)
self.setup_volumes()
default_network=True,
template_dir=self.template_path)
self.setup_volumes()
- # assign scsi as default for aarch64
+ # assign virtio as default for aarch64
if arch == 'aarch64' and diskbus == 'sata':
if arch == 'aarch64' and diskbus == 'sata':
# Configure the bus type for the target disk device
params['diskbus'] = diskbus
nicparams = {
# Configure the bus type for the target disk device
params['diskbus'] = diskbus
nicparams = {
dest: /tftpboot/EFI/centos/grub.cfg
mode: 0644
- shell: 'openstack-config --set /etc/ironic/ironic.conf pxe uefi_pxe_bootfile_name grubaa64.efi'
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
- systemd:
name: openstack-ironic-conductor
state: restarted