functional.yaml 7.2 KB

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