github.com/tenywen/fabric@v1.0.0-beta.0.20170620030522-a5b1ed380643/bddtests/regression/go/ote/driver.sh (about) 1 #!/bin/bash 2 # 3 # Copyright IBM Corp. All Rights Reserved. 4 # 5 # SPDX-License-Identifier: Apache-2.0 6 # 7 8 9 InvalidArgs=0 10 11 #init var 12 nBroker=0 13 nPeer=1 14 15 while getopts ":l:d:w:x:b:c:t:a:o:k:p:" opt; do 16 case $opt in 17 # peer environment options 18 l) 19 CORE_LOGGING_LEVEL=$OPTARG 20 export CORE_LOGGING_LEVEL=$CORE_LOGGING_LEVEL 21 echo "CORE_LOGGING_LEVEL: $CORE_LOGGING_LEVEL" 22 ;; 23 d) 24 db=$OPTARG 25 echo "ledger state database type: $db" 26 ;; 27 w) 28 CORE_SECURITY_LEVEL=$OPTARG 29 export CORE_SECURITY_LEVEL=$CORE_SECURITY_LEVEL 30 echo "CORE_SECURITY_LEVEL: $CORE_SECURITY_LEVEL" 31 ;; 32 x) 33 CORE_SECURITY_HASHALGORITHM=$OPTARG 34 export CORE_SECURITY_HASHALGORITHM=$CORE_SECURITY_HASHALGORITHM 35 echo "CORE_SECURITY_HASHALGORITHM: $CORE_SECURITY_HASHALGORITHM" 36 ;; 37 38 # orderer environment options 39 b) 40 CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=$OPTARG 41 export CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT=$CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT 42 echo "CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT: $CONFIGTX_ORDERER_BATCHSIZE_MAXMESSAGECOUNT" 43 ;; 44 c) 45 CONFIGTX_ORDERER_BATCHTIMEOUT=$OPTARG 46 export CONFIGTX_ORDERER_BATCHTIMEOUT=$CONFIGTX_ORDERER_BATCHTIMEOUT 47 echo "CONFIGTX_ORDERER_BATCHTIMEOUT: $CONFIGTX_ORDERER_BATCHTIMEOUT" 48 ;; 49 t) 50 CONFIGTX_ORDERER_ORDERERTYPE=$OPTARG 51 export CONFIGTX_ORDERER_ORDERERTYPE=$CONFIGTX_ORDERER_ORDERERTYPE 52 echo "CONFIGTX_ORDERER_ORDERERTYPE: $CONFIGTX_ORDERER_ORDERERTYPE" 53 if [$nBroker == 0 ] && [ $CONFIGTX_ORDERER_ORDERERTYPE == 'kafka' ]; then 54 nBroker=1 # must have at least 1 55 fi 56 ;; 57 58 # network options 59 a) 60 Req=$OPTARG 61 echo "action: $Req" 62 ;; 63 k) 64 nBroker=$OPTARG 65 echo "# of Broker: $nBroker" 66 ;; 67 p) 68 nPeer=$OPTARG 69 echo "# of peer: $nPeer" 70 ;; 71 o) 72 nOrderer=$OPTARG 73 echo "# of orderer: $nOrderer" 74 ;; 75 76 # else 77 \?) 78 echo "Invalid option: -$OPTARG" >&2 79 InvalidArgs=1 80 ;; 81 :) 82 echo "Option -$OPTARG requires an argument." >&2 83 InvalidArgs=1 84 ;; 85 esac 86 done 87 88 89 if [ $InvalidArgs == 1 ]; then 90 echo "Usage: " 91 echo " ./driver.sh [opt] [value] " 92 echo " network variables" 93 echo " -a: action [create|add] " 94 echo " -p: number of peers " 95 echo " -o: number of orderers " 96 echo " -k: number of brokers " 97 echo " " 98 echo " peer environment variables" 99 echo " -l: core logging level [(deafult = not set)|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG]" 100 echo " -w: core security level [256|384]" 101 echo " -x: core security hash algorithm [SHA2|SHA3]" 102 echo " -d: core ledger state DB [goleveldb|couchdb] " 103 echo " " 104 echo " orderer environment variables" 105 echo " -b: batch size [10|msgs in batch/block]" 106 echo " -t: orderer type [solo|kafka] " 107 echo " -c: batch timeout [10s|max secs before send an unfilled batch] " 108 echo " " 109 exit 110 fi 111 112 if [ $nBroker -gt 0 ] && [ $CONFIGTX_ORDERER_ORDERERTYPE == 'solo' ]; then 113 echo "reset Kafka Broker number to 0 due to the CONFIGTX_ORDERER_ORDERERTYPE=$CONFIGTX_ORDERER_ORDERERTYPE" 114 nBroker=0 115 fi 116 117 #OS 118 ##OSName=`uname` 119 ##echo "Operating System: $OSName" 120 121 122 dbType=`echo "$db" | awk '{print tolower($0)}'` 123 echo "action=$Req nPeer=$nPeer nBroker=$nBroker nOrderer=$nOrderer dbType=$dbType" 124 VP=`docker ps -a | grep 'peer node start' | wc -l` 125 echo "existing peers: $VP" 126 127 128 echo "remove old docker-composer.yml" 129 rm -f docker-compose.yml 130 131 # form json input file 132 if [ $nBroker == 0 ]; then 133 #jsonFILE="network_solo.json" 134 jsonFILE="network.json" 135 else 136 # jsonFILE="network_kafka.json" 137 jsonFILE="network.json" 138 fi 139 echo "jsonFILE $jsonFILE" 140 141 # create docker compose yml 142 if [ $Req == "add" ]; then 143 N1=$[nPeer+VP] 144 N=$[N1] 145 VPN="peer"$[N-1] 146 else 147 N1=$nPeer 148 N=$[N1 - 1] 149 VPN="peer"$N 150 fi 151 152 ## echo "N1=$N1 VP=$VP nPeer=$nPeer VPN=$VPN" 153 154 node json2yml.js $jsonFILE $N1 $nOrderer $nBroker $dbType 155 156 ## sed 's/-x86_64/TEST/g' docker-compose.yml > ss.yml 157 ## cp ss.yml docker-compose.yml 158 # create network 159 if [ $Req == "create" ]; then 160 161 #CHANGED FROM ORIG SCRIPT 162 #docker-compose -f docker-compose.yml up -d --force-recreate $VPN cli 163 docker-compose -f docker-compose.yml up -d --force-recreate $VPN 164 for ((i=1; i<$nOrderer; i++)) 165 do 166 tmpOrd="orderer"$i 167 docker-compose -f docker-compose.yml up -d $tmpOrd 168 done 169 fi 170 171 if [ $Req == "add" ]; then 172 docker-compose -f docker-compose.yml up -d $VPN 173 174 fi 175 176 exit