Skip to content

Commit

Permalink
[FAB-8630] byfn failing intermittently in CI
Browse files Browse the repository at this point in the history
byfn test failing intermittently in CI due to peer not
being available when the join channel command is
executed. Need to wait for peer to finsih establishing
connection with couchdb before joining channel.

The exit code was not being correctly captured from the
peer join command and thus the retry logic was not being
executed.

Change-Id: I2c27d17cd769c6b8de1bdcfed263d9b0f758b432
Signed-off-by: Saad Karim <skarim@us.ibm.com>
  • Loading branch information
Saad Karim committed Mar 8, 2018
1 parent 5d7ac01 commit 2bbb0a8
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 17 deletions.
15 changes: 10 additions & 5 deletions first-network/byfn.sh
Original file line number Diff line number Diff line change
Expand Up @@ -317,8 +317,9 @@ function generateCerts (){
fi
set -x
cryptogen generate --config=./crypto-config.yaml
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate certificates..."
exit 1
fi
Expand Down Expand Up @@ -377,8 +378,9 @@ function generateChannelArtifacts() {
# named orderer.genesis.block or the orderer will fail to launch!
set -x
configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate orderer genesis block..."
exit 1
fi
Expand All @@ -388,8 +390,9 @@ function generateChannelArtifacts() {
echo "#################################################################"
set -x
configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate channel configuration transaction..."
exit 1
fi
Expand All @@ -400,8 +403,9 @@ function generateChannelArtifacts() {
echo "#################################################################"
set -x
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate anchor peer update for Org1MSP..."
exit 1
fi
Expand All @@ -413,8 +417,9 @@ function generateChannelArtifacts() {
set -x
configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate \
./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate anchor peer update for Org2MSP..."
exit 1
fi
Expand Down
6 changes: 4 additions & 2 deletions first-network/eyfn.sh
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,9 @@ function generateCerts (){
(cd org3-artifacts
set -x
cryptogen generate --config=./org3-crypto.yaml
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate certificates..."
exit 1
fi
Expand All @@ -209,8 +210,9 @@ function generateChannelArtifacts() {
export FABRIC_CFG_PATH=$PWD
set -x
configtxgen -printOrg Org3MSP > ../channel-artifacts/org3.json
res=$?
set +x
if [ "$?" -ne 0 ]; then
if [ $res -ne 0 ]; then
echo "Failed to generate Org3 config material..."
exit 1
fi
Expand Down
5 changes: 4 additions & 1 deletion first-network/scripts/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,14 @@ createChannel() {
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
set -x
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx >&log.txt
res=$?
set +x
else
set -x
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >&log.txt
res=$?
set +x
fi
res=$?
cat log.txt
verifyResult $res "Channel creation failed"
echo "===================== Channel \"$CHANNEL_NAME\" is created successfully ===================== "
Expand Down
2 changes: 1 addition & 1 deletion first-network/scripts/step2org3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ fi
echo "Fetching channel config block from orderer..."
set -x
peer channel fetch 0 $CHANNEL_NAME.block -o orderer.example.com:7050 -c $CHANNEL_NAME --tls --cafile $ORDERER_CA >&log.txt
set +x
res=$?
set +x
cat log.txt
verifyResult $res "Fetching config block from orderer has Failed"

Expand Down
3 changes: 2 additions & 1 deletion first-network/scripts/upgrade_to_v11.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,14 @@ addCapabilityToChannel() {
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
set -x
peer channel update -f config_update_in_envelope.pb -c $CH_NAME -o orderer.example.com:7050 --cafile $ORDERER_CA
res=$?
set +x
else
set -x
peer channel update -f config_update_in_envelope.pb -c $CH_NAME -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA
res=$?
set +x
fi
res=$?
verifyResult $res "Config update for \"$GROUP\" on \"$CH_NAME\" failed"
echo "===================== Config update for \"$GROUP\" on \"$CH_NAME\" is completed ===================== "

Expand Down
18 changes: 11 additions & 7 deletions first-network/scripts/utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,14 @@ updateAnchorPeers() {
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
set -x
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx >&log.txt
res=$?
set +x
else
set -x
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >&log.txt
res=$?
set +x
fi
res=$?
cat log.txt
verifyResult $res "Anchor peer update failed"
echo "===================== Anchor peers for org \"$CORE_PEER_LOCALMSPID\" on \"$CHANNEL_NAME\" is updated successfully ===================== "
Expand All @@ -93,8 +94,8 @@ joinChannelWithRetry () {

set -x
peer channel join -b $CHANNEL_NAME.block >&log.txt
set +x
res=$?
set +x
cat log.txt
if [ $res -ne 0 -a $COUNTER -lt $MAX_RETRY ]; then
COUNTER=` expr $COUNTER + 1`
Expand All @@ -114,8 +115,8 @@ installChaincode () {
VERSION=${3:-1.0}
set -x
peer chaincode install -n mycc -v ${VERSION} -l ${LANGUAGE} -p ${CC_SRC_PATH} >&log.txt
set +x
res=$?
set +x
cat log.txt
verifyResult $res "Chaincode installation on peer${PEER}.org${ORG} has Failed"
echo "===================== Chaincode is installed on peer${PEER}.org${ORG} ===================== "
Expand All @@ -133,13 +134,14 @@ instantiateChaincode () {
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
set -x
peer chaincode instantiate -o orderer.example.com:7050 -C $CHANNEL_NAME -n mycc -l ${LANGUAGE} -v ${VERSION} -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" >&log.txt
res=$?
set +x
else
set -x
peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -l ${LANGUAGE} -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" >&log.txt
res=$?
set +x
fi
res=$?
cat log.txt
verifyResult $res "Chaincode instantiation on peer${PEER}.org${ORG} on channel '$CHANNEL_NAME' failed"
echo "===================== Chaincode Instantiation on peer${PEER}.org${ORG} on channel '$CHANNEL_NAME' is successful ===================== "
Expand All @@ -153,8 +155,8 @@ upgradeChaincode () {

set -x
peer chaincode upgrade -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -v 2.0 -c '{"Args":["init","a","90","b","210"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer','Org3MSP.peer')"
set +x
res=$?
set +x
cat log.txt
verifyResult $res "Chaincode upgrade on org${ORG} peer${PEER} has Failed"
echo "===================== Chaincode is upgraded on org${ORG} peer${PEER} ===================== "
Expand All @@ -178,8 +180,9 @@ chaincodeQuery () {
echo "Attempting to Query peer${PEER}.org${ORG} ...$(($(date +%s)-starttime)) secs"
set -x
peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}' >&log.txt
res=$?
set +x
test $? -eq 0 && VALUE=$(cat log.txt | awk '/Query Result/ {print $NF}')
test $res -eq 0 && VALUE=$(cat log.txt | awk '/Query Result/ {print $NF}')
test "$VALUE" = "$EXPECTED_RESULT" && let rc=0
done
echo
Expand Down Expand Up @@ -257,13 +260,14 @@ chaincodeInvoke () {
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
set -x
peer chaincode invoke -o orderer.example.com:7050 -C $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}' >&log.txt
res=$?
set +x
else
set -x
peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}' >&log.txt
res=$?
set +x
fi
res=$?
cat log.txt
verifyResult $res "Invoke execution on peer${PEER}.org${ORG} failed "
echo "===================== Invoke transaction on peer${PEER}.org${ORG} on channel '$CHANNEL_NAME' is successful ===================== "
Expand Down

0 comments on commit 2bbb0a8

Please sign in to comment.