##############################################################################
#
# NAME :        config_bdii_6
#
# DESCRIPTION : This function configures the BDII v6 on EL9
#
# AUTHORS :     Laurence.Field@cern.ch, Maarten.Litmaath@cern.ch
#
# NOTES :      
#
# YAIM MODULE:  glite-yaim-bdii
#                 
##############################################################################

config_bdii_6_check () {

  requires $1 BDII_BREATHE_TIME BDII_READ_TIMEOUT BDII_ARCHIVE_SIZE 
  return $?

}

config_bdii_6(){

CONFIG_FILE=/etc/bdii/bdii.conf

if [ ! -f ${CONFIG_FILE} ]; then
  yaimlog ERROR "No bdii.conf file found"
  return 1
fi

BDII_DELETE_DELAY=${BDII_DELETE_DELAY:-0}

mv ${CONFIG_FILE} ${CONFIG_FILE}.old
cat ${CONFIG_FILE}.old | \
  sed -e "s#BDII_BREATHE_TIME=.*#BDII_BREATHE_TIME=$BDII_BREATHE_TIME#" \
  | sed -e "s#BDII_READ_TIMEOUT=.*#BDII_READ_TIMEOUT=${BDII_READ_TIMEOUT}#" \
  | sed -e "s#BDII_DELETE_DELAY=.*#BDII_DELETE_DELAY=${BDII_DELETE_DELAY}#" \
  | sed -e "s#BDII_ARCHIVE_SIZE=.*#BDII_ARCHIVE_SIZE=${BDII_ARCHIVE_SIZE}#" > ${CONFIG_FILE}

SYS_CONFIG_FILE=/etc/sysconfig/bdii

if [ -f ${SYS_CONFIG_FILE} ]; then
  mv ${SYS_CONFIG_FILE} ${SYS_CONFIG_FILE}.old
fi

cat << EOF > ${SYS_CONFIG_FILE}
SLAPD_CONF=${SLAPD_CONF}
SLAPD=${SLAPD}
BDII_RAM_DISK=${BDII_RAM_DISK}
BDII_IPV6_SUPPORT=${BDII_IPV6_SUPPORT:-no}
BDII_RAM_SIZE=${BDII_RAM_SIZE:-1500M}
EOF

if [ -f /etc/bdii/bdii-slapd.conf ]; then
  sed -i  "s#.*rootpw.*#rootpw   ${BDII_PASSWD}#" /etc/bdii/bdii-slapd.conf
fi

systemctl enable --now bdii

if [ $? -ne 0 ]; then
  return $?
fi

/sbin/service bdii stop
/sbin/service bdii start

return $?
}
