#!/bin/bash

aos=`antsleOS-version`

if [[ "${aos}" = 0.*  ]]; then
    echo "This update is only for edgeLinux OS ver 2.x. Your current version is: v${aos}"
    exit ${ret}
fi


yum -y remove zfs-release zfs
ret=$?
if [[ ${ret} -ne 0 ]]; then
        echo "Error removing zfs, zfs-release packages" 
        exit ${ret}
fi


yum -y install http://download.zfsonlinux.org/epel/zfs-release.el7_8.noarch.rpm
ret=$?
if [[ ${ret} -ne 0 ]]; then
    echo "Error installing zfs rpm" 
    exit ${ret}
fi


update_zfs_repo_w_python=$(cat <<END
from configparser import ConfigParser
config = ConfigParser()
config.read("/etc/yum.repos.d/zfs.repo")
config["zfs"]["enabled"] = "0"
config["zfs-kmod"]["enabled"] = "1"
with open("/etc/yum.repos.d/zfs.repo", "w") as zfs_repo_file:
    config.write(zfs_repo_file)
END
)

$(python3 -c "$update_zfs_repo_w_python")
ret=$?
if [[ ${ret} -ne 0 ]]; then
    echo "Error updating zfs.repo config file" 
    exit ${ret}
fi


yum -y update
ret=$?
if [[ ${ret} -ne 0 ]]; then
    echo "Error running 'yum update'" 
    exit ${ret}
fi


yum -y install zfs
ret=$?
if [[ ${ret} -ne 0 ]]; then
    echo "Error installing zfs" 
    exit ${ret}
fi

zpool import -a 2> /var/log/edgelinux/zpoolimport.err
ret=$?
if [[ ${ret} -ne 0 ]]; then
    echo "failed to import zpool" 
    cat /var/log/edgelinux/zpoolimport.err
    exit ${ret}
fi

zfs list -o name,mountpoint,mounted |grep -v legacy


echo ""
echo ""
read -p "Reboot? (y/n): " reboot
if [ "$reboot" = "y" ] || [ "reboot" = "Y" ]; then
    reboot
fi
  
