Skip to content

Commit 12076e9

Browse files
committed
[FAB-9619] Export orderer configuration defaults
Change-Id: I9128d79e363fd0b1dfcc70792cbdff76d3729e34 Signed-off-by: Kostas Christidis <kostas@christidis.io>
1 parent 3d47a5a commit 12076e9

File tree

2 files changed

+66
-101
lines changed

2 files changed

+66
-101
lines changed

orderer/common/localconfig/config.go

+62-78
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,22 @@
1-
/*
2-
Copyright IBM Corp. 2016 All Rights Reserved.
3-
4-
Licensed under the Apache License, Version 2.0 (the "License");
5-
you may not use this file except in compliance with the License.
6-
You may obtain a copy of the License at
7-
8-
http://www.apache.org/licenses/LICENSE-2.0
9-
10-
Unless required by applicable law or agreed to in writing, software
11-
distributed under the License is distributed on an "AS IS" BASIS,
12-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
See the License for the specific language governing permissions and
14-
limitations under the License.
15-
*/
1+
// Copyright IBM Corp. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
163

174
package config
185

196
import (
207
"fmt"
8+
"path/filepath"
219
"strings"
2210
"time"
2311

12+
bccsp "github.com/hyperledger/fabric/bccsp/factory"
2413
"github.com/hyperledger/fabric/common/flogging"
2514
"github.com/hyperledger/fabric/common/viperutil"
15+
cf "github.com/hyperledger/fabric/core/config"
2616

2717
"github.com/Shopify/sarama"
2818
"github.com/op/go-logging"
2919
"github.com/spf13/viper"
30-
31-
cf "github.com/hyperledger/fabric/core/config"
32-
33-
"path/filepath"
34-
35-
bccsp "github.com/hyperledger/fabric/bccsp/factory"
36-
genesisconfig "github.com/hyperledger/fabric/common/tools/configtxgen/localconfig"
3720
)
3821

3922
const (
@@ -60,7 +43,7 @@ func init() {
6043
// Note, for non 1-1 mappings, you may append
6144
// something like `mapstructure:"weirdFoRMat"` to
6245
// modify the default mapping, see the "Unmarshal"
63-
// section of https://github.com/spf13/viper for more info
46+
// section of https://github.com/spf13/viper for more info.
6447
type TopLevel struct {
6548
General General
6649
FileLedger FileLedger
@@ -89,7 +72,7 @@ type General struct {
8972
Authentication Authentication
9073
}
9174

92-
// Keepalive contains configuration for gRPC servers
75+
// Keepalive contains configuration for gRPC servers.
9376
type Keepalive struct {
9477
ServerMinInterval time.Duration
9578
ServerInterval time.Duration
@@ -107,7 +90,7 @@ type TLS struct {
10790
}
10891

10992
// Authentication contains configuration parameters related to authenticating
110-
// client messages
93+
// client messages.
11194
type Authentication struct {
11295
TimeWindow time.Duration
11396
}
@@ -180,20 +163,21 @@ type Consumer struct {
180163
RetryBackoff time.Duration
181164
}
182165

183-
// Debug contains configuration for the orderer's debug parameters
166+
// Debug contains configuration for the orderer's debug parameters.
184167
type Debug struct {
185168
BroadcastTraceDir string
186169
DeliverTraceDir string
187170
}
188171

189-
var defaults = TopLevel{
172+
// Defaults carries the default orderer configuration values.
173+
var Defaults = TopLevel{
190174
General: General{
191175
LedgerType: "file",
192176
ListenAddress: "127.0.0.1",
193177
ListenPort: 7050,
194178
GenesisMethod: "provisional",
195179
GenesisProfile: "SampleSingleMSPSolo",
196-
SystemChannel: genesisconfig.TestChainID,
180+
SystemChannel: "test_system_channel_name",
197181
GenesisFile: "genesisblock",
198182
Profile: Profile{
199183
Enabled: false,
@@ -291,31 +275,31 @@ func (c *TopLevel) completeInitialization(configDir string) {
291275
for {
292276
switch {
293277
case c.General.LedgerType == "":
294-
logger.Infof("General.LedgerType unset, setting to %s", defaults.General.LedgerType)
295-
c.General.LedgerType = defaults.General.LedgerType
278+
logger.Infof("General.LedgerType unset, setting to %s", Defaults.General.LedgerType)
279+
c.General.LedgerType = Defaults.General.LedgerType
296280

297281
case c.General.ListenAddress == "":
298-
logger.Infof("General.ListenAddress unset, setting to %s", defaults.General.ListenAddress)
299-
c.General.ListenAddress = defaults.General.ListenAddress
282+
logger.Infof("General.ListenAddress unset, setting to %s", Defaults.General.ListenAddress)
283+
c.General.ListenAddress = Defaults.General.ListenAddress
300284
case c.General.ListenPort == 0:
301-
logger.Infof("General.ListenPort unset, setting to %s", defaults.General.ListenPort)
302-
c.General.ListenPort = defaults.General.ListenPort
285+
logger.Infof("General.ListenPort unset, setting to %s", Defaults.General.ListenPort)
286+
c.General.ListenPort = Defaults.General.ListenPort
303287

304288
case c.General.LogLevel == "":
305-
logger.Infof("General.LogLevel unset, setting to %s", defaults.General.LogLevel)
306-
c.General.LogLevel = defaults.General.LogLevel
289+
logger.Infof("General.LogLevel unset, setting to %s", Defaults.General.LogLevel)
290+
c.General.LogLevel = Defaults.General.LogLevel
307291
case c.General.LogFormat == "":
308-
logger.Infof("General.LogFormat unset, setting to %s", defaults.General.LogFormat)
309-
c.General.LogFormat = defaults.General.LogFormat
292+
logger.Infof("General.LogFormat unset, setting to %s", Defaults.General.LogFormat)
293+
c.General.LogFormat = Defaults.General.LogFormat
310294

311295
case c.General.GenesisMethod == "":
312-
c.General.GenesisMethod = defaults.General.GenesisMethod
296+
c.General.GenesisMethod = Defaults.General.GenesisMethod
313297
case c.General.GenesisFile == "":
314-
c.General.GenesisFile = defaults.General.GenesisFile
298+
c.General.GenesisFile = Defaults.General.GenesisFile
315299
case c.General.GenesisProfile == "":
316-
c.General.GenesisProfile = defaults.General.GenesisProfile
300+
c.General.GenesisProfile = Defaults.General.GenesisProfile
317301
case c.General.SystemChannel == "":
318-
c.General.SystemChannel = defaults.General.SystemChannel
302+
c.General.SystemChannel = Defaults.General.SystemChannel
319303

320304
case c.Kafka.TLS.Enabled && c.Kafka.TLS.Certificate == "":
321305
logger.Panicf("General.Kafka.TLS.Certificate must be set if General.Kafka.TLS.Enabled is set to true.")
@@ -325,68 +309,68 @@ func (c *TopLevel) completeInitialization(configDir string) {
325309
logger.Panicf("General.Kafka.TLS.CertificatePool must be set if General.Kafka.TLS.Enabled is set to true.")
326310

327311
case c.General.Profile.Enabled && c.General.Profile.Address == "":
328-
logger.Infof("Profiling enabled and General.Profile.Address unset, setting to %s", defaults.General.Profile.Address)
329-
c.General.Profile.Address = defaults.General.Profile.Address
312+
logger.Infof("Profiling enabled and General.Profile.Address unset, setting to %s", Defaults.General.Profile.Address)
313+
c.General.Profile.Address = Defaults.General.Profile.Address
330314

331315
case c.General.LocalMSPDir == "":
332-
logger.Infof("General.LocalMSPDir unset, setting to %s", defaults.General.LocalMSPDir)
333-
c.General.LocalMSPDir = defaults.General.LocalMSPDir
316+
logger.Infof("General.LocalMSPDir unset, setting to %s", Defaults.General.LocalMSPDir)
317+
c.General.LocalMSPDir = Defaults.General.LocalMSPDir
334318
case c.General.LocalMSPID == "":
335-
logger.Infof("General.LocalMSPID unset, setting to %s", defaults.General.LocalMSPID)
336-
c.General.LocalMSPID = defaults.General.LocalMSPID
319+
logger.Infof("General.LocalMSPID unset, setting to %s", Defaults.General.LocalMSPID)
320+
c.General.LocalMSPID = Defaults.General.LocalMSPID
337321

338322
case c.General.Authentication.TimeWindow == 0:
339-
logger.Infof("General.Authentication.TimeWindow unset, setting to %s", defaults.General.Authentication.TimeWindow)
340-
c.General.Authentication.TimeWindow = defaults.General.Authentication.TimeWindow
323+
logger.Infof("General.Authentication.TimeWindow unset, setting to %s", Defaults.General.Authentication.TimeWindow)
324+
c.General.Authentication.TimeWindow = Defaults.General.Authentication.TimeWindow
341325

342326
case c.FileLedger.Prefix == "":
343-
logger.Infof("FileLedger.Prefix unset, setting to %s", defaults.FileLedger.Prefix)
344-
c.FileLedger.Prefix = defaults.FileLedger.Prefix
327+
logger.Infof("FileLedger.Prefix unset, setting to %s", Defaults.FileLedger.Prefix)
328+
c.FileLedger.Prefix = Defaults.FileLedger.Prefix
345329

346330
case c.Kafka.Retry.ShortInterval == 0:
347-
logger.Infof("Kafka.Retry.ShortInterval unset, setting to %v", defaults.Kafka.Retry.ShortInterval)
348-
c.Kafka.Retry.ShortInterval = defaults.Kafka.Retry.ShortInterval
331+
logger.Infof("Kafka.Retry.ShortInterval unset, setting to %v", Defaults.Kafka.Retry.ShortInterval)
332+
c.Kafka.Retry.ShortInterval = Defaults.Kafka.Retry.ShortInterval
349333
case c.Kafka.Retry.ShortTotal == 0:
350-
logger.Infof("Kafka.Retry.ShortTotal unset, setting to %v", defaults.Kafka.Retry.ShortTotal)
351-
c.Kafka.Retry.ShortTotal = defaults.Kafka.Retry.ShortTotal
334+
logger.Infof("Kafka.Retry.ShortTotal unset, setting to %v", Defaults.Kafka.Retry.ShortTotal)
335+
c.Kafka.Retry.ShortTotal = Defaults.Kafka.Retry.ShortTotal
352336
case c.Kafka.Retry.LongInterval == 0:
353-
logger.Infof("Kafka.Retry.LongInterval unset, setting to %v", defaults.Kafka.Retry.LongInterval)
354-
c.Kafka.Retry.LongInterval = defaults.Kafka.Retry.LongInterval
337+
logger.Infof("Kafka.Retry.LongInterval unset, setting to %v", Defaults.Kafka.Retry.LongInterval)
338+
c.Kafka.Retry.LongInterval = Defaults.Kafka.Retry.LongInterval
355339
case c.Kafka.Retry.LongTotal == 0:
356-
logger.Infof("Kafka.Retry.LongTotal unset, setting to %v", defaults.Kafka.Retry.LongTotal)
357-
c.Kafka.Retry.LongTotal = defaults.Kafka.Retry.LongTotal
340+
logger.Infof("Kafka.Retry.LongTotal unset, setting to %v", Defaults.Kafka.Retry.LongTotal)
341+
c.Kafka.Retry.LongTotal = Defaults.Kafka.Retry.LongTotal
358342

359343
case c.Kafka.Retry.NetworkTimeouts.DialTimeout == 0:
360-
logger.Infof("Kafka.Retry.NetworkTimeouts.DialTimeout unset, setting to %v", defaults.Kafka.Retry.NetworkTimeouts.DialTimeout)
361-
c.Kafka.Retry.NetworkTimeouts.DialTimeout = defaults.Kafka.Retry.NetworkTimeouts.DialTimeout
344+
logger.Infof("Kafka.Retry.NetworkTimeouts.DialTimeout unset, setting to %v", Defaults.Kafka.Retry.NetworkTimeouts.DialTimeout)
345+
c.Kafka.Retry.NetworkTimeouts.DialTimeout = Defaults.Kafka.Retry.NetworkTimeouts.DialTimeout
362346
case c.Kafka.Retry.NetworkTimeouts.ReadTimeout == 0:
363-
logger.Infof("Kafka.Retry.NetworkTimeouts.ReadTimeout unset, setting to %v", defaults.Kafka.Retry.NetworkTimeouts.ReadTimeout)
364-
c.Kafka.Retry.NetworkTimeouts.ReadTimeout = defaults.Kafka.Retry.NetworkTimeouts.ReadTimeout
347+
logger.Infof("Kafka.Retry.NetworkTimeouts.ReadTimeout unset, setting to %v", Defaults.Kafka.Retry.NetworkTimeouts.ReadTimeout)
348+
c.Kafka.Retry.NetworkTimeouts.ReadTimeout = Defaults.Kafka.Retry.NetworkTimeouts.ReadTimeout
365349
case c.Kafka.Retry.NetworkTimeouts.WriteTimeout == 0:
366-
logger.Infof("Kafka.Retry.NetworkTimeouts.WriteTimeout unset, setting to %v", defaults.Kafka.Retry.NetworkTimeouts.WriteTimeout)
367-
c.Kafka.Retry.NetworkTimeouts.WriteTimeout = defaults.Kafka.Retry.NetworkTimeouts.WriteTimeout
350+
logger.Infof("Kafka.Retry.NetworkTimeouts.WriteTimeout unset, setting to %v", Defaults.Kafka.Retry.NetworkTimeouts.WriteTimeout)
351+
c.Kafka.Retry.NetworkTimeouts.WriteTimeout = Defaults.Kafka.Retry.NetworkTimeouts.WriteTimeout
368352

369353
case c.Kafka.Retry.Metadata.RetryBackoff == 0:
370-
logger.Infof("Kafka.Retry.Metadata.RetryBackoff unset, setting to %v", defaults.Kafka.Retry.Metadata.RetryBackoff)
371-
c.Kafka.Retry.Metadata.RetryBackoff = defaults.Kafka.Retry.Metadata.RetryBackoff
354+
logger.Infof("Kafka.Retry.Metadata.RetryBackoff unset, setting to %v", Defaults.Kafka.Retry.Metadata.RetryBackoff)
355+
c.Kafka.Retry.Metadata.RetryBackoff = Defaults.Kafka.Retry.Metadata.RetryBackoff
372356
case c.Kafka.Retry.Metadata.RetryMax == 0:
373-
logger.Infof("Kafka.Retry.Metadata.RetryMax unset, setting to %v", defaults.Kafka.Retry.Metadata.RetryMax)
374-
c.Kafka.Retry.Metadata.RetryMax = defaults.Kafka.Retry.Metadata.RetryMax
357+
logger.Infof("Kafka.Retry.Metadata.RetryMax unset, setting to %v", Defaults.Kafka.Retry.Metadata.RetryMax)
358+
c.Kafka.Retry.Metadata.RetryMax = Defaults.Kafka.Retry.Metadata.RetryMax
375359

376360
case c.Kafka.Retry.Producer.RetryBackoff == 0:
377-
logger.Infof("Kafka.Retry.Producer.RetryBackoff unset, setting to %v", defaults.Kafka.Retry.Producer.RetryBackoff)
378-
c.Kafka.Retry.Producer.RetryBackoff = defaults.Kafka.Retry.Producer.RetryBackoff
361+
logger.Infof("Kafka.Retry.Producer.RetryBackoff unset, setting to %v", Defaults.Kafka.Retry.Producer.RetryBackoff)
362+
c.Kafka.Retry.Producer.RetryBackoff = Defaults.Kafka.Retry.Producer.RetryBackoff
379363
case c.Kafka.Retry.Producer.RetryMax == 0:
380-
logger.Infof("Kafka.Retry.Producer.RetryMax unset, setting to %v", defaults.Kafka.Retry.Producer.RetryMax)
381-
c.Kafka.Retry.Producer.RetryMax = defaults.Kafka.Retry.Producer.RetryMax
364+
logger.Infof("Kafka.Retry.Producer.RetryMax unset, setting to %v", Defaults.Kafka.Retry.Producer.RetryMax)
365+
c.Kafka.Retry.Producer.RetryMax = Defaults.Kafka.Retry.Producer.RetryMax
382366

383367
case c.Kafka.Retry.Consumer.RetryBackoff == 0:
384-
logger.Infof("Kafka.Retry.Consumer.RetryBackoff unset, setting to %v", defaults.Kafka.Retry.Consumer.RetryBackoff)
385-
c.Kafka.Retry.Consumer.RetryBackoff = defaults.Kafka.Retry.Consumer.RetryBackoff
368+
logger.Infof("Kafka.Retry.Consumer.RetryBackoff unset, setting to %v", Defaults.Kafka.Retry.Consumer.RetryBackoff)
369+
c.Kafka.Retry.Consumer.RetryBackoff = Defaults.Kafka.Retry.Consumer.RetryBackoff
386370

387371
case c.Kafka.Version == sarama.KafkaVersion{}:
388-
logger.Infof("Kafka.Version unset, setting to %v", defaults.Kafka.Version)
389-
c.Kafka.Version = defaults.Kafka.Version
372+
logger.Infof("Kafka.Version unset, setting to %v", Defaults.Kafka.Version)
373+
c.Kafka.Version = Defaults.Kafka.Version
390374

391375
default:
392376
return

orderer/common/localconfig/config_test.go

+4-23
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
1-
/*
2-
Copyright IBM Corp. 2016 All Rights Reserved.
3-
4-
Licensed under the Apache License, Version 2.0 (the "License");
5-
you may not use this file except in compliance with the License.
6-
You may obtain a copy of the License at
7-
8-
http://www.apache.org/licenses/LICENSE-2.0
9-
10-
Unless required by applicable law or agreed to in writing, software
11-
distributed under the License is distributed on an "AS IS" BASIS,
12-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
See the License for the specific language governing permissions and
14-
limitations under the License.
15-
*/
1+
// Copyright IBM Corp. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
163

174
package config
185

@@ -24,16 +11,10 @@ import (
2411
"testing"
2512
"time"
2613

27-
"github.com/hyperledger/fabric/common/flogging"
28-
genesisconfig "github.com/hyperledger/fabric/common/tools/configtxgen/localconfig"
2914
"github.com/hyperledger/fabric/core/config/configtest"
3015
"github.com/stretchr/testify/assert"
3116
)
3217

33-
func init() {
34-
flogging.SetModuleLevel(pkgLogID, "DEBUG")
35-
}
36-
3718
func TestLoadGoodConfig(t *testing.T) {
3819
cleanup := configtest.SetDevFabricConfigPath(t)
3920
defer cleanup()
@@ -130,6 +111,6 @@ func TestSystemChannel(t *testing.T) {
130111
cleanup := configtest.SetDevFabricConfigPath(t)
131112
defer cleanup()
132113
conf, _ := Load()
133-
assert.Equal(t, genesisconfig.TestChainID, conf.General.SystemChannel,
134-
"Expected default system channel ID to be '%s', got '%s' instead", genesisconfig.TestChainID, conf.General.SystemChannel)
114+
assert.Equal(t, Defaults.General.SystemChannel, conf.General.SystemChannel,
115+
"Expected default system channel ID to be '%s', got '%s' instead", Defaults.General.SystemChannel, conf.General.SystemChannel)
135116
}

0 commit comments

Comments
 (0)