Skip to content

Commit f9e53a0

Browse files
committed
[FAB-3787] Adjusting the E2E CLI tests for Kafka
Update e2e scripts to to use kafka orderering service instead of solo Change-Id: Id6ac848e870286c225de4251663badd9f94ebf2c Signed-off-by: ratnakar <asara.ratnakar@gmail.com>
1 parent d6b54c8 commit f9e53a0

File tree

7 files changed

+335
-5
lines changed

7 files changed

+335
-5
lines changed

examples/e2e_cli/base/docker-compose-base.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@
66
version: '2'
77

88
services:
9+
zookeeper:
10+
image: hyperledger/fabric-zookeeper
11+
restart: always
12+
ports:
13+
- '2181'
14+
- '2888'
15+
- '3888'
16+
17+
kafka:
18+
image: hyperledger/fabric-kafka
19+
restart: always
20+
environment:
21+
- KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
22+
- KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
23+
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
24+
ports:
25+
- '9092'
926

1027
orderer.example.com:
1128
container_name: orderer.example.com
@@ -22,6 +39,9 @@ services:
2239
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
2340
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
2441
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
42+
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
43+
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
44+
- ORDERER_KAFKA_VERBOSE=true
2545
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
2646
command: orderer
2747
volumes:

examples/e2e_cli/configtx.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ Orderer: &OrdererDefaults
101101

102102
# Orderer Type: The orderer implementation to start
103103
# Available types are "solo" and "kafka"
104-
OrdererType: solo
104+
OrdererType: kafka
105105

106106
Addresses:
107107
- orderer.example.com:7050
@@ -132,6 +132,7 @@ Orderer: &OrdererDefaults
132132
- kafka0:9092
133133
- kafka1:9092
134134
- kafka2:9092
135+
- kafka3:9092
135136

136137
# Organizations is the list of orgs which are defined as participants on
137138
# the orderer side of the network

examples/e2e_cli/docker-compose-cli.yaml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,106 @@
66
version: '2'
77

88
services:
9+
zookeeper0:
10+
container_name: zookeeper0
11+
extends:
12+
file: base/docker-compose-base.yaml
13+
service: zookeeper
14+
environment:
15+
- ZOO_MY_ID=1
16+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
17+
18+
zookeeper1:
19+
container_name: zookeeper1
20+
extends:
21+
file: base/docker-compose-base.yaml
22+
service: zookeeper
23+
environment:
24+
- ZOO_MY_ID=2
25+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
26+
27+
zookeeper2:
28+
container_name: zookeeper2
29+
extends:
30+
file: base/docker-compose-base.yaml
31+
service: zookeeper
32+
environment:
33+
- ZOO_MY_ID=3
34+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
35+
36+
kafka0:
37+
container_name: kafka0
38+
extends:
39+
file: base/docker-compose-base.yaml
40+
service: kafka
41+
environment:
42+
- KAFKA_BROKER_ID=0
43+
- KAFKA_MIN_INSYNC_REPLICAS=2
44+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
45+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
46+
depends_on:
47+
- zookeeper0
48+
- zookeeper1
49+
- zookeeper2
50+
51+
kafka1:
52+
container_name: kafka1
53+
extends:
54+
file: base/docker-compose-base.yaml
55+
service: kafka
56+
environment:
57+
- KAFKA_BROKER_ID=1
58+
- KAFKA_MIN_INSYNC_REPLICAS=2
59+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
60+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
61+
depends_on:
62+
- zookeeper0
63+
- zookeeper1
64+
- zookeeper2
65+
66+
kafka2:
67+
container_name: kafka2
68+
extends:
69+
file: base/docker-compose-base.yaml
70+
service: kafka
71+
environment:
72+
- KAFKA_BROKER_ID=2
73+
- KAFKA_MIN_INSYNC_REPLICAS=2
74+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
75+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
76+
depends_on:
77+
- zookeeper0
78+
- zookeeper1
79+
- zookeeper2
80+
81+
kafka3:
82+
container_name: kafka3
83+
extends:
84+
file: base/docker-compose-base.yaml
85+
service: kafka
86+
environment:
87+
- KAFKA_BROKER_ID=3
88+
- KAFKA_MIN_INSYNC_REPLICAS=2
89+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
90+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
91+
depends_on:
92+
- zookeeper0
93+
- zookeeper1
94+
- zookeeper2
995

1096
orderer.example.com:
1197
extends:
1298
file: base/docker-compose-base.yaml
1399
service: orderer.example.com
14100
container_name: orderer.example.com
101+
depends_on:
102+
- zookeeper0
103+
- zookeeper1
104+
- zookeeper2
105+
- kafka0
106+
- kafka1
107+
- kafka2
108+
- kafka3
15109

16110
peer0.org1.example.com:
17111
container_name: peer0.org1.example.com

examples/e2e_cli/docker-compose-e2e-template.yaml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,103 @@ services:
3636
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
3737
container_name: ca_peerOrg2
3838

39+
zookeeper0:
40+
container_name: zookeeper0
41+
extends:
42+
file: base/docker-compose-base.yaml
43+
service: zookeeper
44+
environment:
45+
- ZOO_MY_ID=1
46+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
47+
48+
zookeeper1:
49+
container_name: zookeeper1
50+
extends:
51+
file: base/docker-compose-base.yaml
52+
service: zookeeper
53+
environment:
54+
- ZOO_MY_ID=2
55+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
56+
57+
zookeeper2:
58+
container_name: zookeeper2
59+
extends:
60+
file: base/docker-compose-base.yaml
61+
service: zookeeper
62+
environment:
63+
- ZOO_MY_ID=3
64+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
65+
66+
kafka0:
67+
container_name: kafka0
68+
extends:
69+
file: base/docker-compose-base.yaml
70+
service: kafka
71+
environment:
72+
- KAFKA_BROKER_ID=0
73+
- KAFKA_MIN_INSYNC_REPLICAS=2
74+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
75+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
76+
depends_on:
77+
- zookeeper0
78+
- zookeeper1
79+
- zookeeper2
80+
81+
kafka1:
82+
container_name: kafka1
83+
extends:
84+
file: base/docker-compose-base.yaml
85+
service: kafka
86+
environment:
87+
- KAFKA_BROKER_ID=1
88+
- KAFKA_MIN_INSYNC_REPLICAS=2
89+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
90+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
91+
depends_on:
92+
- zookeeper0
93+
- zookeeper1
94+
- zookeeper2
95+
96+
kafka2:
97+
container_name: kafka2
98+
extends:
99+
file: base/docker-compose-base.yaml
100+
service: kafka
101+
environment:
102+
- KAFKA_BROKER_ID=2
103+
- KAFKA_MIN_INSYNC_REPLICAS=2
104+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
105+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
106+
depends_on:
107+
- zookeeper0
108+
- zookeeper1
109+
- zookeeper2
110+
111+
kafka3:
112+
container_name: kafka3
113+
extends:
114+
file: base/docker-compose-base.yaml
115+
service: kafka
116+
environment:
117+
- KAFKA_BROKER_ID=3
118+
- KAFKA_MIN_INSYNC_REPLICAS=2
119+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
120+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
121+
depends_on:
122+
- zookeeper0
123+
- zookeeper1
124+
- zookeeper2
125+
39126
orderer.example.com:
40127
extends:
41128
file: base/docker-compose-base.yaml
42129
service: orderer.example.com
43130
container_name: orderer.example.com
131+
depends_on:
132+
- kafka0
133+
- kafka1
134+
- kafka2
135+
- kafka3
44136

45137
peer0.org1.example.com:
46138
container_name: peer0.org1.example.com

examples/e2e_cli/docker-compose-e2e.yaml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,103 @@ services:
3636
- ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
3737
container_name: ca_peerOrg2
3838

39+
zookeeper0:
40+
container_name: zookeeper0
41+
extends:
42+
file: base/docker-compose-base.yaml
43+
service: zookeeper
44+
environment:
45+
- ZOO_MY_ID=1
46+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
47+
48+
zookeeper1:
49+
container_name: zookeeper1
50+
extends:
51+
file: base/docker-compose-base.yaml
52+
service: zookeeper
53+
environment:
54+
- ZOO_MY_ID=2
55+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
56+
57+
zookeeper2:
58+
container_name: zookeeper2
59+
extends:
60+
file: base/docker-compose-base.yaml
61+
service: zookeeper
62+
environment:
63+
- ZOO_MY_ID=3
64+
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
65+
66+
kafka0:
67+
container_name: kafka0
68+
extends:
69+
file: base/docker-compose-base.yaml
70+
service: kafka
71+
environment:
72+
- KAFKA_BROKER_ID=0
73+
- KAFKA_MIN_INSYNC_REPLICAS=2
74+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
75+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
76+
depends_on:
77+
- zookeeper0
78+
- zookeeper1
79+
- zookeeper2
80+
81+
kafka1:
82+
container_name: kafka1
83+
extends:
84+
file: base/docker-compose-base.yaml
85+
service: kafka
86+
environment:
87+
- KAFKA_BROKER_ID=1
88+
- KAFKA_MIN_INSYNC_REPLICAS=2
89+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
90+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
91+
depends_on:
92+
- zookeeper0
93+
- zookeeper1
94+
- zookeeper2
95+
96+
kafka2:
97+
container_name: kafka2
98+
extends:
99+
file: base/docker-compose-base.yaml
100+
service: kafka
101+
environment:
102+
- KAFKA_BROKER_ID=2
103+
- KAFKA_MIN_INSYNC_REPLICAS=2
104+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
105+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
106+
depends_on:
107+
- zookeeper0
108+
- zookeeper1
109+
- zookeeper2
110+
111+
kafka3:
112+
container_name: kafka3
113+
extends:
114+
file: base/docker-compose-base.yaml
115+
service: kafka
116+
environment:
117+
- KAFKA_BROKER_ID=3
118+
- KAFKA_MIN_INSYNC_REPLICAS=2
119+
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
120+
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
121+
depends_on:
122+
- zookeeper0
123+
- zookeeper1
124+
- zookeeper2
125+
39126
orderer.example.com:
40127
extends:
41128
file: base/docker-compose-base.yaml
42129
service: orderer.example.com
43130
container_name: orderer.example.com
131+
depends_on:
132+
- kafka0
133+
- kafka1
134+
- kafka2
135+
- kafka3
44136

45137
peer0.org1.example.com:
46138
container_name: peer0.org1.example.com

examples/e2e_cli/end-to-end.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ End-to-End Flow
22
===============
33

44
The end-to-end verification provisions a sample Fabric network consisting of
5-
two organizations, each maintaining two peers, and a “solo” ordering service.
5+
two organizations, each maintaining two peers, and a Kafka-based ordering service.
66

77
This verification makes use of two fundamental tools, which are necessary to
88
create a functioning transactional network with digital signature validation
@@ -910,4 +910,3 @@ back and recreate your channel artifacts.
910910

911911
.. Licensed under Creative Commons Attribution 4.0 International License
912912
https://creativecommons.org/licenses/by/4.0/
913-

0 commit comments

Comments
 (0)