#!/bin/bash

echo "Collect System information"

echo "OS: $(cat /etc/system-release)"

echo "Kernel: $(uname -r)"

echo "MD version: $(mdadm --version 2>&1)"

echo "fio version: $(fio --version)"

echo "XFS version: $(mkfs.xfs -V)"

echo "Display NVME information"

lspci -vt | grep P4500

lspci | grep Non-| while read line
do
    PCI_BUS=$(echo $line | cut -d ' ' -f 1)
    NVME_IDX=$(ls /sys/bus/pci/drivers/nvme/0000:${PCI_BUS}/nvme)
    NUMA_NODE=$(lspci -vvvs ${PCI_BUS} | grep NUMA) 
    echo ${PCI_BUS} ${NVME_IDX} ${NUMA_NODE}
done

if [ $(lspci | grep Non- | wc -l) != 33 ]; then
    echo "NVME count is not 32, exit script"
    exit
fi

if [ $(cat /proc/mdstat | grep chunks | wc -l) != 0 ]; then
    echo "Please remove all MD raid before run the script, exit script"
    exit
fi

echo "Create md array"

# note that /dev/nvme0 is a M.2 drive that is extra. So dont use that

yes | sudo mdadm -Cv -l 0 /dev/md0 -n 16 /dev/nvme{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}n1
yes | sudo mdadm -Cv -l 0 /dev/md1 -n 16 /dev/nvme{17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}n1

echo "create file system"

sudo mkfs.xfs -f /dev/md0
sudo mkfs.xfs -f /dev/md1

echo "mount file system"

sudo mkdir /mnt/array0
sudo mkdir /mnt/array1

sudo mount /dev/md0 /mnt/array0
sudo mount /dev/md1 /mnt/array1
sudo chown clameter /mnt/array{0,1}


