#!/bin/bash
#
# sccl_send_inventory
#
# Wenn ULS installiert ist, dann Inventory an ULS senden
# unabhängig, ob ULS in der Konfiguration aktiviert ist.
#
#########################################################
#
# Wenn keine ULS-Konfiguration vorhanden oder SCCL nicht
# konfiguriert ist, dann Ende
if [[ ! -f /etc/uls/uls.conf || ! -f /etc/sccl/sccl.conf ]]; then
  exit 0
fi
#
. /etc/sccl/sccl.conf
. $(dirname $0)/globals.settings
#
filename="/tmp/Inventory-Cluster-$CLUSTER.csv"
#
if [[ $($(dirname $0)/sccl_node -m) = 'M' ]]; then
  keys=1
else
  unset keys
fi
cat >$filename <<EOF
CLUSTERENGINE;$SCCLNAME
CLUSTERENGINENAME;Script Cluster
CLUSTERVERSION;$SCCLVERSION
CLUSTERNAME;$CLUSTER
CLUSTERNODES;${NODES// /;}
CLUSTERKEYS;$keys
EOF
#
awk '{
  if( $1 != "" && $1 !~ "#" )
  { for( i = 3; i <= NF; i++ )
    { n = split($i, a, ":")
      if( a[1] == "FS" || a[1] == "NFS" )
        print $1, a[1], a[2]
      else if( a[1] == "IP" )
        print $1, a[1], a[3]
    }
  }
}' "$RESOURCES" | while read n t p r; do
  if [[ "$t" = "IP" ]]; then
    echo "CLUSTERRESOURCE;$n;$t;$p"
  else
    dev=$(awk -v m=$p '$2 == m {print $1}' /etc/fstab)
    if [[ "$dev" == /dev/mapper/* || "$dev" == /dev/*/* ]]; then
      vgname=$(lvs --noheadings -o vg_name "$dev" | tr -d ' ')
      if [[ -n "$vgname" ]]; then
        vgs --noheadings -o pv_name "$vgname" | while read pvn; do
          sn=$($(dirname $0)/get_serial.sh "$pvn")
          echo "CLUSTERRESOURCE;$n;$t;$p;${sn:-$pvn}"
        done
      else
        sn=$($(dirname $0)/get_serial.sh "$dev")
        echo "CLUSTERRESOURCE;$n;$t;$p;${sn:-$dev}"
      fi
    else
      sn=$($(dirname $0)/get_serial.sh "$dev")
      echo "CLUSTERRESOURCE;$n;$t;$p;${sn:-$dev}"
    fi
  fi
done >>$filename
#
DT="`date '+%F %H:%M:00%:z'`"
send_server_doku 'Inventory-Cluster-SCCL' 'SCCL Cluster Infos' $DT $filename
