Hi again,

I managed to install the kmod rpms in the overcloud-full.qcow2 image:

sudo yum -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
sudo yum -y install --downloadonly --downloaddir=. kmod-mptsas
sudo yum -y install --downloadonly --downloaddir=. kmod-megaraid_sas

The deployment works fine, but as soon as the node reboots it is just stuck with a blinking cursor after loading the kernel.

Do I have to add something else to the overcloud-full image as well?

Am 15.09.2020 um 00:15 schrieb Donny Davis:


On Fri, Sep 11, 2020 at 3:25 PM Oliver Weinmann <oliver.weinmann@icloud.com> wrote:
Hi,

I already asked this question on serverfault. But I guess here is a better place.

I have a very ancient hardware with a MPTSAS controller. I use this for TripleO deployment testing. With the release of Ussuri which is running CentOS8, I can no longer provision my overcloud nodes as the MPTSAS driver has been removed in CentOS8:

https://www.reddit.com/r/CentOS/comments/d93unk/centos8_and_removal_mpt2sas_dell_sas_drivers/

I managed to include the driver provided from ELrepo in the introspection image but It is not loaded automatically:

All commands are run as user "stack".

Extract the introspection image:

cd ~
mkdir imagesnew
cd imagesnew
tar xvf ../ironic-python-agent.tar
mkdir ~/ipa-tmp
cd ~/ipa-tmp
/usr/lib/dracut/skipcpio ~/imagesnew/ironic-python-agent.initramfs | zcat | cpio -ivd | pax -r

Extract the contents of the mptsas driver rpm:

rpm2cpio ~/kmod-mptsas-3.04.20-3.el8_2.elrepo.x86_64.rpm | pax -r

Put the kernel module in the right places. To figure out where the module has to reside I installed the rpm on a already deployed node and used find to locate it.

xz -c ./usr/lib/modules/4.18.0-193.el8.x86_64/extra/mptsas/mptsas.ko > ./usr/lib/modules/4.18.0-193.6.3.el8_2.x86_64/kernel/drivers/message/fusion/mptsas.ko.xz
mkdir ./usr/lib/modules/4.18.0-193.6.3.el8_2.x86_64/weak-updates/mptsas
sudo ln -sf /lib/modules/4.18.0-193.el8.x86_64/extra/mptsas/mptsas.ko lib/modules/4.18.0-193.6.3.el8_2.x86_64/weak-updates/mptsas.ko
sudo chown root . -R
find . 2>/dev/null | sudo cpio --quiet -c -o | gzip -8  > ~/images/ironic-python-agent.initramfs

Upload the new image

cd ~/images
openstack overcloud image upload --update-existing --image-path /home/stack/images/

Now when I start the introspection and ssh into the host I see no disks:

[root@localhost ~]# fdisk -l
[root@localhost ~]# lsmod | grep mptsas

Once i manually load the driver, I can see the disks:


[root@localhost ~]# modprobe mptsas
[root@localhost ~]# lsmod | grep mptsas
mptsas                 69632  0
mptscsih               45056  1 mptsas
mptbase                98304  2 mptsas,mptscsih
scsi_transport_sas     45056  1 mptsas
[root@localhost ~]# fdisk -l
Disk /dev/sda: 67.1 GiB, 71999422464 bytes, 140623872 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

But how can I make it so that it will automatically load on boot?

Best Regards,

Oliver


I guess you could try using modules-load to load the module at boot. 

> sudo ln -sf /lib/modules/4.18.0-193.el8.x86_64/extra/mptsas/mptsas.ko lib/modules/4.18.0-193.6.3.el8_2.x86_64/weak-updates/mptsas.ko
echo "mptsas" > ./etc/modules-load.d/mptsas.conf
> sudo chown root . -R

Also I would have a look see at these docs to build an image using ipa builder 
https://docs.openstack.org/ironic-python-agent-builder/latest/
--
~/DonnyD
C: 805 814 6800
"No mission too difficult. No sacrifice too great. Duty First"