Creation of channel in basic-network is broken after fixing warning "Omitting the channel ID for configtxgen for output operations is deprecated. ..."


D0nAnd0n
 

Hi,

I'm playing around with fabric-samples v1.4.3:
/HyperLedger/fabric-samples$ git status | head -n 1
HEAD detached at v1.4.3
$

and

/HyperLedger/fabric-samples$ git log | head -n 5
commit f86ec95726cdb9d015b0ca1d4d95d583050fa6b4
Author: Varun Agarwal <varunagarwal315@...>
Date: Sun Aug 25 14:19:02 2019 +0530

[FAB-16390] Added filter for invalid transactions
/HyperLedger/fabric-samples$


When I run basic-network/generate.sh I get following output:
<BEGIN>
/HyperLedger/fabric-samples/basic-network$ ./generate.sh
org1.example.com
2019-11-11 16:25:06.858 CET [common.tools.configtxgen] main -> WARN 001 Omitting the channel ID for configtxgen for output operations is deprecated. Explicitly passing the channel ID will be required in the future, defaulting to 'testchainid'.
2019-11-11 16:25:06.858 CET [common.tools.configtxgen] main -> INFO 002 Loading configuration
2019-11-11 16:25:06.863 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-11 16:25:06.863 CET [common.tools.configtxgen.localconfig] Load -> INFO 004 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:25:06.867 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 005 orderer type: solo
2019-11-11 16:25:06.867 CET [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 006 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:25:06.867 CET [common.tools.configtxgen.encoder] NewChannelGroup -> WARN 007 Default policy emission is deprecated, please include policy specifications for the channel group in configtx.yaml
2019-11-11 16:25:06.867 CET [common.tools.configtxgen.encoder] NewOrdererGroup -> WARN 008 Default policy emission is deprecated, please include policy specifications for the orderer group in configtx.yaml
2019-11-11 16:25:06.870 CET [common.tools.configtxgen.encoder] NewOrdererOrgGroup -> WARN 009 Default policy emission is deprecated, please include policy specifications for the orderer org group OrdererOrg in configtx.yaml
2019-11-11 16:25:06.872 CET [common.tools.configtxgen.encoder] NewConsortiumOrgGroup -> WARN 00a Default policy emission is deprecated, please include policy specifications for the orderer org group Org1MSP in configtx.yaml
2019-11-11 16:25:06.872 CET [common.tools.configtxgen] doOutputBlock -> INFO 00b Generating genesis block
2019-11-11 16:25:06.877 CET [common.tools.configtxgen] doOutputBlock -> INFO 00c Writing genesis block
2019-11-11 16:25:06.999 CET [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-11 16:25:07.003 CET [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:25:07.006 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-11 16:25:07.006 CET [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:25:07.006 CET [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 005 Generating new channel configtx
2019-11-11 16:25:07.006 CET [common.tools.configtxgen.encoder] NewChannelGroup -> WARN 006 Default policy emission is deprecated, please include policy specifications for the channel group in configtx.yaml
2019-11-11 16:25:07.006 CET [common.tools.configtxgen.encoder] NewApplicationGroup -> WARN 007 Default policy emission is deprecated, please include policy specifications for the application group in configtx.yaml
2019-11-11 16:25:07.010 CET [common.tools.configtxgen.encoder] NewApplicationOrgGroup -> WARN 008 Default policy emission is deprecated, please include policy specifications for the application org group Org1MSP in configtx.yaml
2019-11-11 16:25:07.010 CET [common.tools.configtxgen.encoder] NewChannelGroup -> WARN 009 Default policy emission is deprecated, please include policy specifications for the channel group in configtx.yaml
2019-11-11 16:25:07.010 CET [common.tools.configtxgen.encoder] NewApplicationGroup -> WARN 00a Default policy emission is deprecated, please include policy specifications for the application group in configtx.yaml
2019-11-11 16:25:07.014 CET [common.tools.configtxgen.encoder] NewApplicationOrgGroup -> WARN 00b Default policy emission is deprecated, please include policy specifications for the application org group Org1MSP in configtx.yaml
2019-11-11 16:25:07.014 CET [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 00c Writing new channel tx
2019-11-11 16:25:07.146 CET [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-11 16:25:07.151 CET [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:25:07.153 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-11 16:25:07.153 CET [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:25:07.153 CET [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update
2019-11-11 16:25:07.154 CET [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update
HyperLedger/fabric-samples/basic-network$
<END>


Then I run basic-network/start.sh without errors, docker containers are started and channel is created and joined.


Then I try to fix the first warning from generate.sh
"WARN 001 Omitting the channel ID for configtxgen for output operations is deprecated. Explicitly passing the channel ID will be required in the future, defaulting to 'testchainid'."
adding "-channelID $CHANNEL_NAME" to line 23 of generate.sh:
configtxgen -profile OneOrgOrdererGenesis -outputBlock ./config/genesis.block -channelID $CHANNEL_NAME

When I run basic-network/generate.sh with this fix, "WARN 001 Omitting ..." disappears as expected:
<BEGIN>
/HyperLedger/fabric-samples/basic-network$ ./generate.sh
org1.example.com
2019-11-11 16:30:26.749 CET [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-11 16:30:26.752 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 002 orderer type: solo
2019-11-11 16:30:26.753 CET [common.tools.configtxgen.localconfig] Load -> INFO 003 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:30:26.755 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 004 orderer type: solo
2019-11-11 16:30:26.755 CET [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 005 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:30:26.755 CET [common.tools.configtxgen.encoder] NewChannelGroup -> WARN 006 Default policy emission is deprecated, please include policy specifications for the channel group in configtx.yaml
2019-11-11 16:30:26.755 CET [common.tools.configtxgen.encoder] NewOrdererGroup -> WARN 007 Default policy emission is deprecated, please include policy specifications for the orderer group in configtx.yaml
2019-11-11 16:30:26.758 CET [common.tools.configtxgen.encoder] NewOrdererOrgGroup -> WARN 008 Default policy emission is deprecated, please include policy specifications for the orderer org group OrdererOrg in configtx.yaml
2019-11-11 16:30:26.760 CET [common.tools.configtxgen.encoder] NewConsortiumOrgGroup -> WARN 009 Default policy emission is deprecated, please include policy specifications for the orderer org group Org1MSP in configtx.yaml
2019-11-11 16:30:26.760 CET [common.tools.configtxgen] doOutputBlock -> INFO 00a Generating genesis block
2019-11-11 16:30:26.761 CET [common.tools.configtxgen] doOutputBlock -> INFO 00b Writing genesis block
2019-11-11 16:30:26.882 CET [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-11 16:30:26.887 CET [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:30:26.890 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-11 16:30:26.890 CET [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:30:26.890 CET [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 005 Generating new channel configtx
2019-11-11 16:30:26.890 CET [common.tools.configtxgen.encoder] NewChannelGroup -> WARN 006 Default policy emission is deprecated, please include policy specifications for the channel group in configtx.yaml
2019-11-11 16:30:26.890 CET [common.tools.configtxgen.encoder] NewApplicationGroup -> WARN 007 Default policy emission is deprecated, please include policy specifications for the application group in configtx.yaml
2019-11-11 16:30:26.892 CET [common.tools.configtxgen.encoder] NewApplicationOrgGroup -> WARN 008 Default policy emission is deprecated, please include policy specifications for the application org group Org1MSP in configtx.yaml
2019-11-11 16:30:26.892 CET [common.tools.configtxgen.encoder] NewChannelGroup -> WARN 009 Default policy emission is deprecated, please include policy specifications for the channel group in configtx.yaml
2019-11-11 16:30:26.892 CET [common.tools.configtxgen.encoder] NewApplicationGroup -> WARN 00a Default policy emission is deprecated, please include policy specifications for the application group in configtx.yaml
2019-11-11 16:30:26.894 CET [common.tools.configtxgen.encoder] NewApplicationOrgGroup -> WARN 00b Default policy emission is deprecated, please include policy specifications for the application org group Org1MSP in configtx.yaml
2019-11-11 16:30:26.894 CET [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 00c Writing new channel tx
2019-11-11 16:30:27.010 CET [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-11 16:30:27.016 CET [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:30:27.020 CET [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-11 16:30:27.020 CET [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /HyperLedger/fabric-samples/basic-network/configtx.yaml
2019-11-11 16:30:27.020 CET [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update
2019-11-11 16:30:27.021 CET [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update
/HyperLedger/fabric-samples/basic-network$
<END>

So far so good. When run basic-network/start.sh, it crashes:
<BEGIN>
/HyperLedger/fabric-samples/basic-network$ ./start.sh
...
... Docker containers are started without problems ...
...

# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@.../msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx
2019-11-11 16:02:31.978 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: got unexpected status: FORBIDDEN -- implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 1 of the 'Writers' sub-policies to be satisfied: permission denied
/HyperLedger/fabric-samples/basic-network$
<END>

Channel cannot be created because of unsatisfied policy. Again, the only difference to the case, where everything is fine, is added "-channelID $CHANNEL_NAME" to line 23 of basic-network/generate.sh. There are not changes at the policies at all.

What is going here wrong?

Regards

D0nAnd0n

Join fabric@lists.hyperledger.org to automatically receive all group messages.