Skip to content

Commit a5daf90

Browse files
committed
Introduce support for MSP load generation
Signed-off-by: Liran Funaro <[email protected]>
1 parent 0881c14 commit a5daf90

33 files changed

+438
-325
lines changed

cmd/config/app_config_test.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -379,20 +379,20 @@ func TestReadConfigLoadGen(t *testing.T) {
379379
Block: workload.BlockProfile{Size: 500},
380380
Transaction: workload.TransactionProfile{
381381
ReadWriteCount: workload.NewConstantDistribution(2),
382-
Policy: &workload.PolicyProfile{
383-
ChannelID: "mychannel",
384-
NamespacePolicies: map[string]*workload.Policy{
385-
workload.DefaultGeneratedNamespaceID: {
386-
Scheme: signature.Ecdsa, Seed: 10,
387-
},
388-
committerpb.MetaNamespaceID: {
389-
Scheme: signature.Ecdsa, Seed: 11,
390-
},
382+
},
383+
Policy: workload.PolicyProfile{
384+
ChannelID: "mychannel",
385+
NamespacePolicies: map[string]*workload.Policy{
386+
workload.DefaultGeneratedNamespaceID: {
387+
Scheme: signature.Ecdsa, Seed: 10,
391388
},
392-
OrdererEndpoints: []*commontypes.OrdererEndpoint{
393-
newOrdererEndpoint("org", "orderer"),
389+
committerpb.MetaNamespaceID: {
390+
Scheme: signature.Ecdsa, Seed: 11,
394391
},
395392
},
393+
OrdererEndpoints: []*commontypes.OrdererEndpoint{
394+
newOrdererEndpoint("org", "orderer"),
395+
},
396396
},
397397
Conflicts: workload.ConflictProfile{
398398
InvalidSignatures: 0.1,

cmd/config/samples/loadgen.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,17 @@ load-profile:
4848
transaction:
4949
read-write-count:
5050
const: 2
51-
policy:
52-
channel-id: mychannel
53-
namespace-policies:
54-
0:
55-
scheme: ECDSA
56-
seed: 10
57-
_meta:
58-
scheme: ECDSA
59-
seed: 11
60-
orderer-endpoints:
61-
- id=0,msp-id=org,broadcast,deliver,orderer:7050
51+
policy:
52+
channel-id: mychannel
53+
namespace-policies:
54+
0:
55+
scheme: ECDSA
56+
seed: 10
57+
_meta:
58+
scheme: ECDSA
59+
seed: 11
60+
orderer-endpoints:
61+
- id=0,msp-id=org,broadcast,deliver,orderer:7050
6262
conflicts:
6363
invalid-signatures: 0.1
6464
seed: 12345

cmd/config/templates/loadgen_common.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ load-profile:
3838
read-only-count:
3939
read-write-count:
4040
const: 2
41-
policy:
42-
channel-id: {{ .Policy.ChannelID }}
43-
namespace-policies:
44-
{{ range $nsID, $element := .Policy.NamespacePolicies }}
45-
{{ $nsID }}:
46-
scheme: {{ $element.Scheme }}
47-
seed: {{ $element.Seed }}
48-
{{ end }}
49-
config-block-path: {{ .ConfigBlockPath }}
41+
policy:
42+
channel-id: {{ .Policy.ChannelID }}
43+
namespace-policies:
44+
{{ range $nsID, $element := .Policy.NamespacePolicies }}
45+
{{ $nsID }}:
46+
scheme: {{ $element.Scheme }}
47+
seed: {{ $element.Seed }}
48+
{{ end }}
49+
config-block-path: {{ .ConfigBlockPath }}
5050
query:
5151
query-size:
5252
min-invalid-keys-portion:

cmd/loadgen/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func loadGenGenesisBlock() *cobra.Command {
100100
}
101101
cmd.SilenceUsage = true
102102

103-
block, err := workload.CreateConfigBlock(conf.LoadProfile.Transaction.Policy)
103+
block, err := workload.CreateConfigBlock(&conf.LoadProfile.Policy)
104104
if err != nil {
105105
return err
106106
}

docker/images/test_node/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ENV SC_SIDECAR_COMMITTER_ENDPOINT=localhost:9001
2020
ENV SC_QUERY_DATABASE_ENDPOINTS=localhost:5433
2121
ENV SC_VC_DATABASE_ENDPOINTS=localhost:5433
2222
ENV SC_LOADGEN_ORDERER_CLIENT_ORDERER_CONNECTION_ENDPOINTS=localhost:7050
23-
ENV SC_LOADGEN_LOAD_PROFILE_TRANSACTION_POLICY_ORDERER_ENDPOINTS="id=0,msp-id=org,broadcast,deliver,localhost:7050"
23+
ENV SC_LOADGEN_LOAD_PROFILE_POLICY_ORDERER_ENDPOINTS="id=0,msp-id=org,broadcast,deliver,localhost:7050"
2424
ENV SC_LOADGEN_ORDERER_CLIENT_SIDECAR_CLIENT_ENDPOINT=localhost:4001
2525

2626
# Disable TLS usage for db.

docker/test/container_release_image_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ func TestCommitterReleaseImagesWithTLS(t *testing.T) {
6666
v := config.NewViperWithLoadGenDefaults()
6767
c, err := config.ReadLoadGenYamlAndSetupLogging(v, filepath.Join(localConfigPath, "loadgen.yaml"))
6868
require.NoError(t, err)
69-
configBlock, err := workload.CreateConfigBlock(c.LoadProfile.Transaction.Policy)
69+
c.LoadProfile.Policy.CryptoMaterialPath = t.TempDir()
70+
configBlock, err := workload.CreateConfigBlock(&c.LoadProfile.Policy)
7071
require.NoError(t, err)
7172
require.NoError(t, configtxgen.WriteOutputBlock(configBlock, configBlockPath))
7273

docker/test/container_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func TestStartTestNodeWithTLSModesAndRemoteConnection(t *testing.T) {
7676
c, err := config.ReadLoadGenYamlAndSetupLogging(v, filepath.Join(localConfigPath, "loadgen.yaml"))
7777
require.NoError(t, err)
7878
ordererEp := mustGetEndpoint(ctx, t, containerName, mockOrdererPort)
79-
c.LoadProfile.Transaction.Policy.OrdererEndpoints = []*commontypes.OrdererEndpoint{
79+
c.LoadProfile.Policy.OrdererEndpoints = []*commontypes.OrdererEndpoint{
8080
{
8181
Host: ordererEp.Host, Port: ordererEp.Port, ID: 0, MspID: "org",
8282
API: []string{commontypes.Broadcast, commontypes.Deliver},
@@ -98,7 +98,7 @@ func TestStartTestNodeWithTLSModesAndRemoteConnection(t *testing.T) {
9898
Server: mustGetEndpoint(ctx, t, containerName, coordinatorServicePort),
9999
},
100100
},
101-
Policy: c.LoadProfile.Transaction.Policy,
101+
Policy: &c.LoadProfile.Policy,
102102
},
103103
DBEnv: vc.NewDatabaseTestEnvFromConnection(
104104
t,

integration/runner/runtime.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,9 @@ func NewRuntime(t *testing.T, conf *Config) *CommitterRuntime {
135135
LoadGenBlockLimit: conf.LoadgenBlockLimit,
136136
LoadGenWorkers: 1,
137137
Policy: &workload.PolicyProfile{
138-
ChannelID: TestChannelName,
139-
NamespacePolicies: make(map[string]*workload.Policy),
138+
ChannelID: TestChannelName,
139+
NamespacePolicies: make(map[string]*workload.Policy),
140+
CryptoMaterialPath: t.TempDir(),
140141
},
141142
Logging: &logging.DefaultConfig,
142143
},

integration/test/config_update_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ func TestConfigUpdate(t *testing.T) {
8686
lgMetaTx := c.TxBuilder.MakeTx(metaTx)
8787

8888
c.AddOrUpdateNamespaces(t, committerpb.MetaNamespaceID)
89-
metaPolicy := c.TxBuilder.TxEndorser.Policy(committerpb.MetaNamespaceID).VerificationPolicy()
89+
verPolicies := c.TxBuilder.TxEndorser.VerificationPolicies()
90+
metaPolicy := verPolicies[committerpb.MetaNamespaceID]
9091
submitConfigBlock := func(endpoints []*commontypes.OrdererEndpoint) {
9192
ordererEnv.SubmitConfigBlock(t, &workload.ConfigBlock{
9293
ChannelID: c.SystemConfig.Policy.ChannelID,

integration/test/namespace_lifecycle_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ func TestCreateUpdateNamespace(t *testing.T) {
2929
})
3030
c.Start(t, runner.FullTxPath)
3131

32-
policyBytesNs1, err := proto.Marshal(c.TxBuilder.TxEndorser.Policy("1").VerificationPolicy())
32+
verPolicies := c.TxBuilder.TxEndorser.VerificationPolicies()
33+
policyBytesNs1, err := proto.Marshal(verPolicies["1"])
3334
require.NoError(t, err)
34-
policyBytesNs2, err := proto.Marshal(c.TxBuilder.TxEndorser.Policy("2").VerificationPolicy())
35+
policyBytesNs2, err := proto.Marshal(verPolicies["2"])
3536
require.NoError(t, err)
3637

3738
tests := []struct {

0 commit comments

Comments
 (0)