Ussuri CentOS 8 add mptsas driver to introspection initramfs
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_... 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
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_...
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
sudo ln -sf /lib/modules/4.18.0-193.el8.x86_64/extra/mptsas/mptsas.ko
I guess you could try using modules-load to load the module at boot. 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"
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 <mailto: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_... <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/ <https://docs.openstack.org/ironic-python-agent-builder/latest/> -- ~/DonnyD C: 805 814 6800 "No mission too difficult. No sacrifice too great. Duty First"
I think maybe you want to check out diskimage-builder Donny Davis c: 805 814 6800 On Tue, Sep 29, 2020, 4:49 PM Oliver Weinmann <oliver.weinmann@me.com> wrote:
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_...
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"
I remember I tried something similar using one of the RHOSP guides and it failed at one step to build the image. I will try it again tomorrow. Am 29.09.2020 um 23:02 schrieb Donny Davis:
I think maybe you want to check out diskimage-builder
Donny Davis c: 805 814 6800
On Tue, Sep 29, 2020, 4:49 PM Oliver Weinmann <oliver.weinmann@me.com <mailto:oliver.weinmann@me.com>> wrote:
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 <http://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 <mailto: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_... <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/ <https://docs.openstack.org/ironic-python-agent-builder/latest/> -- ~/DonnyD C: 805 814 6800 "No mission too difficult. No sacrifice too great. Duty First"
participants (3)
-
Donny Davis
-
Oliver Weinmann
-
Oliver Weinmann