functional.yaml 6.9 KB

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