hyperledger / fabric

Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.
https://wiki.hyperledger.org/display/fabric
Apache License 2.0
15.56k stars 8.79k forks source link

orderer does not start as described in devmode #4773

Open rlfnb opened 3 months ago

rlfnb commented 3 months ago

Description

When I follow the steps to create a dev environment and trying to start the orderer, I get a panic: 2024-03-28 13:31:48.849 CET 0008 PANI [orderer.common.server] reuseListener -> TLS is required for running ordering nodes of cluster type. panic: TLS is required for running ordering nodes of cluster type. did not find adhoc an option to disable TLS at all, like the peer command. The configuration itself says in the config dump General.TLS.Enabled = false

Any idea how to bypass the check for local development mode?

brgds, rlfnb

Steps to reproduce

doing all steps exactly how they are described here the command is to start the orderer: $ ORDERER_GENERAL_GENESISPROFILE=SampleDevModeSolo orderer 2024-03-28 13:31:48.835 CET 0001 INFO [localconfig] completeInitialization -> General.Cluster.ReplicationPolicy is ``, setting toconsensus` 2024-03-28 13:31:48.835 CET 0002 INFO [orderer.common.server] prettyPrintStruct -> Orderer config values: General.ListenAddress = "127.0.0.1" General.ListenPort = 7050 General.TLS.Enabled = false General.TLS.PrivateKey = "fabric/sampleconfig/tls/server.key" General.TLS.Certificate = "/fabric/sampleconfig/tls/server.crt" General.TLS.RootCAs = [/fabric/sampleconfig/tls/ca.crt] General.TLS.ClientAuthRequired = false General.TLS.ClientRootCAs = [] General.TLS.TLSHandshakeTimeShift = 0s General.Cluster.ListenAddress = "" General.Cluster.ListenPort = 0 General.Cluster.ServerCertificate = "" General.Cluster.ServerPrivateKey = "" General.Cluster.ClientCertificate = "" General.Cluster.ClientPrivateKey = "" General.Cluster.RootCAs = [] General.Cluster.DialTimeout = 5s General.Cluster.RPCTimeout = 7s General.Cluster.ReplicationBufferSize = 20971520 General.Cluster.ReplicationPullTimeout = 5s General.Cluster.ReplicationRetryTimeout = 5s General.Cluster.ReplicationMaxRetries = 12 General.Cluster.ReplicationPolicy = "consensus" General.Cluster.SendBufferSize = 100 General.Cluster.CertExpirationWarningThreshold = 168h0m0s General.Cluster.TLSHandshakeTimeShift = 0s General.Keepalive.ServerMinInterval = 1m0s General.Keepalive.ServerInterval = 2h0m0s General.Keepalive.ServerTimeout = 20s General.Backoff.BaseDelay = 1s General.Backoff.Multiplier = 1.6 General.Backoff.MaxDelay = 2m0s General.ConnectionTimeout = 0s General.GenesisMethod = "" General.GenesisFile = "" General.BootstrapMethod = "none" General.BootstrapFile = "/fabric/sampleconfig" General.Profile.Enabled = false General.Profile.Address = "0.0.0.0:6060" General.LocalMSPDir = "/fabric/sampleconfig/msp" General.LocalMSPID = "SampleOrg" General.BCCSP.Default = "SW" General.BCCSP.SW.Security = 256 General.BCCSP.SW.Hash = "SHA2" General.BCCSP.SW.FileKeystore.KeyStorePath = "" General.Authentication.TimeWindow = 15m0s General.Authentication.NoExpirationChecks = false General.MaxRecvMsgSize = 104857600 General.MaxSendMsgSize = 104857600 General.Throttling.Rate = 0 General.Throttling.InactivityTimeout = 5s FileLedger.Location = "/var/hyperledger/production/orderer" FileLedger.Prefix = "" Debug.BroadcastTraceDir = "" Debug.DeliverTraceDir = "" Consensus = map[SnapDir:/var/hyperledger/production/orderer/etcdraft/snapshot WALDir:/var/hyperledger/production/orderer/etcdraft/wal] Operations.ListenAddress = "127.0.0.1:8443" Operations.TLS.Enabled = false Operations.TLS.PrivateKey = "" Operations.TLS.Certificate = "" Operations.TLS.RootCAs = [] Operations.TLS.ClientAuthRequired = false Operations.TLS.ClientRootCAs = [] Operations.TLS.TLSHandshakeTimeShift = 0s Metrics.Provider = "disabled" Metrics.Statsd.Network = "udp" Metrics.Statsd.Address = "127.0.0.1:8125" Metrics.Statsd.WriteInterval = 30s Metrics.Statsd.Prefix = "" ChannelParticipation.Enabled = true ChannelParticipation.MaxRequestBodySize = 1048576 Admin.ListenAddress = "127.0.0.1:9443" Admin.TLS.Enabled = false Admin.TLS.PrivateKey = "" Admin.TLS.Certificate = "" Admin.TLS.RootCAs = [] Admin.TLS.ClientAuthRequired = true Admin.TLS.ClientRootCAs = [] Admin.TLS.TLSHandshakeTimeShift = 0s 2024-03-28 13:31:48.837 CET 0003 INFO [grpc] AddTraceEvent -> [core] [Server #1] Server created 2024-03-28 13:31:48.847 CET 0004 INFO [orderer.common.multichannel] InitJoinBlockFileRepo -> Channel Participation API enabled, registrar initializing with file repo /var/hyperledger/production/orderer/pendingops 2024-03-28 13:31:48.848 CET 0005 INFO [orderer.common.server] Main -> Starting without a system channel 2024-03-28 13:31:48.848 CET 0006 INFO [orderer.common.server] Main -> Setting up cluster 2024-03-28 13:31:48.849 CET 0007 INFO [orderer.common.server] reuseListener -> Cluster listener is not configured, defaulting to use the general listener on port 7050 2024-03-28 13:31:48.849 CET 0008 PANI [orderer.common.server] reuseListener -> TLS is required for running ordering nodes of cluster type. panic: TLS is required for running ordering nodes of cluster type.

goroutine 1 [running]: go.uber.org/zap/zapcore.CheckWriteAction.OnWrite(0x0?, 0x0?, {0x0?, 0x0?, 0xc000306220?}) /fabric/vendor/go.uber.org/zap/zapcore/entry.go:196 +0x54 go.uber.org/zap/zapcore.(CheckedEntry).Write(0xc000221380, {0x0, 0x0, 0x0}) /fabric/vendor/go.uber.org/zap/zapcore/entry.go:262 +0x24e go.uber.org/zap.(SugaredLogger).log(0xc00052d0d0, 0x4, {0x11397ae?, 0x4137bb?}, {0x0?, 0xc0000aa120?, 0xc000056e50?}, {0x0, 0x0, 0x0}) /fabric/vendor/go.uber.org/zap/sugar.go:316 +0xec go.uber.org/zap.(SugaredLogger).Panicf(...) //fabric/vendor/go.uber.org/zap/sugar.go:202 github.com/hyperledger/fabric-lib-go/common/flogging.(FabricLogger).Panicf(...) /fabric/vendor/github.com/hyperledger/fabric-lib-go/common/flogging/zap.go:74 github.com/hyperledger/fabric/orderer/common/server.reuseListener(0xc000166008) /fabric/orderer/common/server/main.go:276 +0x153 github.com/hyperledger/fabric/orderer/common/server.initializeClusterClientConfig(_) /fabric/orderer/common/server/main.go:410 +0xd4 github.com/hyperledger/fabric/orderer/common/server.Main() /fabric/orderer/common/server/main.go:138 +0x845 main.main() /fabric/cmd/orderer/main.go:15 +0xf `

digitalhumanlife commented 3 months ago

i was having the same problem. use the release-2.5 then it works

rlfnb commented 3 months ago

thank you a lot for having a workaround, much appreciate! however, the documentation I was using is "latest", so it might be solved before it becomes release-3.0?