fabric-samples/test-network/addOrg3
Waleed Mortaja 14dc7e1316
Fix creating channel when ${PWD} contains space. (#402)
* Fix creating channel when ${PWD} contains space.

If the path of the project contains spaces, the "test-network/scripts/envVar.sh" script sets the value of "$ORDERER_CA" to a value containg "${PWD}" which, in turn, contains space(s).

When the variable used in "test-network/scripts/createChannel.sh", The first part of the value (before the first space) is handled as the whole value for "--cafile". Other parts are considered to be part of the command!

I tried putting (escaped) quotes in the "test-network/scripts/envVar.sh" definition for the variable "$ORDERER_CA" to make the fix more general, but the quotation marks were sometime interpreted to be part of the path that consisted of concatenated parts somewhere and it did not work.

While this edit will fix this issue, I belive this is just a work around. I expect that there is a better way to solve the root cause of the problem instead of just fixing it in one place. Moreover, All variables/paths that may include spaces should be properly handled as well.

Thanks

Signed-off-by: Waleed Mortaja <waleedmortaja@protonmail.com>

* Double quote variables evaluations that depends on $PWD

I tried to handle most (if not all) of the variables evaluations in the project that depends on $PWD by wrapping them in double-quotations to avoid values that contains white spaces.

Some lines I was not sure if they are Okay or not but I left them as they are. Samples (not all lines) as follows:
- commercial-paper/network-clean.sh:15:DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- commercial-paper/network-starter.sh:15:DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- asset-transfer-basic/chaincode-javascript/node_modules/fabric-shim/coverage/fabric-shim/lib/chaincode.js.html:997: optsCpy.pem = fs.readFileSync(process.env.CORE_PEER_TLS_ROOTCERT_FILE).toString();
- commercial-paper/organization/digibank/digibank.sh:29:export PEER_PARMS="${PEER_CONN_PARMS##*( )}"

The next sample I was not really sure, but still edited it:
- test-network/addOrg3/fabric-ca/registerEnroll.sh:68:  cp ${PWD}/../organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls/tlscacerts/* ${PWD}/../organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls/ca.crt

I deliberately ignored some lines because I think they are not problem. These lines include:
- `export` sentences
- assignment sentences like: test-network/scripts/createChannel.sh:48:  FABRIC_CFG_PATH=$PWD/../config/
- gradlew files: the line SAVED="`pwd`"
- gradlew files: the line APP_HOME="`pwd -P`"
- gradlew files: the line CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

Signed-off-by: Waleed Mortaja <waleedmortaja@protonmail.com>

* remove unnecessary leading space trimming

Signed-off-by: Waleed Mortaja <waleedmortaja@protonmail.com>

* resolved conflict with master

Co-authored-by: Arnaud J Le Hors <lehors@us.ibm.com>
2021-01-20 16:32:38 +01:00
..
docker Remove Org3cli and configtx.yaml anchor peers from test-network (#401) 2021-01-11 11:27:58 -05:00
fabric-ca Fix creating channel when ${PWD} contains space. (#402) 2021-01-20 16:32:38 +01:00
.env Fix test network bugs for adding org3 2019-12-12 12:34:59 -05:00
addOrg3.sh Stop using deprecated outputAnchorPeersUpdate in test-network (#394) 2021-01-07 13:22:03 -05:00
ccp-generate.sh FAB-17243 Add support for Fabric CA for Org3 on the (#91) 2020-01-16 22:32:12 +01:00
ccp-template.json Remove solo and kafka from test net configtx.yaml (#137) 2020-03-20 15:54:35 +01:00
ccp-template.yaml Remove solo and kafka from test net configtx.yaml (#137) 2020-03-20 15:54:35 +01:00
configtx.yaml Remove Org3cli and configtx.yaml anchor peers from test-network (#401) 2021-01-11 11:27:58 -05:00
org3-crypto.yaml Fix test network bugs for adding org3 2019-12-12 12:34:59 -05:00
README.md FAB-17243 Add support for Fabric CA for Org3 on the (#91) 2020-01-16 22:32:12 +01:00

Adding Org3 to the test network

You can use the addOrg3.sh script to add another organization to the Fabric test network. The addOrg3.sh script generates the Org3 crypto material, creates an Org3 organization definition, and adds Org3 to a channel on the test network.

You first need to run ./network.sh up createChannel in the test-network directory before you can run the addOrg3.sh script.

./network.sh up createChannel
cd addOrg3
./addOrg3.sh up

If you used network.sh to create a channel other than the default mychannel, you need pass that name to the addorg3.sh script.

./network.sh up createChannel -c channel1
cd addOrg3
./addOrg3.sh up -c channel1

You can also re-run the addOrg3.sh script to add Org3 to additional channels.

cd ..
./network.sh createChannel -c channel2
cd addOrg3
./addOrg3.sh up -c channel2

For more information, use ./addOrg3.sh -h to see the addOrg3.sh help text.