Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions node/router/config_submitter.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"github.com/hyperledger/fabric-x-orderer/common/types"
"github.com/hyperledger/fabric-x-orderer/config/verify"
"github.com/hyperledger/fabric-x-orderer/node/comm"
nodeconfig "github.com/hyperledger/fabric-x-orderer/node/config"
protos "github.com/hyperledger/fabric-x-orderer/node/protos/comm"
"google.golang.org/grpc"
)
Expand Down Expand Up @@ -50,20 +51,25 @@ type configSubmitter struct {
partyID types.PartyID
}

func NewConfigSubmitter(consensusEndpoint string, consensusRootCAs [][]byte, tlsCert []byte, tlsKey []byte, logger *flogging.FabricLogger, bundle channelconfig.Resources, verifier *requestfilter.RulesVerifier, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules, partyID types.PartyID) *configSubmitter {
func NewConfigSubmitter(conf *nodeconfig.RouterNodeConfig, logger *flogging.FabricLogger, verifier *requestfilter.RulesVerifier, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *configSubmitter {
var tlsCAsOfConsenter [][]byte
for _, rawTLSCA := range conf.Consenter.TLSCACerts {
tlsCAsOfConsenter = append(tlsCAsOfConsenter, rawTLSCA)
}

cs := &configSubmitter{
consensusEndpoint: consensusEndpoint,
consensusRootCAs: consensusRootCAs,
tlsCert: tlsCert,
tlsKey: tlsKey,
consensusEndpoint: conf.Consenter.Endpoint,
consensusRootCAs: tlsCAsOfConsenter,
tlsCert: conf.TLSCertificateFile,
tlsKey: conf.TLSPrivateKeyFile,
logger: logger,
configRequestsChannel: make(chan *TrackedRequest, 100),
bundle: bundle,
bundle: conf.Bundle,
verifier: verifier,
signer: signer,
configUpdateProposer: configUpdateProposer,
configRulesVerifier: configRulesVerifier,
partyID: partyID,
partyID: conf.PartyID,
}
return cs
}
Expand Down
14 changes: 13 additions & 1 deletion node/router/config_submitter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"github.com/hyperledger/fabric-x-orderer/common/types"
ordererRulesMocks "github.com/hyperledger/fabric-x-orderer/config/verify/mocks"
"github.com/hyperledger/fabric-x-orderer/node/comm/tlsgen"
nodeconfig "github.com/hyperledger/fabric-x-orderer/node/config"
protos "github.com/hyperledger/fabric-x-orderer/node/protos/comm"
"github.com/hyperledger/fabric-x-orderer/testutil"
"github.com/hyperledger/fabric-x-orderer/testutil/stub"
Expand Down Expand Up @@ -59,7 +60,18 @@ func createConfigSubmitTestSetup(t *testing.T) configSubmitTestSetup {
mockConfigRulesVerifier.ValidateNewConfigReturns(nil)
mockConfigRulesVerifier.ValidateTransitionReturns(nil)

configSubmitter := NewConfigSubmitter(stubConsenter.GetConsenterEndpoint(), [][]byte{ca.CertBytes()}, ckp.Cert, ckp.Key, logger, bundle, verifier, fakeSigner, mockConfigUpdateProposer, mockConfigRulesVerifier, types.PartyID(1))
conf := &nodeconfig.RouterNodeConfig{
Consenter: nodeconfig.ConsenterInfo{
Endpoint: stubConsenter.GetConsenterEndpoint(),
TLSCACerts: []nodeconfig.RawBytes{ca.CertBytes()},
},
TLSCertificateFile: ckp.Cert,
TLSPrivateKeyFile: ckp.Key,
Bundle: bundle,
PartyID: types.PartyID(1),
}

configSubmitter := NewConfigSubmitter(conf, logger, verifier, fakeSigner, mockConfigUpdateProposer, mockConfigRulesVerifier)

return configSubmitTestSetup{configSubmitter: configSubmitter, stubConsenter: &stubConsenter}
}
Expand Down
15 changes: 7 additions & 8 deletions node/router/router.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,11 @@ type Router struct {
feedbackWG sync.WaitGroup
configSeq uint32
wal *wal.WriteAheadLogFile
signer identity.SignerSerializer
configuration *config.Configuration
}

func NewRouter(config *nodeconfig.RouterNodeConfig, logger *flogging.FabricLogger, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *Router {
func NewRouter(config *nodeconfig.RouterNodeConfig, configuration *config.Configuration, logger *flogging.FabricLogger, signer identity.SignerSerializer, configUpdateProposer policy.ConfigUpdateProposer, configRulesVerifier verify.OrdererRules) *Router {
// shardIDs is an array of all shard ids
var shardIDs []types.ShardID
// batcherEndpoints are the endpoints of all batchers from the router's party by shard id
Expand All @@ -92,11 +94,6 @@ func NewRouter(config *nodeconfig.RouterNodeConfig, logger *flogging.FabricLogge
return int(shardIDs[i]) < int(shardIDs[j])
})

var tlsCAsOfConsenter [][]byte
for _, rawTLSCA := range config.Consenter.TLSCACerts {
tlsCAsOfConsenter = append(tlsCAsOfConsenter, rawTLSCA)
}

configStore, err := configstore.NewStore(config.FileStorePath)
if err != nil {
logger.Panicf("Failed creating router config store: %s", err)
Expand All @@ -114,12 +111,14 @@ func NewRouter(config *nodeconfig.RouterNodeConfig, logger *flogging.FabricLogge
decisionPuller := CreateConsensusDecisionReplicator(config, seekInfo, logger)

verifier := createVerifier(config)
configSubmitter := NewConfigSubmitter(config.Consenter.Endpoint, tlsCAsOfConsenter,
config.TLSCertificateFile, config.TLSPrivateKeyFile, logger, config.Bundle, verifier, signer, configUpdateProposer, configRulesVerifier, config.PartyID)

configSubmitter := NewConfigSubmitter(config, logger, verifier, signer, configUpdateProposer, configRulesVerifier)

metrics := NewRouterMetrics(config, logger)

r := createRouter(shardIDs, batcherEndpoints, tlsCAsOfBatchers, metrics, config, logger, verifier, configStore, configSubmitter, decisionPuller, routerWAL)
r.signer = signer
r.configuration = configuration
r.init()
r.metrics.Start()
return r
Expand Down
2 changes: 1 addition & 1 deletion node/router/router_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -989,7 +989,7 @@ func createAndStartRouter(t *testing.T, partyID types.PartyID, ca tlsgen.CA, bat
configRulesVerifier.ValidateNewConfigReturns(nil)
configRulesVerifier.ValidateTransitionReturns(nil)

r := router.NewRouter(conf, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
r := router.NewRouter(conf, nil, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
r.StartRouterService()

return r, conf
Expand Down
2 changes: 1 addition & 1 deletion node/server/arma.go
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ func launchRouter(stop chan struct{}) func(configFile *os.File) {
} else {
routerLogger = flogging.MustGetLogger(fmt.Sprintf("Router%d", routerConf.PartyID))
}
r := router.NewRouter(routerConf, routerLogger, signer, &policy.DefaultConfigUpdateProposer{}, &verify.DefaultOrdererRules{})
r := router.NewRouter(routerConf, conf, routerLogger, signer, &policy.DefaultConfigUpdateProposer{}, &verify.DefaultOrdererRules{})
ch := r.StartRouterService()

go func() {
Expand Down
4 changes: 2 additions & 2 deletions test/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ func createRouters(t *testing.T, num int, batcherInfos []node_config.BatcherInfo
configRulesVerifier.ValidateNewConfigReturns(nil)
configRulesVerifier.ValidateTransitionReturns(nil)

router := router.NewRouter(config, l, fakeSigner, configUpdateProposer, configRulesVerifier)
router := router.NewRouter(config, nil, l, fakeSigner, configUpdateProposer, configRulesVerifier)
routers = append(routers, router)
}

Expand Down Expand Up @@ -544,7 +544,7 @@ func recoverRouter(conf *node_config.RouterNodeConfig, logger *flogging.FabricLo
configRulesVerifier.ValidateNewConfigReturns(nil)
configRulesVerifier.ValidateTransitionReturns(nil)

router := router.NewRouter(conf, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
router := router.NewRouter(conf, nil, logger, fakeSigner, configUpdateProposer, configRulesVerifier)
router.StartRouterService()

return router
Expand Down