Skip to content

Commit 6adfc3f

Browse files
DorKatzelnicktock-ibm
authored andcommitted
refactor in router, prepare for dynamic reconfig
Signed-off-by: Dor.Katzelnick <Dor.Katzelnick@ibm.com>
1 parent 9084bd0 commit 6adfc3f

File tree

5 files changed

+21
-12
lines changed

5 files changed

+21
-12
lines changed

node/router/config_submitter.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/hyperledger/fabric-x-orderer/common/types"
2222
"github.com/hyperledger/fabric-x-orderer/config/verify"
2323
"github.com/hyperledger/fabric-x-orderer/node/comm"
24+
nodeconfig "github.com/hyperledger/fabric-x-orderer/node/config"
2425
protos "github.com/hyperledger/fabric-x-orderer/node/protos/comm"
2526
"google.golang.org/grpc"
2627
)
@@ -48,6 +49,15 @@ type configSubmitter struct {
4849
configRulesVerifier verify.OrdererRules
4950
}
5051

52+
func CreateConfigSubmitter(conf *nodeconfig.RouterNodeConfig, logger types.Logger, verifier *requestfilter.RulesVerifier, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *configSubmitter {
53+
var tlsCAsOfConsenter [][]byte
54+
for _, rawTLSCA := range conf.Consenter.TLSCACerts {
55+
tlsCAsOfConsenter = append(tlsCAsOfConsenter, rawTLSCA)
56+
}
57+
58+
return NewConfigSubmitter(conf.Consenter.Endpoint, tlsCAsOfConsenter, conf.TLSCertificateFile, conf.TLSPrivateKeyFile, logger, conf.Bundle, verifier, signer, configUpdateProposer, configRulesVerifier)
59+
}
60+
5161
func NewConfigSubmitter(consensusEndpoint string, consensusRootCAs [][]byte, tlsCert []byte, tlsKey []byte, logger types.Logger, bundle channelconfig.Resources, verifier *requestfilter.RulesVerifier, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *configSubmitter {
5262
cs := &configSubmitter{
5363
consensusEndpoint: consensusEndpoint,

node/router/router.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,11 @@ type Router struct {
6363
feedbackWG sync.WaitGroup
6464
configSeq uint32
6565
wal *wal.WriteAheadLogFile
66+
signer identity.SignerSerializer
67+
configuration *config.Configuration
6668
}
6769

68-
func NewRouter(config *nodeconfig.RouterNodeConfig, logger types.Logger, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *Router {
70+
func NewRouter(config *nodeconfig.RouterNodeConfig, configuration *config.Configuration, logger types.Logger, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *Router {
6971
// shardIDs is an array of all shard ids
7072
var shardIDs []types.ShardID
7173
// batcherEndpoints are the endpoints of all batchers from the router's party by shard id
@@ -91,11 +93,6 @@ func NewRouter(config *nodeconfig.RouterNodeConfig, logger types.Logger, signer
9193
return int(shardIDs[i]) < int(shardIDs[j])
9294
})
9395

94-
var tlsCAsOfConsenter [][]byte
95-
for _, rawTLSCA := range config.Consenter.TLSCACerts {
96-
tlsCAsOfConsenter = append(tlsCAsOfConsenter, rawTLSCA)
97-
}
98-
9996
configStore, err := configstore.NewStore(config.FileStorePath)
10097
if err != nil {
10198
logger.Panicf("Failed creating router config store: %s", err)
@@ -113,12 +110,14 @@ func NewRouter(config *nodeconfig.RouterNodeConfig, logger types.Logger, signer
113110
decisionPuller := CreateConsensusDecisionReplicator(config, seekInfo, logger)
114111

115112
verifier := createVerifier(config)
116-
configSubmitter := NewConfigSubmitter(config.Consenter.Endpoint, tlsCAsOfConsenter,
117-
config.TLSCertificateFile, config.TLSPrivateKeyFile, logger, config.Bundle, verifier, signer, configUpdateProposer, configRulesVerifier)
113+
114+
configSubmitter := CreateConfigSubmitter(config, logger, verifier, signer, configUpdateProposer, configRulesVerifier)
118115

119116
metrics := NewRouterMetrics(config, logger)
120117

121118
r := createRouter(shardIDs, batcherEndpoints, tlsCAsOfBatchers, metrics, config, logger, verifier, configStore, configSubmitter, decisionPuller, routerWAL)
119+
r.signer = signer
120+
r.configuration = configuration
122121
r.init()
123122
r.metrics.Start()
124123
return r

node/router/router_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,7 @@ func createAndStartRouter(t *testing.T, partyID types.PartyID, ca tlsgen.CA, bat
989989
configRulesVerifier.ValidateNewConfigReturns(nil)
990990
configRulesVerifier.ValidateTransitionReturns(nil)
991991

992-
r := router.NewRouter(conf, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
992+
r := router.NewRouter(conf, nil, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
993993
r.StartRouterService()
994994

995995
return r, conf

node/server/arma.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ func launchRouter(stop chan struct{}) func(configFile *os.File) {
242242
} else {
243243
routerLogger = flogging.MustGetLogger(fmt.Sprintf("Router%d", routerConf.PartyID))
244244
}
245-
r := router.NewRouter(routerConf, routerLogger, signer, &policy.DefaultConfigUpdateProposer{}, &verify.DefaultOrdererRules{})
245+
r := router.NewRouter(routerConf, conf, routerLogger, signer, &policy.DefaultConfigUpdateProposer{}, &verify.DefaultOrdererRules{})
246246
ch := r.StartRouterService()
247247

248248
go func() {

test/utils_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func createRouters(t *testing.T, num int, batcherInfos []node_config.BatcherInfo
155155
configRulesVerifier.ValidateNewConfigReturns(nil)
156156
configRulesVerifier.ValidateTransitionReturns(nil)
157157

158-
router := router.NewRouter(config, l, fakeSigner, configUpdateProposer, configRulesVerifier)
158+
router := router.NewRouter(config, nil, l, fakeSigner, configUpdateProposer, configRulesVerifier)
159159
routers = append(routers, router)
160160
}
161161

@@ -544,7 +544,7 @@ func recoverRouter(conf *node_config.RouterNodeConfig, logger *zap.SugaredLogger
544544
configRulesVerifier.ValidateNewConfigReturns(nil)
545545
configRulesVerifier.ValidateTransitionReturns(nil)
546546

547-
router := router.NewRouter(conf, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
547+
router := router.NewRouter(conf, nil, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
548548
router.StartRouterService()
549549

550550
return router

0 commit comments

Comments
 (0)