1agent-configs:
2- etcd-exec: ./bin/etcd
3  agent-addr: 127.0.0.1:19027
4  failpoint-http-addr: http://127.0.0.1:7381
5  base-dir: /tmp/etcd-functional-1
6  etcd-client-proxy: false
7  etcd-peer-proxy: true
8  etcd-client-endpoint: 127.0.0.1:1379
9  etcd:
10    name: s1
11    data-dir: /tmp/etcd-functional-1/etcd.data
12    wal-dir: /tmp/etcd-functional-1/etcd.data/member/wal
13    heartbeat-interval: 100
14    election-timeout: 1000
15    listen-client-urls: ["https://127.0.0.1:1379"]
16    advertise-client-urls: ["https://127.0.0.1:1379"]
17    auto-tls: true
18    client-cert-auth: false
19    cert-file: ""
20    key-file: ""
21    trusted-ca-file: ""
22    listen-peer-urls: ["https://127.0.0.1:1380"]
23    initial-advertise-peer-urls: ["https://127.0.0.1:1381"]
24    peer-auto-tls: true
25    peer-client-cert-auth: false
26    peer-cert-file: ""
27    peer-key-file: ""
28    peer-trusted-ca-file: ""
29    initial-cluster: s1=https://127.0.0.1:1381,s2=https://127.0.0.1:2381,s3=https://127.0.0.1:3381
30    initial-cluster-state: new
31    initial-cluster-token: tkn
32    snapshot-count: 2000
33    quota-backend-bytes: 10740000000 # 10 GiB
34    pre-vote: true
35    initial-corrupt-check: true
36    logger: zap
37    log-outputs: [/tmp/etcd-functional-1/etcd.log]
38    log-level: info
39  client-cert-data: ""
40  client-cert-path: ""
41  client-key-data: ""
42  client-key-path: ""
43  client-trusted-ca-data: ""
44  client-trusted-ca-path: ""
45  peer-cert-data: ""
46  peer-cert-path: ""
47  peer-key-data: ""
48  peer-key-path: ""
49  peer-trusted-ca-data: ""
50  peer-trusted-ca-path: ""
51  snapshot-path: /tmp/etcd-functional-1.snapshot.db
52
53- etcd-exec: ./bin/etcd
54  agent-addr: 127.0.0.1:29027
55  failpoint-http-addr: http://127.0.0.1:7382
56  base-dir: /tmp/etcd-functional-2
57  etcd-client-proxy: false
58  etcd-peer-proxy: true
59  etcd-client-endpoint: 127.0.0.1:2379
60  etcd:
61    name: s2
62    data-dir: /tmp/etcd-functional-2/etcd.data
63    wal-dir: /tmp/etcd-functional-2/etcd.data/member/wal
64    heartbeat-interval: 100
65    election-timeout: 1000
66    listen-client-urls: ["https://127.0.0.1:2379"]
67    advertise-client-urls: ["https://127.0.0.1:2379"]
68    auto-tls: true
69    client-cert-auth: false
70    cert-file: ""
71    key-file: ""
72    trusted-ca-file: ""
73    listen-peer-urls: ["https://127.0.0.1:2380"]
74    initial-advertise-peer-urls: ["https://127.0.0.1:2381"]
75    peer-auto-tls: true
76    peer-client-cert-auth: false
77    peer-cert-file: ""
78    peer-key-file: ""
79    peer-trusted-ca-file: ""
80    initial-cluster: s1=https://127.0.0.1:1381,s2=https://127.0.0.1:2381,s3=https://127.0.0.1:3381
81    initial-cluster-state: new
82    initial-cluster-token: tkn
83    snapshot-count: 2000
84    quota-backend-bytes: 10740000000 # 10 GiB
85    pre-vote: true
86    initial-corrupt-check: true
87    logger: zap
88    log-outputs: [/tmp/etcd-functional-2/etcd.log]
89    log-level: info
90  client-cert-data: ""
91  client-cert-path: ""
92  client-key-data: ""
93  client-key-path: ""
94  client-trusted-ca-data: ""
95  client-trusted-ca-path: ""
96  peer-cert-data: ""
97  peer-cert-path: ""
98  peer-key-data: ""
99  peer-key-path: ""
100  peer-trusted-ca-data: ""
101  peer-trusted-ca-path: ""
102  snapshot-path: /tmp/etcd-functional-2.snapshot.db
103
104- etcd-exec: ./bin/etcd
105  agent-addr: 127.0.0.1:39027
106  failpoint-http-addr: http://127.0.0.1:7383
107  base-dir: /tmp/etcd-functional-3
108  etcd-client-proxy: false
109  etcd-peer-proxy: true
110  etcd-client-endpoint: 127.0.0.1:3379
111  etcd:
112    name: s3
113    data-dir: /tmp/etcd-functional-3/etcd.data
114    wal-dir: /tmp/etcd-functional-3/etcd.data/member/wal
115    heartbeat-interval: 100
116    election-timeout: 1000
117    listen-client-urls: ["https://127.0.0.1:3379"]
118    advertise-client-urls: ["https://127.0.0.1:3379"]
119    auto-tls: true
120    client-cert-auth: false
121    cert-file: ""
122    key-file: ""
123    trusted-ca-file: ""
124    listen-peer-urls: ["https://127.0.0.1:3380"]
125    initial-advertise-peer-urls: ["https://127.0.0.1:3381"]
126    peer-auto-tls: true
127    peer-client-cert-auth: false
128    peer-cert-file: ""
129    peer-key-file: ""
130    peer-trusted-ca-file: ""
131    initial-cluster: s1=https://127.0.0.1:1381,s2=https://127.0.0.1:2381,s3=https://127.0.0.1:3381
132    initial-cluster-state: new
133    initial-cluster-token: tkn
134    snapshot-count: 2000
135    quota-backend-bytes: 10740000000 # 10 GiB
136    pre-vote: true
137    initial-corrupt-check: true
138    logger: zap
139    log-outputs: [/tmp/etcd-functional-3/etcd.log]
140    log-level: info
141  client-cert-data: ""
142  client-cert-path: ""
143  client-key-data: ""
144  client-key-path: ""
145  client-trusted-ca-data: ""
146  client-trusted-ca-path: ""
147  peer-cert-data: ""
148  peer-cert-path: ""
149  peer-key-data: ""
150  peer-key-path: ""
151  peer-trusted-ca-data: ""
152  peer-trusted-ca-path: ""
153  snapshot-path: /tmp/etcd-functional-3.snapshot.db
154
155tester-config:
156  data-dir: /tmp/etcd-tester-data
157  network: tcp
158  addr: 127.0.0.1:9028
159
160  # slow enough to trigger election
161  delay-latency-ms: 5000
162  delay-latency-ms-rv: 500
163
164  round-limit: 1
165  exit-on-failure: true
166  enable-pprof: true
167
168  case-delay-ms: 7000
169  case-shuffle: true
170
171  # For full descriptions,
172  # https://godoc.org/github.com/etcd-io/etcd/functional/rpcpb#Case
173  cases:
174  - SIGTERM_ONE_FOLLOWER
175  - SIGTERM_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT
176  - SIGTERM_LEADER
177  - SIGTERM_LEADER_UNTIL_TRIGGER_SNAPSHOT
178  - SIGTERM_QUORUM
179  - SIGTERM_ALL
180  - SIGQUIT_AND_REMOVE_ONE_FOLLOWER
181  - SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT
182  - BLACKHOLE_PEER_PORT_TX_RX_LEADER
183  - BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT
184  - BLACKHOLE_PEER_PORT_TX_RX_QUORUM
185  - BLACKHOLE_PEER_PORT_TX_RX_ALL
186  - DELAY_PEER_PORT_TX_RX_LEADER
187  - RANDOM_DELAY_PEER_PORT_TX_RX_LEADER
188  - DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT
189  - RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT
190  - DELAY_PEER_PORT_TX_RX_QUORUM
191  - RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM
192  - DELAY_PEER_PORT_TX_RX_ALL
193  - RANDOM_DELAY_PEER_PORT_TX_RX_ALL
194  - NO_FAIL_WITH_STRESS
195  - NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS
196
197  # TODO: use iptables for discarding outbound rafthttp traffic to peer port
198  # - BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER
199  # - BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT
200  # - DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER
201  # - RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER
202  # - DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT
203  # - RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT
204  # - SIGQUIT_AND_REMOVE_LEADER
205  # - SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT
206  # - SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_LEADER_SNAPSHOT_FROM_SCRATCH
207
208  failpoint-commands:
209  - panic("etcd-tester")
210  # - panic("etcd-tester"),1*sleep(1000)
211
212  runner-exec-path: ./bin/etcd-runner
213  external-exec-path: ""
214
215  # make up ±70% of workloads with writes
216  stressers:
217  - type: KV_WRITE_SMALL
218    weight: 0.35
219  - type: KV_WRITE_LARGE
220    weight: 0.002
221  - type: KV_READ_ONE_KEY
222    weight: 0.07
223  - type: KV_READ_RANGE
224    weight: 0.07
225  - type: KV_DELETE_ONE_KEY
226    weight: 0.07
227  - type: KV_DELETE_RANGE
228    weight: 0.07
229  - type: KV_TXN_WRITE_DELETE
230    weight: 0.35
231  - type: LEASE
232    weight: 0.0
233
234  # - ELECTION_RUNNER
235  # - WATCH_RUNNER
236  # - LOCK_RACER_RUNNER
237  # - LEASE_RUNNER
238
239  checkers:
240  - KV_HASH
241  - LEASE_EXPIRE
242
243  stress-key-size: 100
244  stress-key-size-large: 32769
245  stress-key-suffix-range: 250000
246  stress-key-suffix-range-txn: 100
247  stress-key-txn-ops: 10
248
249  stress-clients: 100
250  stress-qps: 2000
251