github.com/lfch/etcd-io/tests/v3@v3.0.0-20221004140520-eac99acd3e9d/functional/functional.yaml (about)

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