diff --git a/xCAT-genesis-scripts/bin/getadapter b/xCAT-genesis-scripts/bin/getadapter old mode 100644 new mode 100755 index 5677a8919..8d2fe5af0 --- a/xCAT-genesis-scripts/bin/getadapter +++ b/xCAT-genesis-scripts/bin/getadapter @@ -8,13 +8,11 @@ export XCATPORT ADAPTERFILE="/tmp/adapterinfo" SCANNICLOG="/tmp/adapterscan.log" -if [ -f "$SCANNICLOG" ]; then - rm -f "$SCANNICLOG" 2>&1 >/dev/null -fi +rm -f "$SCANNICLOG" >/dev/null 2>&1 if [ -f "$ADAPTERFILE" ]; then echo "rm -f $ADAPTERFILE" > "$SCANNICLOG" - rm -f "$ADAPTERFILE" 2>&1 >> "$SCANNICLOG" + rm -f "$ADAPTERFILE" >> "$SCANNICLOG" 2>&1 fi @@ -24,41 +22,42 @@ echo "cli" >> "$ADAPTERFILE" echo "$HOSTNAME" >> "$ADAPTERFILE" #scan adapters have recognized by operating system -for nic in `ls /sys/class/net/`; do +for n in /sys/class/net/*; do + nic=${n##/sys/class/net/} if [ "$nic" == "lo" ]; then continue else echo '' >> "$ADAPTERFILE" tmp=`udevadm info /sys/class/net/"$nic" | grep " INTERFACE" | awk -F '=' '{print $2}'` - if [ ! -z "$tmp" ]; then + if [ -n "$tmp" ]; then echo "$tmp" >> "$ADAPTERFILE" fi tmp=`udevadm info /sys/class/net/"$nic" | grep ID_NET_NAME | awk -F '=' '{print $2}'|sort -u| tr -s "\n" "," | sed "s/,$//g"` - if [ ! -z "$tmp" ]; then + if [ -n "$tmp" ]; then echo "$tmp" >> "$ADAPTERFILE" fi tmp=`udevadm info /sys/class/net/"$nic" | grep DEVPATH | awk -F 'devices' '{print $2}'` - if [ ! -z "$tmp" ]; then + if [ -n "$tmp" ]; then echo "${tmp%/net*}" >> "$ADAPTERFILE" fi tmp=`udevadm info /sys/class/net/"$nic" | grep ID_NET_NAME_MAC | awk -F '=' '{print $2}'` - if [ ! -z "$tmp" ]; then + if [ -n "$tmp" ]; then echo "${tmp##*enx}" >> "$ADAPTERFILE" - fi + fi tmp=`udevadm info /sys/class/net/"$nic" | grep ID_VENDOR_FROM_DATABASE | awk -F '=' '{print $2}' | tr -s "\n" "," | sed "s/,$//g"` - if [ ! -z "$tmp" ]; then + if [ -n "$tmp" ]; then echo "$tmp" >> "$ADAPTERFILE" - fi + fi tmp=`udevadm info /sys/class/net/"$nic" | grep ID_MODEL_FROM_DATABASE | awk -F '=' '{print $2}'` - if [ ! -z "$tmp" ]; then + if [ -n "$tmp" ]; then echo "$tmp" >> "$ADAPTERFILE" fi echo '' >> "$ADAPTERFILE" fi done -for pci in `lspci |grep Ethernet |awk '{print $1}' `; do - if ! cat "$ADAPTERFILE" |grep "$pci" >/dev/null; then +for pci in `lspci |awk '/Ethernet/ {print $1}' `; do + if ! grep -q "$pci" "$ADAPTERFILE" 2 >/dev/null; then tmp=`lspci |grep "$pci"` echo '' >> "$ADAPTERFILE" echo "$pci" >> "$ADAPTERFILE" @@ -67,8 +66,8 @@ for pci in `lspci |grep Ethernet |awk '{print $1}' `; do fi done -for pci in `lspci |grep Network |awk '{print $1}' `; do - if ! cat "$ADAPTERFILE" |grep "$pci" >/dev/null; then +for pci in `lspci |awk '/Network/ {print $1}' `; do + if ! grep -q "$pci" "$ADAPTERFILE" 2 >/dev/null; then tmp=`lspci |grep "$pci"` echo '' >> "$ADAPTERFILE" echo "$pci" >> "$ADAPTERFILE" @@ -77,8 +76,8 @@ for pci in `lspci |grep Network |awk '{print $1}' `; do fi done -for pci in `lspci |grep Mellanox |awk '{print $1}' `; do - if ! cat "$ADAPTERFILE" |grep "$pci" >/dev/null; then +for pci in `lspci |awk '/Mellanox/ {print $1}' `; do + if ! grep -q "$pci" "$ADAPTERFILE" 2>/dev/null; then tmp=`lspci |grep "$pci"` echo '' >> "$ADAPTERFILE" echo "$pci" >> "$ADAPTERFILE" @@ -89,7 +88,7 @@ done echo "" >> "$ADAPTERFILE" -#cat "$ADAPTERFILE" +cat "$ADAPTERFILE" if [ ! -z "$XCATMASTER" ]; then if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available @@ -97,7 +96,7 @@ if [ ! -z "$XCATMASTER" ]; then cat "$ADAPTERFILE" | openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect $XCATMASTER:$XCATPORT 2>&1 >>"$SCANNICLOG" else echo "transmit scan result without customer certificate to $XCATMASTER" >> "$SCANNICLOG" - cat "$ADAPTERFILE" | openssl s_client -connect $XCATMASTER:$XCATPORT 2>&1 >>"$SCANNICLOG" + cat "$ADAPTERFILE" | openssl s_client -connect $XCATMASTER:$XCATPORT 2>&1 >>"$SCANNICLOG" fi else for dhcps in `cat /var/lib/dhclient/dhclient.leases |grep dhcp-server|awk '{print $3}'|uniq|sed "s/;$//g"`; do