mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 15:35:09 +00:00
Merge "[FAB-6745] Fix timing issue in sample"
This commit is contained in:
commit
ff5d80bcdc
7 changed files with 50 additions and 19 deletions
|
|
@ -50,7 +50,10 @@ CHANNEL_NAME=mychannel
|
|||
# Query timeout in seconds
|
||||
QUERY_TIMEOUT=15
|
||||
|
||||
# Log directory
|
||||
# Setup timeout in seconds (for setup container to complete)
|
||||
SETUP_TIMEOUT=120
|
||||
|
||||
# Log directory
|
||||
LOGDIR=$DATA/logs
|
||||
LOGPATH=/$LOGDIR
|
||||
|
||||
|
|
@ -208,7 +211,7 @@ function initPeerVars {
|
|||
# Switch to the current org's admin identity. Enroll if not previously enrolled.
|
||||
function switchToAdminIdentity {
|
||||
if [ ! -d $ORG_ADMIN_HOME ]; then
|
||||
dowait "$CA_NAME to start" 10 $CA_LOGFILE $CA_CHAINFILE
|
||||
dowait "$CA_NAME to start" 60 $CA_LOGFILE $CA_CHAINFILE
|
||||
log "Enrolling admin '$ADMIN_NAME' with $CA_HOST ..."
|
||||
export FABRIC_CA_CLIENT_HOME=$ORG_ADMIN_HOME
|
||||
export FABRIC_CA_CLIENT_TLS_CERTFILES=$CA_CHAINFILE
|
||||
|
|
@ -229,7 +232,7 @@ function switchToUserIdentity {
|
|||
export FABRIC_CA_CLIENT_HOME=/etc/hyperledger/fabric/orgs/$ORG/user
|
||||
export CORE_PEER_MSPCONFIGPATH=$FABRIC_CA_CLIENT_HOME/msp
|
||||
if [ ! -d $FABRIC_CA_CLIENT_HOME ]; then
|
||||
dowait "$CA_NAME to start" 10 $CA_LOGFILE $CA_CHAINFILE
|
||||
dowait "$CA_NAME to start" 60 $CA_LOGFILE $CA_CHAINFILE
|
||||
log "Enrolling user for organization $ORG with home directory $FABRIC_CA_CLIENT_HOME ..."
|
||||
export FABRIC_CA_CLIENT_TLS_CERTFILES=$CA_CHAINFILE
|
||||
fabric-ca-client enroll -d -u https://$USER_NAME:$USER_PASS@$CA_HOST:7054
|
||||
|
|
@ -251,7 +254,7 @@ function copyAdminCert {
|
|||
if $ADMINCERTS; then
|
||||
dstDir=$1/admincerts
|
||||
mkdir -p $dstDir
|
||||
dowait "$ORG administator to enroll" 10 $SETUP_LOGFILE $ORG_ADMIN_CERT
|
||||
dowait "$ORG administator to enroll" 60 $SETUP_LOGFILE $ORG_ADMIN_CERT
|
||||
cp $ORG_ADMIN_CERT $dstDir
|
||||
fi
|
||||
}
|
||||
|
|
@ -273,7 +276,7 @@ function finishMSPSetup {
|
|||
}
|
||||
|
||||
function awaitSetup {
|
||||
dowait "the 'setup' container to finish registering identities, creating the genesis block and other artifacts" $1 $SETUP_LOGFILE /$SETUP_SUCCESS_FILE
|
||||
dowait "the 'setup' container to finish registering identities, creating the genesis block and other artifacts" $SETUP_TIMEOUT $SETUP_LOGFILE /$SETUP_SUCCESS_FILE
|
||||
}
|
||||
|
||||
# Wait for one or more files to exist
|
||||
|
|
@ -305,6 +308,36 @@ function dowait {
|
|||
echo ""
|
||||
}
|
||||
|
||||
# Wait for a process to begin to listen on a particular host and port
|
||||
# Usage: waitPort <what> <timeoutInSecs> <errorLogFile> <host> <port>
|
||||
function waitPort {
|
||||
set +e
|
||||
local what=$1
|
||||
local secs=$2
|
||||
local logFile=$3
|
||||
local host=$4
|
||||
local port=$5
|
||||
nc -z $host $port > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log -n "Waiting for $what ..."
|
||||
local starttime=$(date +%s)
|
||||
while true; do
|
||||
sleep 1
|
||||
nc -z $host $port > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
break
|
||||
fi
|
||||
if [ "$(($(date +%s)-starttime))" -gt "$secs" ]; then
|
||||
fatal "Failed waiting for $what; see $logFile"
|
||||
fi
|
||||
echo -n "."
|
||||
done
|
||||
echo ""
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
|
||||
# log a message
|
||||
function log {
|
||||
if [ "$1" = "-n" ]; then
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ function main {
|
|||
|
||||
done=false
|
||||
|
||||
# Wait for setup to complete and then wait another 5 seconds for the orderer and peers to start
|
||||
awaitSetup 10
|
||||
sleep 5
|
||||
# Wait for setup to complete and then wait another 10 seconds for the orderer and peers to start
|
||||
awaitSetup
|
||||
sleep 10
|
||||
|
||||
trap finish EXIT
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
#
|
||||
|
||||
function main {
|
||||
sleep 1
|
||||
log "Beginning building channel artifacts ..."
|
||||
registerIdentities
|
||||
getCACerts
|
||||
|
|
@ -22,9 +21,9 @@ function main {
|
|||
touch /$SETUP_SUCCESS_FILE
|
||||
}
|
||||
|
||||
# Enroll as the CA admin
|
||||
# Enroll the CA administrator
|
||||
function enrollCAAdmin {
|
||||
dowait "$CA_NAME to start" 10 $CA_LOGFILE $CA_CHAINFILE
|
||||
waitPort "$CA_NAME to start" 90 $CA_LOGFILE $CA_HOST 7054
|
||||
log "Enrolling with $CA_NAME as bootstrap identity ..."
|
||||
export FABRIC_CA_CLIENT_HOME=$HOME/cas/$CA_NAME
|
||||
export FABRIC_CA_CLIENT_TLS_CERTFILES=$CA_CHAINFILE
|
||||
|
|
|
|||
|
|
@ -10,9 +10,8 @@ initOrgVars $ORG
|
|||
|
||||
set -e
|
||||
|
||||
dowait "Root CA certificate file to be created" 10 $ROOT_CA_CERTFILE $ROOT_CA_LOGFILE
|
||||
|
||||
sleep 2
|
||||
# Wait for the root CA to start
|
||||
waitPort "root CA to start" 60 $ROOT_CA_LOGFILE $ROOT_CA_HOST 7054
|
||||
|
||||
# Initialize the intermediate CA
|
||||
fabric-ca-server init -b $BOOTSTRAP_USER_PASS -u $PARENT_URL
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ set -e
|
|||
source $(dirname "$0")/env.sh
|
||||
|
||||
# Wait for setup to complete sucessfully
|
||||
awaitSetup 10
|
||||
awaitSetup
|
||||
|
||||
# Enroll to get orderer's TLS cert (using the "tls" profile)
|
||||
fabric-ca-client enroll -d --enrollment.profile tls -u $ENROLLMENT_URL -M /tmp/tls --csr.hosts $ORDERER_HOST
|
||||
|
|
@ -30,7 +30,7 @@ finishMSPSetup $ORDERER_GENERAL_LOCALMSPDIR
|
|||
copyAdminCert $ORDERER_GENERAL_LOCALMSPDIR
|
||||
|
||||
# Wait for the genesis block to be created
|
||||
dowait "genesis block to be created" 10 $SETUP_LOGFILE $ORDERER_GENERAL_GENESISFILE
|
||||
dowait "genesis block to be created" 60 $SETUP_LOGFILE $ORDERER_GENERAL_GENESISFILE
|
||||
|
||||
# Start the orderer
|
||||
env | grep ORDERER
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ set -e
|
|||
|
||||
source $(dirname "$0")/env.sh
|
||||
|
||||
awaitSetup 10
|
||||
awaitSetup
|
||||
|
||||
# Enroll the peer to get a TLS cert
|
||||
fabric-ca-client enroll -d --enrollment.profile tls -u $ENROLLMENT_URL -M /tmp/tls --csr.hosts $PEER_HOST
|
||||
|
|
|
|||
|
|
@ -46,10 +46,10 @@ log "Creating docker containers ..."
|
|||
docker-compose up -d
|
||||
|
||||
# Wait for the setup container to complete
|
||||
dowait "the 'setup' container to finish registering identities, creating the genesis block and other artifacts" 10 $SDIR/$SETUP_LOGFILE $SDIR/$SETUP_SUCCESS_FILE
|
||||
dowait "the 'setup' container to finish registering identities, creating the genesis block and other artifacts" 90 $SDIR/$SETUP_LOGFILE $SDIR/$SETUP_SUCCESS_FILE
|
||||
|
||||
# Wait for the run container to start and then tails it's summary log
|
||||
dowait "the docker 'run' container to start" 15 ${SDIR}/${SETUP_LOGFILE} ${SDIR}/${RUN_SUMFILE}
|
||||
dowait "the docker 'run' container to start" 60 ${SDIR}/${SETUP_LOGFILE} ${SDIR}/${RUN_SUMFILE}
|
||||
tail -f ${SDIR}/${RUN_SUMFILE}&
|
||||
TAIL_PID=$!
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue