1
0
mirror of https://github.com/SunnyQjm/NDNDeployment.git synced 2026-06-16 19:38:07 +08:00
Files
NDNDeployment/eval_deploy.sh
T
SunnyQjm 7fa18de989 update
2018-12-05 11:10:46 +08:00

119 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
command=$1
DEBUG=0
COUNT=0
# 读取网络拓扑配置
json=`cat lab_topology.json`
# 保存配置列表
list=`echo $json | jq '.'`
# 获取网络拓扑的节点个数
length=`echo $json | jq '.|length'`
length=$(( $length - 1 ))
##########################################
### 确保一个文件夹存在,不存在则创建
### @param dir
##########################################
function ensureDir() {
dir=$1
if [ ! -d "$dir" ]; then
echo "文件夹${dir}不存在,正在创建"
mkdir -p $dir
fi
}
# 创建temp文件夹存放中转数据
ensureDir ./temp
# TEMP_DIR=./temp
##########################################
### 具体执行部署到一个节点的操作
### @param routerName 路由节点的完整名字
### @param network
### @param site
### @param router
### @param mapPort
### @param ip
### @param username
### @param password
### @param nics
### @param nbs
###########################################
function deal(){
index=$1
routerName=$(echo $list | jq -r ".[$index].name")
network=$(echo $list | jq -r ".[$index].network")
site=$(echo $list | jq -r ".[$index].site")
router=$(echo $list | jq -r ".[$index].router")
mapPort=$(echo $list | jq -r ".[$index].mapPort")
ip=$(echo $list | jq -r ".[$index].ip")
username=$(echo $list | jq -r ".[$index].username")
password=$(echo $list | jq -r ".[$index].password")
nics=$(echo $list | jq ".[$index].nics")
nbs=$(echo $list | jq ".[$index].nbs")
#deal $routerName $network $site $router $mapPort $ip $username $password $nics $nbs &
echo "=======================开始处理$routerName==============="
if [ $DEBUG -eq 1 ]; then
echo
echo routerName: $routerName
echo network: $network
echo site: $site
echo router: $router
echo mapPort: $mapPort
echo ip: $ip
echo username: $username
echo password: $password
echo nics:
echo $nics | jq '.'
echo nbs:
echo $nbs | jq '.'
echo
fi
# transName=$(echo ${routerName//\//.})
# transName=$(echo ${transName#.})
# echo $nics | jq '.' >> $TEMP_DIR/$transName.nics
# echo $nbs | jq '.' >> $TEMP_DIR/$transName.nbs
case $command in
"prepare")
./installRequired.sh $username $password $ip $routerName $mapPort $index
;;
"deploy")
./deploy.sh $username $password $ip $routerName $mapPort $index
;;
"update")
./update.sh $username $password $ip $routerName $mapPort $index
;;
"clone")
./clone.sh $username $password $ip $routerName $mapPort $index
;;
"start")
./start.sh $username $password $ip $routerName $mapPort $index
;;
"stop")
./stop.sh $username $password $ip $routerName $mapPort $index
;;
esac
echo "==================================================================="
}
for index in `seq 0 $length`
do
# 获取到路由的名字
echo
deal $index &
echo
done