wrapping up deploy items for aarch 07/51407/2
authorDan Radez <dradez@redhat.com>
Wed, 31 Jan 2018 15:43:16 +0000 (10:43 -0500)
committerDan Radez <dradez@redhat.com>
Wed, 31 Jan 2018 20:36:42 +0000 (20:36 +0000)
Change-Id: Ib5f4715d851dc91be6a57fcb5d18a0557a7b0c7f
Signed-off-by: Dan Radez <dradez@redhat.com>
apex/overcloud/deploy.py
apex/undercloud/undercloud.py
apex/virtual/configure_vm.py
lib/ansible/playbooks/undercloud_aarch64.yml

index 5c95796..d1099c4 100644 (file)
@@ -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
index 013570d..452e497 100644 (file)
@@ -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()
index 3b2c446..ba0398b 100755 (executable)
@@ -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 = {
index 040831c..ddaf1b0 100644 (file)
@@ -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