rdma.zsh: Handle machines with multiple NICs
Iterate over each network card and add RDMA to it. Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
48a2b87ecd
commit
f1ea1327f4
42
rdma.zsh
42
rdma.zsh
|
@ -4,25 +4,27 @@ if [ "$#" -lt 2 ]; then
|
||||||
echo "Usage: $0 {rxe,siw,info,start,status,stop,off} {remote host,...}"
|
echo "Usage: $0 {rxe,siw,info,start,status,stop,off} {remote host,...}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rdma_ip() {
|
rdma_ips() {
|
||||||
getent hosts $1 | head -n 1 | awk '{print $1}'
|
getent hosts $1 | awk '{print $1}'
|
||||||
}
|
}
|
||||||
|
|
||||||
rdma_dev() {
|
rdma_devs() {
|
||||||
ssh $1 ip addr show to $(rdma_ip $1) | awk -F': ' '{print $2}'
|
for ip in $(rdma_ips $1); do
|
||||||
|
ssh $1 ip addr show to $ip | awk -F': ' '{print $2}'
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
rdma_cur() {
|
rdma_cur() {
|
||||||
ssh $1 rdma link | awk -F '[0-9 ]' '{print $2}'
|
ssh $1 rdma link | awk -F '[ |/]' '{print $2}'
|
||||||
}
|
}
|
||||||
|
|
||||||
rdma_start() {
|
rdma_start() {
|
||||||
cur=$(rdma_cur $1)
|
if [ -z "$(rdma_cur $1 | grep $3)" ]; then
|
||||||
if [[ "$cur" != "$3" ]]; then
|
rdma_stop $1
|
||||||
if [[ ! -z "$cur" ]]; then
|
devs=($(rdma_devs $1))
|
||||||
rdma_stop $1
|
for i in $(seq ${#devs}); do
|
||||||
fi
|
ssh $1 "sudo rdma link add $3$((i-1)) type $3 netdev ${devs[$i]}"
|
||||||
ssh $1 "sudo rdma link add "$3"0 type $3 netdev $(rdma_dev $1)"
|
done
|
||||||
fi
|
fi
|
||||||
rdma_status $1 $2
|
rdma_status $1 $2
|
||||||
}
|
}
|
||||||
|
@ -32,19 +34,27 @@ rdma_info() {
|
||||||
}
|
}
|
||||||
|
|
||||||
rdma_status() {
|
rdma_status() {
|
||||||
link=$(ssh $1 rdma link show)
|
links=($(ssh $1 rdma link show))
|
||||||
if [ ! -z $link ]; then
|
if [ ! -z "$links" ]; then
|
||||||
echo "$2 $link($(rdma_ip $1))"
|
ips=($(rdma_ips $1))
|
||||||
|
devs=($(rdma_devs $1))
|
||||||
|
for link in $links; do
|
||||||
|
dev=$(echo $link | awk '{print $NF}')
|
||||||
|
ip=${ips[${devs[(ie)$dev]}]}
|
||||||
|
echo "$2 $link ($ip)"
|
||||||
|
done
|
||||||
else
|
else
|
||||||
echo "$2 stopped"
|
echo "$2 stopped"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
rdma_stop() {
|
rdma_stop() {
|
||||||
ssh $1 "sudo rdma link delete siw0 2>/dev/null"
|
for dev in $(rdma_cur $1); do
|
||||||
ssh $1 "sudo rdma link delete rxe0 2>/dev/null"
|
ssh $1 "sudo rdma link delete $dev"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IFS=$'\n'
|
||||||
tags=($(python /home/anna/bin/colors/vm.py ${@:2}))
|
tags=($(python /home/anna/bin/colors/vm.py ${@:2}))
|
||||||
for vm in "${@:2}"; do
|
for vm in "${@:2}"; do
|
||||||
index=${@[(ie)$vm]}
|
index=${@[(ie)$vm]}
|
||||||
|
|
Loading…
Reference in New Issue