[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ussuri CentOS 8 add mptsas driver to introspection initramfs


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:

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 at localhost ~]# fdisk -l
[root at localhost ~]# lsmod | grep mptsas

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

[root at localhost ~]# modprobe mptsas
[root at localhost ~]# lsmod | grep mptsas
mptsas                 69632  0
mptscsih               45056  1 mptsas
mptbase                98304  2 mptsas,mptscsih
scsi_transport_sas     45056  1 mptsas
[root at 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,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>